Scrape any page. Get clean data.
Five output formats, smart routing, native action macros, and an async pattern that handles batches of any size. One endpoint family for everything from a single URL to a hundred million.
Part of the full 124-endpoint surface — see the scraping bundle for the related endpoints.
Five formats, smart routing, zero maintenance.
Five output formats
Markdown for LLMs, HTML for fidelity, plain text for indexing, link arrays for crawling, original-source for diagnostics. Choose per request — no transcoding pipeline needed.
Smart routing
The smart-scrape endpoint detects whether a page needs JavaScript and routes accordingly. Static pages skip the browser and return in milliseconds; dynamic pages get the full stealth browser automatically.
Action macros
Drive clicks, typing, waits, scrolls, and form submissions from a JSON array. No Puppeteer or Playwright code — the same description works for every site.
Async with webhooks
Fire large batches, walk away, get a clean POST to your endpoint when each job completes. Built for production pipelines that should not hold connections open.
Examples that work today.
Drop any of these into a terminal or notebook.
curl -X POST https://api.ollagraph.com/v1/scrape \
-H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"format": "markdown",
"stealth": true,
"actions": [
{"type": "click", "selector": ".load-more"},
{"type": "wait", "ms": 2000}
]
}' # Auto-detect: static page = fast HTTP path; dynamic = full browser.
curl -X POST https://api.ollagraph.com/v1/scrape/smart \
-H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
-d '{"url": "https://example.com"}'
# Response includes render_mode: "http_only" | "headless" | "headless_fallback" # Up to 100 URLs in parallel, one response.
curl -X POST https://api.ollagraph.com/v1/scrape/batch \
-H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
-d '{
"urls": ["https://a.com", "https://b.com", "https://c.com"],
"concurrency": 10,
"format": "markdown"
}' Scraping questions
1 What formats does /v1/scrape return?
What formats does /v1/scrape return?
2 When should I use /v1/scrape vs /v1/scrape/smart?
When should I use /v1/scrape vs /v1/scrape/smart?
3 How big can a batch be?
How big can a batch be?
4 Does Ollagraph handle JavaScript-rendered single page apps?
Does Ollagraph handle JavaScript-rendered single page apps?
5 What about pages that require login?
What about pages that require login?
6 How do I scrape paginated content?
How do I scrape paginated content?
7 Is there a request timeout limit?
Is there a request timeout limit?
Start scraping in five minutes.
1,000 free credits, one bearer token, failed calls auto-refund.