Turn any web page into Markdown your model can read.

Send a URL, get back the article as clean Markdown with its title, author and date. Navigation, ads and cookie banners are removed, and pages that only exist after JavaScript runs are rendered in a real browser first.

Or try

The demo needs no account and allows 5 conversions every 10 minutes. Create an account for an API key with 1,000 free credits a month.

Into your own code in three steps

  1. Create an account

    1,000 credits every month are free, and no card is needed until you want more.

  2. Create an API key

    On the dashboard. It is shown once; send it as a bearer token.

  3. Send your first request

    With curl, the TypeScript client from the webforai package, or npx webforai on the command line.

shell
curl -X POST https://platform.webforai.dev/v1/scrape \
  -H "Authorization: Bearer $WEBFORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/article" }'
API reference →
POST /v1/scrapeOne page, right away
The Markdown and metadata come back in the same response.
POST /v1/batchUp to 100 URLs
Runs in the background with retries; read the results page by page when the job is done.
POST /v1/crawlA whole site
Follows links on the same site from a start URL, within the depth, page and path limits you set.

You only pay for a browser when the page needs one

Requests default to auto. It fetches the page plainly, and only if the HTML turns out to be an empty JavaScript shell or the site refuses the request does it run the page again in a browser. The response says which engine produced it, and that is the one you are billed for.

Set "region": "jp" to leave from Japanese IP addresses through the proxy pair instead.

fetch1 credit

Static pages: articles, docs, most blogs

needs JavaScript or blocked
browser2 credits

Single-page apps and bot-protected sites

Pin an engineHow it fetchesJapanese IPsScreenshot
fetchPlain HTTP request from Cloudflare's edge——
browserHeadless Chromium; runs the page's JavaScript—Yes
proxy-fetchHTTP request through a rotating proxyYes—
proxy-browserHeadless Chromium behind the rotating proxyYesYes

Pricing

One counter — credits — metered per successful page. From $1 per 1,000 pages, with 1,000 credits free every month and lower rates as volume grows.

Start free

Per 1,000 pages

What each engine costs once the free credits are used.

EngineCreditsPer 1k pagesAt volume
auto1–2$1.00–$2.00$0.50–$1.00
fetch1$1.00$0.50
browser2$2.00$1.00
proxy-fetch2$2.00$1.00
proxy-browser3$3.00$1.50

"At volume" is the rate above 1,000,000 credits in a month. Screenshot +1 credit, image rehosting +1 per started 5 images. Failed operations are never billed.

Credits per month

Pay as you go, no plans. Each rate applies only to the credits inside its band.

first 1,000free
1,001 – 100,000$0.001 / credit
100,001 – 1,000,000$0.0007 / credit
above 1,000,000$0.0005 / credit

Without a subscription the API stops at the free allowance with 402 payment_required — no surprise bills. No card required to start.

Estimate your month

For the default auto engine: pages that need JavaScript are rendered in a browser and billed at the browser rate.

Estimated monthly bill

$59.00

60,000 credits · $1.18 per 1k pages

Start with 1,000 free credits

That is 1,000 static pages or 500 rendered ones, every month.