{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"entry_sha256":"5f07693a27fb95e286f836c48aa0750011a213566518edb4cfc020cd89357c57","entry":{"id":"notion/integration","name":"Notion API connection (integration)","vendor":"Notion","summary":"Create an internal connection (static token for one workspace), a personal access token, or a public OAuth connection in the Notion Developer portal; Marketplace listing needs a Notion security review.","aliases":["notion/connection","notion-api"],"category":"productivity","group":"C","homepage":"https://developers.notion.com","docs":["https://developers.notion.com/docs/authorization","https://developers.notion.com/guides/get-started/public-connections","https://developers.notion.com/guides/get-started/internal-connections"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"authorization","url":"https://developers.notion.com/docs/authorization","title":"Authorization","accessed":"2026-10-25","supports":"Internal connections use a static API token for one workspace; public connections use OAuth 2.0 with installation scope Any workspace or Selected workspaces (not changeable); PATs act as the user; pages must be shared with an internal connection or requests error; OAuth access and refresh tokens.","kind":"official"},{"id":"overview","url":"https://developers.notion.com/docs/getting-started","title":"Overview","accessed":"2026-10-25","supports":"Public connections must pass a Notion security review before Marketplace listing; only \"Any workspace\" connections are Marketplace-eligible.","kind":"official"},{"id":"public_connections","url":"https://developers.notion.com/guides/get-started/public-connections","title":"Public connections","accessed":"2026-10-25","supports":"Create via Developer portal > Build > Public connections; fields include name, workspace, redirect URIs, installation scope, capabilities; client ID and secret in Configuration tab.","kind":"official"},{"id":"internal_connections","url":"https://developers.notion.com/guides/get-started/internal-connections","title":"Internal connections","accessed":"2026-10-25","supports":"Build > Internal connections > Create a new connection; API token in Configuration tab; no page access until content is shared.","kind":"official"},{"id":"release_2026_05","url":"https://www.notion.com/releases/2026-05-13","title":"Notion release notes, May 13, 2026","accessed":"2026-10-25","supports":"app.notion.com/developers is the dedicated Developer portal; any member can build connections (not just Workspace Owners).","kind":"official"},{"id":"limits","url":"https://developers.notion.com/reference/request-limits","title":"Request limits","accessed":"2026-10-25","supports":"600 requests/min per connection on Business and Enterprise, 180/min on other plans; data source queries about 3 req/s.","kind":"official"}],"allowed_domains":["app.notion.com","notion.so"],"account_model":{"summary":"Connections belong to a Notion workspace (development workspace for public connections).","accounts":[{"name":"Notion workspace","kind":"organisation","required":true,"note":"Older docs say only Workspace Owners create connections; the May 2026 release says any member can [to verify per workspace settings]."}]},"steps":[{"id":"create_internal","title":"Create an internal connection (single workspace)","summary":"In the Developer portal choose Build > Internal connections > Create a new connection, name it and pick the workspace, set capabilities.","route":"copilot","depends_on":[],"gate":"human_submit","url":"https://app.notion.com/developers","sources":["internal_connections","release_2026_05"]},{"id":"copy_token","title":"Copy the internal API token","summary":"Open the Configuration tab and copy the API token; keep it in an environment variable.","route":"copilot","depends_on":["create_internal"],"gate":"none","url":"https://app.notion.com/developers","capture":{"env":"NOTION_API_TOKEN","kind":"token"},"sources":["authorization"]},{"id":"share_pages","title":"Share pages with the connection","summary":"In each page's ••• menu choose Connections / Add connections and pick yours (or use the Content access tab); unshared pages return errors.","route":"guided","depends_on":["create_internal"],"gate":"human_submit","recovery":[{"hiccup":"API returns an object-not-found style error for a page you can see","fix":"Share that page (or a parent) with the connection.","source":"authorization"}],"sources":["authorization","internal_connections"]},{"id":"create_public","title":"Create a public OAuth connection (other workspaces)","summary":"Build > Public connections > Create new connection; enter name, development workspace, redirect URIs, capabilities, and installation scope (Any workspace is required for Marketplace and cannot be changed later).","route":"copilot","depends_on":[],"gate":"human_submit","url":"https://app.notion.com/developers","capture":{"env":"NOTION_OAUTH_CLIENT_SECRET","kind":"secret"},"optional":true,"sources":["public_connections","authorization"]},{"id":"marketplace_review","title":"List on the Notion Marketplace (optional)","summary":"Fill in listing details in the Listings section and submit; public connections must pass a Notion security review before listing.","route":"guided","depends_on":["create_public"],"gate":"third_party_review","url":"https://app.notion.com/developers","optional":true,"sources":["overview"]}],"outputs":[{"name":"NOTION_API_TOKEN","description":"Internal connection API token (or a personal access token)","secret":true,"example_format":"opaque token string","from_step":"copy_token"},{"name":"NOTION_OAUTH_CLIENT_ID","description":"Public connection OAuth client ID","secret":false,"example_format":"opaque id string","from_step":"create_public"},{"name":"NOTION_OAUTH_CLIENT_SECRET","description":"Public connection OAuth client secret","secret":true,"example_format":"opaque secret string","from_step":"create_public"}],"terms_notes":[{"kind":"rules_say","severity":"amber","text":"Installation scope is fixed at creation; \"Selected workspaces only\" connections can never be listed on the Marketplace.","source":"public_connections"}],"pricing_notes":{"notes":"Rate limits depend on plan (600/min per connection on Business and Enterprise, 180/min otherwise); no separate API fee found [to verify].","source":"limits"},"stripe_projects":false,"api_provisioning":{"available":"no","notes":"Connections are created in the Developer portal."}}}