developers.notion.com
Open in
urlscan Pro
2606:4700::6810:f176
Public Scan
URL:
https://developers.notion.com/docs
Submission: On October 13 via api from US — Scanned from DE
Submission: On October 13 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
Jump to Content HomeGuidesAPI ReferenceChangelogExamples -------------------------------------------------------------------------------- View my integrations Guides View my integrations HomeGuidesAPI ReferenceChangelogExamples Search CTRL-K Get startedIntroduction to Notion’s APIBuild your first integrationAuthorizationData APIsWorking with page contentWorking with databasesWorking with commentsWorking with files and mediaLink previewsIntroductionBuild a Link Preview integrationResourcesExample codePostman workspace All Guides Reference Pages START TYPING TO SEARCH… GET STARTED * Introduction to Notion’s API * Build your first integration * Authorization DATA APIS * Working with page content * Working with databases * Working with comments * Working with files and media LINK PREVIEWS * Introduction * Build a Link Preview integration RESOURCES * Example code * Postman workspace INTRODUCTION TO NOTION’S API Learn about Notion’s public API and building integrations. Suggest Edits USING NOTION’S PUBLIC API TO BUILD INTEGRATIONS Developers can use Notion’s public REST API to interact with Notion workspaces programmatically. Interactions include working with: * Pages * Databases * Users * Page and inline comments * Querying workspace content * Authenticating integrations * Customizing unfurled links All workspace interactions, such as the above, need to be attributed to a Notion user. To accommodate this requirement for interactions made programmatically, Notion allows for API requests to be attributed to a "bot". To define the capabilities of a bot, developers build integrations, which handle authenticating API requests for the bot, defining when requests should be made, and the read/write capabilities of the integration. In other words, using Notion’s public API means building an integration — the blueprint for how a bot can interact with your workspace — and attributing the REST API requests that are made to the bot. There are two main types of integrations: * Internal * Public, which include Link Previews Keep reading to learn more about types of integrations and some example ideas of what developers can build. Alternatively, jump to the API reference documentation to learn more about available endpoints, or see our collection of integration demos for sample code. WHAT IS A NOTION INTEGRATION? A Notion integration (sometimes referred to as a "connection") allows developers to interact with Notion workspaces programmatically. This allows developers to connect their Notion workspace data to other tools or automate workflows within Notion. Integrations are installed in Notion workspaces and require explicit permission from users to access Notion pages and databases. You can build Notion integrations that help collaborators expand what they can do with Notion There is a large library of existing integrations available to Notion users to improve their Notion experiences. For developers looking to build their own integration, they can create either public or internal integrations, both of which rely on the REST API to interact with workspaces. Let’s look deeper at what these two types of integrations are and how they differ. INTERNAL VS. PUBLIC INTEGRATIONS INTERNAL INTEGRATIONS An internal integration is tied to a single, specific workspace. Only members within the workspace can use the integration. They are created by Workspace Owners through the integration dashboard. > 📘 > > By default, all integrations start out as internal integrations. > > > > You can set an integration to public from the integration’s settings page. Once an internal integration has been added to a workspace, members must give the integration permission to access specific pages or databases through Notion’s UI. In order to add an internal integration to the workspace, a Notion member needs to be a Workspace Owner. If you don’t have admin access to the target workspace, then you can always develop the integration in a personal workspace, and later ask a Workspace Owner for assistance. > 📘 > > Workspace Owners can see all integrations created in the integration dashboard > — both ones they and others have created. To learn more about internal integrations, read our Create an integration and Authorization guides. PUBLIC INTEGRATIONS Public integrations are built for a broad audience. Any Notion user in any workspace can use a public integration. This is in contrast to internal integrations, which are built for a specific workspace. By default, all integrations start out as internal integrations and can be made public via the integration’s settings page. Public integrations follow the OAuth 2.0 protocol to access multiple workspaces. To share pages with public integrations, users either select pages from the page picker interface during the authorization flow, or they can share individual pages from the workspace. This is explained in more detail in our Authorization guide. > 📘 > > Add a template to an integration > > > > When you create a public integration, you can provide a URL to a Notion page > that a user can opt to duplicate in their workspace during the OAuth flow. > Learn more about using templates in the Authorization guide. WHAT YOU CAN BUILD: INTEGRATION USE CASES "Integrations" is a broad term in terms of what can be built with Notion’s REST API. Let’s look at some examples of different types of internal and public integrations that have been built with Notion. For code examples, see the Notion SDK for JavaScript's examples directory. DATA INTEGRATIONS You can use the Notion API to build an integration that sends data to and/or from Notion. For example, you can poll for changes to a Notion database to send automated emails, sync Notion with Github issues, or import data from an external source to a Notion database. > 👍 > > Related resources > > > > * Create an integration > * Working with comments > * Working with databases > * Working with files and media > * Working with page content LINK PREVIEW INTEGRATIONS Link Preview integrations are a type of public integration that handle how links unfurl. With a Link Preview integration, you can share an excerpt of content in Notion when an authenticated collaborator shares a supported link. Link Preview of a GitHub PR In other words, developers can build Link Preview integrations to allow links with a domain they own to unfurl in a customizable format. Since Link Preview integrations use OAuth 2.0, the main benefit of Link Preview integrations is being able to display information that requires users to be authenticated to view. Note: Authorizing Link Preview integrations differs from other public integrations. Use the Link Preview guide to set up authorization. > 👍 > > Related resources > > > > * Introduction to Link Preview integrations guide > * Build a Link Preview integration guide > * API reference docs for the Link Preview unfurl attribute object > * Help Centre guide > 🚧 > > To build a Link Preview integration, developers must first apply for access to > the feature through the Notion Link Preview API request form. > > Additionally, all Link Preview integrations published for distribution require > a review from Notion's platform and security teams. IDENTITY MANAGEMENT INTEGRATIONS Workspaces on Notion’s enterprise plan are granted access to a SCIM API. SSO using SAML can also be configured for enterprise workspaces. > 👍 > > Related resources > > > > * Provision users and groups with SCIM > * SAML SSO configuration -------------------------------------------------------------------------------- These examples represent just a few ideas. Join our Notion Devs Slack community to share your own ideas, and learn from other developers building with Notion. GETTING STARTED If you’re new to Notion’s public REST API and integrations, we recommend starting with the: * Create an integration guide Once you have a good idea of how to create an integration, continue learning with the following guides: * Authorization * Working with page content * Working with databases See our API reference docs for a list of available endpoints, a more in-depth description of each type of object used in Notion, and ensuring your integrations have the correct capabilities. > 👍 > > Notion SDK for JavaScript > > > > Notion has built an SDK for integrations built in a JavaScript environment to > simplify interacting the with REST API. We typically recommend JavaScript > developers use this SDK. KEY RESOURCES > 📘 > > Technology Partner Program > > > > If you’ve already built a public integration using our Public API or the Link > Previews API, you may be eligible to become a technology partner and receive > dedicated support from Notion, as well as access to exclusive distribution and > marketing opportunities. > See our Technology Partner Program page to learn more. * API reference documentation * Notion SDK for JavaScript * Postman collection * TypeScript starter template * FAQs * Notion Devs Slack community Updated about 2 months ago -------------------------------------------------------------------------------- Build your first integration Did this page help you? Yes No * Table of Contents * * Using Notion’s public API to build integrations * What is a Notion integration? * Internal vs. public integrations * Internal integrations * Public integrations * What you can build: Integration use cases * Data integrations * Link Preview integrations * Identity management integrations * Getting started * Key resources The all-in-one workspace for your notes, tasks, wikis, and databases. ©2022 Notion Labs, Inc. Terms & Privacy DEVELOPERS Guides API reference My integrations Developer terms NOTION Product Teams Enterprise Blog Careers COMMUNITY Slack Stack Overflow Twitter