Convert any Web Page into Clean Markdown in Milliseconds
Developer-first API built on Cloudflare Workers with zero latency and automatic rate limiting.
Try it live
Paste a URL and see the Markdown output instantly.
Built for developers
Everything you need, nothing you don't.
Lightning Fast
Runs on Cloudflare Workers at the edge — single-digit millisecond conversions, no cold starts.
Clean Output
Strips nav, ads, cookie banners and chrome. Keeps headings, lists, code blocks and tables — dense, LLM-ready Markdown.
Developer-Friendly
A plain REST endpoint with a JSON envelope. Drop-in examples for cURL, JavaScript and Python.
Smart Rate Limiting
Per-plan monthly quotas enforced automatically, with clear
RateLimit-* response headers.
Quickstart
One request, any language.
curl -X POST https://web-to-markdown.karlangas12.workers.dev/v1/convert \ -H "x-api-key: your_api_key" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com" }'const response = await fetch('https://web-to-markdown.karlangas12.workers.dev/v1/convert', { method: 'POST', headers: { 'x-api-key': process.env.WEB_TO_MARKDOWN_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com' }), }); const { data } = await response.json(); console.log(data.markdown);import os import requests response = requests.post( "https://web-to-markdown.karlangas12.workers.dev/v1/convert", headers={"x-api-key": os.environ["WEB_TO_MARKDOWN_API_KEY"]}, json={"url": "https://example.com"}, ) response.raise_for_status() print(response.json()["data"]["markdown"])
Simple, transparent pricing
Start free. Upgrade when you need more.
Pro
€5 /month
- 2,000 conversions / month
- Higher rate limit
- Priority support
Getting your API key
- 1. Subscribe to the Free or Pro plan through Polar.
- 2. We're notified of your subscription and issue your
x-api-key. - 3. Your key arrives by email shortly after — not instantly at checkout.
Questions before subscribing? Open an issue on GitHub.