Edge-Native & SSRF-Safe

One API for All Web Data

Universal scraping for any website, SERP, YouTube, and social media. Built on Cloudflare Workers for global edge performance with built-in SSRF protection.

POWERING AI & AUTOMATION AT

LangChain
LlamaIndex
OpenAI
Zapier
Make
n8n
curl -X POST https://api.scraper.dev/api/v1/scrape \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "render": false}'
Tip: set render: true for JS renderingSSRF-Safe

Everything you need to ship

Use light mode for speed and heavy mode for complex sites. Built-in quotas, rate limiting, and logging.

Secure by Default

SSRF protection, hashed API keys, and audit logs help keep you safe.

JavaScript Rendering

Heavy mode uses browser rendering for SPAs and dynamic sites.

Screenshots

Capture viewport or full-page screenshots in PNG/JPEG/WEBP.

Edge Performance

Low-latency scraping powered by Cloudflare global network.

Developer Friendly

Clean REST API with request IDs and structured errors.

Fast to Integrate

One endpoint, sensible defaults, and quick examples.

How it works

Ship scraping without managing proxies, browsers, or infrastructure.

  1. Create an API key

    Sign in with GitHub, generate a key in the dashboard, and keep it somewhere safe.

  2. Send a request

    POST a URL to /api/v1/scrape for HTML, or /api/v1/screenshot for images. Add render: true for SPAs.

  3. Extract what you need

    Use CSS selectors to target specific elements. Every response includes a request_id for debugging.

FAQ

Common questions about rendering, limits, and security.

What is the difference between light and heavy scraping?

Light mode fetches raw HTML quickly. Heavy mode renders JavaScript using a real browser, which is better for SPAs and dynamic sites.

How do I enable JavaScript rendering?

Set render: true in your /api/v1/scrape request. You can also use wait_for to wait for a selector before extracting.

Do you block private networks (SSRF)?

Yes. Requests to localhost, private IP ranges, cloud metadata endpoints, and dangerous ports are blocked by default.

What do I send when reporting a bug?

Include the request_id from the API response, plus the endpoint and timestamp. That makes issues traceable in logs.

Ready to start scraping?

Create your API key in minutes. Free tier includes 100 requests/day.

Scraper API - Web Scraping Made Simple | Scraper API