Skip to main content
webscrape.ai fetches pages and gives you structured JSON, raw HTML, markdown, or a replayable browser run. One API key — no proxies, selectors, or headless browsers to manage.

Get started

Get an API key

Sign up and generate a wsg_live_... key. New accounts start with 500 credits.

Open the playground

Try every endpoint in the browser before you write a line of code.
Building with an AI assistant? Point it at /llms.txt for a flat, machine-readable index of every page.

What you can do

SmartScraper

Give a URL and a JSON schema, get validated structured data back.

Scrape

Raw HTML, cleaned markdown, or PDF. Optional stealth for protected sites.

SmartBrowse

Replay clicks, typing, and pagination on real Chrome.

SmartScraper

POST /v1/smartscraper pulls structured JSON from a URL against a schema you provide. Handles long content, noisy pages, and one automatic repair pass on validation failure. 5 credits per call (+5 with stealth).
curl https://api.webscrape.ai/v1/smartscraper \
  -H "X-API-Key: wsg_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "website_url": "https://news.ycombinator.com",
    "user_prompt": "Extract the front-page stories with title and score.",
    "output_schema": {
      "type": "object",
      "properties": {
        "stories": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {"type": "string"},
              "score": {"type": "integer"}
            }
          }
        }
      }
    }
  }'
{
  "status": "completed",
  "data": {
    "result": {
      "stories": [
        { "title": "Show HN: ...", "score": 312 },
        { "title": "Ask HN: ...", "score": 184 }
      ]
    },
    "latency_ms": 1842
  },
  "credits_used": 5,
  "credits_remaining": 495,
  "request_id": "req_aB3xY9Kp"
}
Your extracted data is at data.result. Always check status before reading anything else.
Full SmartScraper reference

Scrape

POST /v1/scrape fetches a page and returns HTML by default. Pass clean: true for cleaned markdown, or extract_links: true for a deduplicated outbound-link list. PDFs come back as markdown. Flip on stealth when a site fights back. 1 credit per call (+2 with stealth).
curl https://api.webscrape.ai/v1/scrape \
  -H "X-API-Key: wsg_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "website_url": "https://example.com",
    "clean": true
  }'
{
  "status": "completed",
  "data": {
    "html": "# Example Domain\n\nThis domain is for use in...",
    "content_type": "html",
    "cleaned": true,
    "metadata": { "title": "Example Domain", "description": null, "language": null },
    "latency_ms": 142
  },
  "credits_used": 1,
  "credits_remaining": 494,
  "request_id": "req_aB3xY9Kp"
}
content_type is html or pdf (PDFs auto-convert to markdown, with data.html carrying the markdown).
Full Scrape reference

SmartBrowse

Build a recipe visually in the studio — clicks, typing, scrolling, pagination. Dispatch it on demand or on a schedule. Recipes run in a real Chrome session. 2 credits per page extracted. Runs are async. Dispatch returns a queued envelope with a poll URL. Poll until the run finishes, or set up a webhook to be notified.
curl -X POST https://api.webscrape.ai/v1/smartbrowse/recipes/m3Yc2tFvN8q/run \
  -H "X-API-Key: wsg_live_..."
{
  "status": "queued",
  "data": {
    "run_id": "k7Xb9dRmQ2p",
    "recipe_id": "m3Yc2tFvN8q",
    "run_status": "running",
    "poll_url": "/v1/smartbrowse/runs/k7Xb9dRmQ2p",
    "created_at": "2026-05-21T17:42:01Z"
  },
  "request_id": "req_aB3xY9Kp"
}
Then poll GET /v1/smartbrowse/runs/{id} until data.run_status is completed or failed.
Full SmartBrowse reference

More capabilities

Stealth mode

A per-request flag for sites that block the default fetcher.

Credits & pricing

Per-endpoint costs and stealth surcharges.

Resources

API reference

Every endpoint. Request and response schemas. Authentication. Rate limits.

OpenAPI spec

Drop into Postman, OpenAPI Generator, or anything that consumes 3.1.

Dashboard

Keys, usage, billing, recipes, webhooks.

Support

Email us with your request_id if something looks wrong.