Any page,
clean Markdown.
Send a URL, get the page back as raw HTML, cleaned Markdown, or a deduplicated link map — in a single call. The fetching, cleaning, and format conversion are handled for you.
- HTML, cleaned Markdown, or a link map
- PDFs auto-converted to Markdown
- 1 credit per fetch
<div class="wrapper"> <nav>…</nav> <h1>Launch day</h1> <p>We shipped it.</p> <aside class="ad">…</aside> </div>
# Launch day We shipped it. — boilerplate & ads dropped
Fetch a page as Markdown
Authenticate with X-API-Key. Send a website_url; add clean: true for Markdown or extract_links: true for a link map.
# fetch a page as cleaned markdown curl -X POST https://api.webscrape.ai/v1/scrape \ -H "X-API-Key: $WSG_KEY" \ -H "Content-Type: application/json" \ -d '{ "website_url": "https://example.com/blog/launch", "clean": true }'
// markdown arrives at data.html { "status": "completed", "data": { "request_id": "req_aB3xY9Kp", "html": "# Launch day\n\nWe shipped it.", "content_type": "html", "cleaned": true, "metadata": { "title": "Launch day", "language": "en" }, "latency_ms": 214 }, "credits_used": 1, "credits_remaining": 499, "request_id": "req_aB3xY9Kp" }
Fetching, minus the babysitting
The parts that break your own scraper — retries, cleaning, PDFs, formats — are handled behind one call.
Markdown in one flag
Set clean:true and get readable Markdown instead of raw HTML — boilerplate stripped, inline images reduced to their alt text.
Browser-grade fetching
Set stealth to render a page in a real browser when a plain HTTP fetch is not enough — full JavaScript and real fingerprints.
Managed fetch infrastructure
Requests leave through managed fetch infrastructure, not your server's IP, and retry on 403, 429, and 5xx with exponential backoff.
PDF to Markdown
Point at a PDF and it comes back as extracted Markdown. The content_type field tells you whether an HTML or PDF path ran.
DOM filtering & links
include_tags and exclude_tags trim the DOM before cleaning; extract_links returns a deduplicated map of outbound links with anchor text.
Opt-in caching
Add max_age to serve a fresh-enough cached copy so you don't pay to refetch pages that haven't changed since last time.
Need more than the raw page?
Fetch your first page now.
500 free credits on signup — no card. That is 500 clean fetches before you spend a thing.