API Reference Card
All examples use
NOTION_API_KEY (an internal integration token starting with ntn_ or secret_) and MAVERA_API_KEY. The integration must be explicitly shared with each database or page it accesses — open the page in Notion → ⋯ → Connections → add your integration.Prerequisites
1
Create a Notion integration
Go to notion.so/my-integrations → New integration → select workspace → copy the Internal Integration Token.
2
Share pages/databases with the integration
Open each Notion database or page → click ⋯ → Connections → find your integration → Confirm. Without this, API calls return 404.
3
Mavera API key
Get your key from Mavera dashboard.
4
Environment variables
Jobs
Rate Limits & Production Notes
Production checklist:
- Authentication: Internal integration tokens don’t expire but are workspace-scoped. For multi-workspace apps, use OAuth 2.0 public integrations.
- Version header: Always include
Notion-Version: 2022-06-28. Omitting it may return unexpected response shapes. - Pagination: All list endpoints return max 100 items. Use
next_cursor/has_moreto paginate. - Block limits: Append calls accept max 100 blocks. Rich text content is limited to 2000 characters per text object.
- Caching: Cache Notion database schemas and page metadata. Re-fetch page content only when
last_edited_timechanges. - Mavera credits: Monitor usage at Dashboard. Generation and Focus Group calls consume the most credits.