Notion to Markdown avatar

Notion to Markdown

Pricing

from $50.00 / 1,000 page converteds

Go to Apify Store
Notion to Markdown

Notion to Markdown

Convert Notion pages to clean Markdown with automatic image download, hosting, and optimization.

Pricing

from $50.00 / 1,000 page converteds

Rating

0.0

(0)

Developer

Lucen

Lucen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

An Apify Actor that converts a single Notion page into Markdown. Optionally downloads every image referenced by the page, optimizes it with sharp (resize + re-encode to WebP/JPEG), and rewrites the Markdown so images keep working long after Notion's signed-URL expiration window.

What it does

  1. Accepts a Notion integration token and a page reference (ID, UUID, or URL).
  2. Fetches the page via the Notion API.
  3. Converts blocks to Markdown.
  4. For each image block (if enabled):
    • Downloads the image.
    • Optimizes it (resize to maxWidth, re-encode to the chosen format at the chosen quality).
    • Stores the result in the run's key-value store.
    • Rewrites the Markdown reference to point at the stored copy.
  5. Writes the final Markdown to the key-value store as page.md.
  6. Emits a dataset record summarizing the run.

GIFs and SVGs are stored as-is — re-encoding them would lose animation / vector data.

Input

FieldTypeDefaultNotes
notionTokenstring (secret)Internal integration token. The integration must be shared with the target page.
pageIdstringRaw ID, dashed UUID, or full Notion URL.
downloadImagesbooleantrueIf off, Markdown keeps original Notion S3 URLs (which expire).
optimizeImagesbooleantruePasses downloaded images through sharp.
imageFormatenumwebpwebp, jpeg, or original (keeps source format, still resizes).
maxWidthinteger2400Wider images are scaled down. Smaller ones are left alone.
qualityinteger85Encoder quality for WebP/JPEG.
relativeImagePathsbooleanfalseIf on, Markdown references ./images/<filename> instead of a public Apify URL — useful when you want a portable bundle.

Output

Key-value store

  • page.md — the converted Markdown.
  • images/<filename> — each downloaded image.

Dataset (one record per run)

{
"pageId": "…",
"title": "…",
"markdownUrl": "https://api.apify.com/v2/key-value-stores/…/records/page.md",
"imageCount": 5,
"images": [{ "filename": "hero.webp", "url": "https://…" }],
"downloadImages": true,
"optimizeImages": true,
"imageFormat": "webp",
"relativeImagePaths": false
}

Getting a Notion token

  1. Visit https://www.notion.so/my-integrations and create an internal integration.
  2. Copy the token (it starts with secret_ or ntn_).
  3. Open the Notion page you want to convert, click the ··· menu → Connections → add your integration.

Without step 3 the Actor will get a 404 when it tries to read the page.