URL → Markdown

URL to Markdown API

Turn any webpage into clean, LLM-ready Markdown — a real headless browser renders the JavaScript, then strips nav, ads and boilerplate. One HTTP call, one endpoint.

GET /v1/read?url=...&format=markdown returns the page's main content as Markdown — the shape an LLM actually wants, not a wall of raw HTML tags. Because it renders the page first, client-rendered sites (React/Vue SPAs, most modern docs) come back with real content instead of an empty <div id="root">, which a plain fetch() can't give you.

Try it

request
curl "https://api.rasterly.dev/v1/read?url=https://stripe.com/docs&format=markdown" \
  -H "X-Api-Key: sk_live_..."
response — text/markdown
# Stripe Docs

Stripe's suite of APIs powers payment processing, billing, and
financial workflows for internet businesses of every size.

## Get started

[Create an account](https://dashboard.stripe.com/register) and
grab your API keys from the Dashboard.

...

Swap format=markdown for format=text for plain text, or format=json for the full payload: { url, title, description, markdown, text, wordCount, links }.

Why rasterly

A screenshot and a Markdown read are the same underlying job — render a URL in a real browser. rasterly reuses one browser process across requests instead of spinning one up per call, so a warm render is about a second of CPU. That's the whole reason the price can be from $0.90 per 1,000 calls with a 100/mo free tier, rather than a per-render fee built for enterprise invoices. It's a young product with one job done well, not a platform with fifty knobs.

FAQ

Does it render JavaScript before converting to Markdown?
Yes — /v1/read runs a real headless Chromium browser, waits for the page to render, then converts. Client-rendered React/Vue/docs sites come back with actual content instead of an empty root div.
How is this different from a raw HTML-to-Markdown converter?
A converter just reformats whatever HTML you give it, chrome and all. /v1/read renders the live URL first, then strips nav, ads, cookie banners and boilerplate before converting — so you get the article, not the page.
What does it cost?
100 renders/month free, then from $0.90 per 1,000 calls. Same price as a screenshot — it's the same one-render engine, just returned as Markdown.
Can I use this to feed a whole site into an LLM or RAG pipeline?
For a single page, use /v1/read. For a whole site, pair it with /v1/crawl, which follows same-origin links and returns every page as Markdown in one call.
Start free — 100 renders Try the live demo