Skip to content

Notion

Read Notion databases: each page is a row and its properties are columns.

Connect it in the console under Integrations > Connectors. See Connectors for how connectors work and who can use them.

Create an internal integration in Notion (Settings > Connections > Develop or manage integrations) with the Read content capability, and copy its secret. Then open each database, choose … > Connections, and add the integration.

SettingNotes
Internal integration tokenRequiredStored encrypted and never shown again.
TableFiltersReturns
databasesstart_cursorDatabases shared with the integration.
pagesdatabase_id (required), filter, start_cursorPages (rows) of one database, properties flattened.
Terminal window
curl -s -X POST "https://api.vaif.studio/database/connector/$VAIF_PROJECT_ID/query" \
-H "Authorization: Bearer $VAIF_TOKEN" -H "Content-Type: application/json" \
-d '{"wrapperId":"notion_fdw","table":"pages","filters":{"database_id":"0123456789abcdef0123456789abcdef","filter":"{\"property\":\"Status\",\"status\":{\"equals\":\"Published\"}}"},"limit":50}'

$VAIF_TOKEN is a console access token. See Connectors for the routes.

Give the integration the Read content capability only. filter takes Notion’s filter JSON, and properties come back flattened to plain values.