This guide covers the most common issues users encounter when using the Mark2Notion API. Each section includes the error message, what causes it, and how to fix it.Documentation Index
Fetch the complete documentation index at: https://docs.mark2notion.com/llms.txt
Use this file to discover all available pages before exploring further.
Table Conversion Issues
Table Cell Count Mismatch
Error: Number of cells in table row must match the table width of the parent table
Error: Number of cells in table row must match the table width of the parent table
- Missing pipe separators (
|) in markdown table rows - Extra or missing cells in some rows
- Malformed table syntax with inconsistent column counts
- Copy-pasted tables from other sources with formatting issues
- Check your markdown table syntax:
-
Validate your table before sending:
- Count the number of
|separators in each row - Ensure header, separator, and all data rows have the same column count
- Use a markdown editor with table validation
- Count the number of
- Handle empty cells properly:
Page and Block Access Issues
Invalid Page ID Format
Error: page_id should be a valid uuid
Error: page_id should be a valid uuid
- Copying page ID from URL without hyphens
- Using the page title or slug instead of ID
- Including quotes or extra characters around the ID
- Passing
"null"or"<string>"as the page ID
- Easiest: pass the full Notion page URL — the API normalizes it automatically:
-
Or pass just the page ID (with or without hyphens):
- Copy the 32-character ID from the end of the page URL
- Example with hyphens:
1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p - Example without hyphens:
1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
-
Don’t use these as page IDs:
- ❌ Page titles:
"My-Multi-Category-Document" - ❌ Literal strings:
"null","<string>"
- ❌ Page titles:
Page or Block Not Found
Error: Could not find page with ID
Error: Could not find page with ID
- Page not shared with your integration
- Page was deleted or moved
- Using an old/expired page ID
- Wrong workspace (integration in different workspace than page)
- Page is in a private database
-
Check your Notion connection in the dashboard:
- Make sure your Notion workspace is connected via OAuth
- The connected account must have access to the target page or its parent page/database
- Try reconnecting if you recently moved or restructured pages
-
Verify the page exists:
- Try opening the page URL in your browser
- Check if the page was recently deleted or archived
- Confirm you’re in the correct workspace
-
If using a manual
notionToken:- Share the page with your integration via ··· → Connections → Add connection
- For pages in databases, share the entire database — individual pages inherit access
-
Check integration permissions:
- Go to notion.so/my-integrations
- Verify the integration is active and has “Content” capabilities
Block ID Used Instead of Page ID
Error: Provided ID is a block, not a page
Error: Provided ID is a block, not a page
pageId parameter. All endpoints require a page ID, not a block ID.Solutions:-
Use the parent page ID:
- Get the ID of the page that contains the block
- The page ID is in the URL when you open the page
- Use this page ID in the
pageIdparameter
-
Want to insert after a specific block?
- Use the page ID in the
pageIdparameter - Pass the block ID in the
afterparameter
- Use the page ID in the
- Identify the difference:
Database ID Used Instead of Page ID
Error: Provided ID is a database, not a page
Error: Provided ID is a database, not a page
-
Create a page in the database first:
- You cannot append content directly to a database
- Create a new page in the database, then append to that page
- Or get the ID of an existing page in the database
-
Get a page ID from the database:
- Open a page within the database
- Copy that page’s ID from the URL
- Use that page ID for your API request
Archived Block Access
Error: Can't edit block that is archived
Error: Can't edit block that is archived
-
Unarchive the page/block:
- Open the page in Notion
- Click “Restore”
-
Check page status before editing:
- Verify the page is not in the trash
- Ensure the parent page/database is not archived
Notion API Limitations
Rich Text Length Exceeded
Error: rich_text.length should be ≤ 100
Error: rich_text.length should be ≤ 100
Text Content Length Exceeded
Error: text.content.length should be ≤ 2000
Error: text.content.length should be ≤ 2000
Request Validation Errors
Missing Required Fields
Error: Field is required
Error: Field is required
- Check required fields per endpoint:
-
Common mistakes:
- ❌ Sending empty strings:
markdown: "" - ❌ Wrong data types:
pageId: 123(should be string) - ❌ Empty arrays:
blocks: [] - ❌ Undefined/null values:
pageId: null
- ❌ Sending empty strings:
Empty or Invalid Markdown
Error: Markdown cannot be empty / No blocks generated
Error: Markdown cannot be empty / No blocks generated
-
Ensure non-empty content:
- Markdown must contain actual text content, not just whitespace or newlines
- Check that your markdown string is not empty before sending
-
Common invalid content:
- ❌ Empty strings:
"" - ❌ Only whitespace:
" " - ❌ Only newlines:
"\n\n\n" - ✅ Valid:
"# Hello World"or any text with letters/numbers
- ❌ Empty strings:
-
Validate before sending:
- Trim whitespace and check if the result has actual content
- Ensure the markdown contains at least some alphanumeric characters
Invalid JSON in Request
Error: Invalid JSON / Malformed JSON
Error: Invalid JSON / Malformed JSON
- Unescaped special characters in strings (newlines, quotes, backslashes)
- Form-encoded data instead of JSON
- Syntax errors (missing commas, brackets, quotes)
- Incorrect Content-Type header
- Use proper JSON encoding:
- Set correct Content-Type header:
- Don’t use form encoding:
- Escape special characters:
Authentication Issues
Invalid API Token
Error: API token is invalid
Error: API token is invalid
- Check your Notion connection in the dashboard — reconnect your workspace if needed
-
If using a manual
notionToken:- Go to notion.so/my-integrations
- Verify the integration is active (not deleted)
- Regenerate a new secret if needed
- Tokens start with
ntn_— check for extra spaces when copying
Missing API Key
Error: Missing x-api-key header
Error: Missing x-api-key header
Rate Limiting and Usage
Quota Exceeded
Error: Usage quota exceeded
Error: Usage quota exceeded
-
Check your usage:
- Monitor your usage in the dashboard
-
Wait for reset:
- Free tier quotas reset monthly
- Check when your next billing period starts
-
Upgrade your plan:
- Visit the dashboard to upgrade to a higher tier
- Higher tiers offer more requests per month
Usage Counter Not Found
Error: No usage counter found for current period
Error: No usage counter found for current period
-
Retry the request:
- This is usually a transient error
- Wait a few seconds and try again
-
If it persists:
- Contact support through the feedback page
Notion-Specific Errors
Conflict on Save
Error: Conflict occurred while saving
Error: Conflict occurred while saving
-
Retry the request:
- This is usually a transient error
- Wait a few seconds and try again
- Use exponential backoff (wait longer between each retry)
-
Avoid concurrent edits:
- Don’t make multiple simultaneous requests to the same page
- Implement request queuing for frequent updates
Notion API Timeout
Error: Request to Notion API has timed out
Error: Request to Notion API has timed out
- Very large content being processed
- Notion API experiencing slowdowns
- Complex markdown with many blocks
-
Retry the request:
- Notion may be experiencing temporary issues
- Wait a few seconds before retrying
-
Break up large requests:
- If sending very large content, split it into smaller chunks
- Send chunks separately with small delays between requests
- This prevents timeouts and improves reliability
-
Monitor Notion status:
- Check Notion’s status page
- If Notion is down, wait for recovery