Source connector
Notion connector
Notion integration for databases, warehouses and BI tools
Connected workspace of docs and databases. Datrise captures Notion entities such as pages, databases, database rows, properties, blocks and comments, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Notion API (Notion-Version 2026-03-11) authenticates with personal access token, OAuth 2.0, incremental runs key on last_edited_time, and Notion caps calls at Average of 3 requests per second per integration, with short bursts above that average tolerated; the shared per-workspace ceiling scales by plan and has no fixed published number.
Of the 6 objects, 6 sync as upserts keyed on the primary key and 0 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `notion_pages`) with a schema derived from the Notion API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Notion pipeline page, and join the waitlist to get the Notion connector (CRM) with guided onboarding.
What Notion data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| pages | notion_pages | Upsert by primary key, incremental on updated-at |
| databases | notion_databases | Upsert by primary key, incremental on updated-at |
| database rows | notion_database_rows | Upsert by primary key, incremental on updated-at |
| properties | notion_properties | Upsert by primary key, incremental on updated-at |
| blocks | notion_blocks | Upsert by primary key, incremental on updated-at |
| comments | notion_comments | Upsert by primary key, incremental on updated-at |
Notion API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | Notion API (Notion-Version 2026-03-11) |
|---|---|
| Authentication | personal access token, OAuth 2.0 — Internal integrations use a static bearer token created in the Notion developer portal and manually shared to pages; public integrations use an OAuth 2.0 authorization-code flow with refreshable tokens. |
| Pagination | cursor — Paginated endpoints take `start_cursor` and `page_size` (default and max 100) and return `has_more` plus `next_cursor` to fetch the next page. |
| Rate limit | Average of 3 requests per second per integration, with short bursts above that average tolerated; the shared per-workspace ceiling scales by plan and has no fixed published number. |
| Incremental cursor | last_edited_time — last_edited_time is filterable/sortable via the search endpoint, but search is eventually consistent, so tight polling loops can miss very recent edits. |
| Webhooks | Yes — Notion webhooks (HMAC-SHA256 signed HTTP POST subscriptions) |
| Bulk export | No |
| Deletes detectable | Yes — `in_trash` boolean on pages/data sources; the older `archived` field is now a deprecated alias that always mirrors `in_trash` |
What bites when replicating Notion
- Rich_text and other array-type properties are capped at 100 elements per API operation, with individual rich_text/URL strings capped at 2000 characters; paginate block children to retrieve the rest.
- `page_size` for every paginated endpoint (search, query, list block children, list users) defaults to and maxes out at 100 items, so large workspaces need many round trips via `next_cursor`.
- Overall request payloads are capped at 500KB and 1000 block elements per call; oversized page bodies must be chunked across multiple append-children calls.
- `archived` is a deprecated alias that always mirrors `in_trash` — code still branching on `archived` alone will silently miss the canonical field.
Popular destinations for Notion
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Notion connector FAQ
- What Notion data does the connector extract?
- 6 objects: pages, databases, database rows, properties, blocks and comments. Each lands in its own table with types preserved; history-style objects (0) load as append-only streams.
- Is the Notion integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Notion data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Notion → destination pair has its own page with the object-to-table mapping.
Related CRM sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Notion pipeline with guided onboarding
Join the waitlist to get priority access for Notion integrations with guided setup, schema-aware mapping, and production-grade incremental sync.