Export Notion Pages to Markdown

Back up your Notion content, sync to static sites, or track changes in Git. Convert any Notion page to clean Markdown (notion2markdown) with a single API call.

Why Export Notion to Markdown?

Transform your Notion content into portable, version-controlled Markdown:

πŸ’Ύ
Content Backup β†’ Export pages to Markdown for safe, portable backups
πŸ“š
Documentation Sync β†’ Keep docs in Notion, export to static site generators
πŸ”„
Version Control β†’ Track Notion content changes with Git
πŸš€
Content Migration β†’ Move content from Notion to other platforms

Setup

What You'll Need

Two simple steps to start exporting:

1. Get Your Mark2Notion API Key

Sign up free β€’ 100 requests/month included

2. Connect Notion in the Dashboard

Visit dashboard.mark2notion.com and click "Connect Notion" to authorize access to your workspace. No integration tokens or manual page sharing needed.

Copy-Paste Examples

Export a Notion Page

curl -X POST "https://api.mark2notion.com/api/notion-to-markdown" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "pageId": "https://notion.so/Your-Page-Title-abc123def456"
  }'

πŸ“– Getting the Page URL or ID: Copy it from your Notion URL: https://notion.so/Page-Title-[PAGE_ID_HERE]

Understanding the Response

πŸ“„ Simple Page Response
{
  "status": "success",
  "data": {
    "markdown": {
      "parent": "# My Page\n\nContent here..."
    },
    "pageId": "abc123..."
  }
}

Access parent content with data.markdown.parent

πŸ“š Page with Child Pages
{
  "status": "success",
  "data": {
    "markdown": {
      "parent": "# Main Page\n...",
      "Child Page 1": "## Content...",
      "Another Child": "## More..."
    },
    "pageId": "abc123..."
  }
}

Child pages are separate properties named by their title

πŸ’‘ Pro Tip: Handling Child Pages

Iterate over all pages including children:

// JavaScript example
Object.entries(result.data.markdown).forEach(([title, content]) => {
  console.log(`Page: ${title}`);
  console.log(content);
});

Comprehensive Export

All Your Notion Content, Perfectly Preserved

Every block type converted to clean, standard Markdown.

Text & Formatting
Headings, paragraphs, bold, italic, code, quotes, callouts, and lists (bulleted, numbered, to-do).
Tables & Code Blocks
Full table support with headers. Code blocks preserve syntax highlighting language tags.
Images & Media
Both uploaded and external images converted to standard Markdown image syntax.
Child Pages & Structure
Child pages exported separately, preserving your content hierarchy.

Troubleshooting

Can't find the answer you're looking for? Check the API documentation or reach out to customer support.

"Unauthorized" or connection error
  • Make sure your Notion workspace is connected in the dashboard
  • Try reconnecting your Notion workspace from the dashboard settings
"Page Not Found" or "Access Denied"
  • Verify the page URL or ID is correct (copy directly from Notion)
  • Make sure your connected Notion workspace has access to this page
Rate limit exceeded
Child pages not appearing
  • Your integration must have access to child pages too
  • Share the parent page with the integration - child access is inherited
  • Check that child pages aren't archived or deleted

Start backing up your Notion content today

100 free exports per month. No credit card required.

Guides

Learn how to integrate Mark2Notion into your automation workflows, handle complex scenarios, and get the most out of our API.