Markdown API · Cloudflare Workers · MIT Stack

One POST.
Structured JSON
from any Markdown.

Send raw Markdown, get a typed JSON object back — frontmatter, GFM tables, tasklists, heading tree, links, code. No client-side parser, no edge-case handling.

Built for docs pipelines and RAG.
Scroll
What You Get Back

Every structural element,
split out and typed.

A single endpoint returns every piece of your Markdown document as structured, predictable JSON.

📂

Frontmatter as Object

YAML and TOML metadata blocks parse into a typed frontmatter field. No second gray-matter step on your side.

📑

Nested Heading Tree

Headings become a nested sections tree by depth. Drop straight into navigation UIs or use as RAG chunk boundaries.

GFM Defaults On

Tables return as JSON arrays. Tasklists surface checked state. Strikethrough and autolinks handled.

p95 Under 150ms

Stateless parse on Cloudflare Workers. No queues, no cold starts. Same response time on request #1 as on request #100,000.

📐

Stable Schema

Same Markdown in, same JSON out. Documented in an OpenAPI 3.0 spec. No silent renames, no shape drift between versions.

🔒

Per-Key Rate Limits

100 req/day soft cap per RapidAPI key. Returns 429 with retryAfter. Abuse on one key never starves another.

Send Markdown. Get JSON.

One endpoint. Raw body.
Instant structure.

The response is one object with every structural element split out, ready for your pipeline.

curl example
bash
# request curl -X POST https://md2json.p.rapidapi.com/v1/parse \ -H "content-type: text/markdown" \ -H "X-RapidAPI-Key: YOUR_KEY" \ --data '--- title: Project Alpha status: shipping --- # Project Alpha ## Tasks - [x] Ship MVP - [ ] Polish docs | Module | Status | |--------|--------| | API | Done |' # response { "success": true, "data": { "title": "Project Alpha", "frontmatter": { "title": "Project Alpha", "status": "shipping" }, "headings": [ { "level": 1, "text": "Project Alpha" }, { "level": 2, "text": "Tasks" } ], "tasklists": [{ "items": [ { "text": "Ship MVP", "checked": true }, { "text": "Polish docs", "checked": false } ]}], "tables": [{ "headers": ["Module", "Status"], "rows": [{"Module":"API","Status":"Done"}] }] } }
Why This Is Different

Built for the way Markdown
is actually written in 2026.

Capability md2json Other Markdown-to-JSON
Frontmatter parsed as object Yes No
Headings as nested tree Yes Flat list only
Tasklists with checked state Yes No
Edge-native (no cold starts) Yes Traditional host
Upstream license MIT remark Proprietary
Pricing

Simple, transparent tiers.
Scale when you're ready.

Free
For trying it out and small side projects.
$0/mo
100 requests / day
  • Frontmatter parsing
  • Nested headings tree
  • GFM tables & tasklists
  • OpenAPI 3.0 spec
Ultra
For high-traffic tools that need every mdast node.
$29/mo
100,000 requests / day
  • Everything in Pro
  • Full mdast AST output
  • Highest rate limits
  • Priority support
Launch Notification

Be first to know when it ships

The API is live on Cloudflare; RapidAPI listing is in review. Drop your email — one launch note, then silence.