The web, as an API.

A web scraping API that turns any URL into clean, schema-validated JSON. Fetch pages, extract data, replay logins or drive a cloud browser, all from one credit balance.
Get an API key 500 free credits · no card
Try in playground
  • Billed only on success
  • Browser-grade fetching
runs live · no signup
https://
// smartscraper · smartbrowsePrompt it, or record itSmartScraper reads the page from a prompt; SmartBrowse records the clicks & logins that reach it.
~/wsai — smartscraperlive

SmartScraper — a URL and a plain-English prompt in, schema-validated JSON out.

One SDK, every stack — drop it in and go

❯pnpm addwebscrape-ai▊
// products

Four tools. One wallet.

Start with a plain fetch and go as far as driving your own browser. Every step spends the same credits.
// one walletEvery tool spends the same credits.
~/wsai — smartscraper

You describe the data. We return it as JSON.

A URL and a plain-English prompt in, structured JSON out. Pass a JSON Schema and the result is validated against it before it reaches you.

curl -X POST https://api.webscrape.ai/v1/smartscraper \
  -H "X-API-Key: $WEBSCRAPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"website_url": "https://news.ycombinator.com",
       "user_prompt": "Top 5 stories: title, url, points"}'
▸ cost5 credits / page
▸ billedon success
// how it works

One request. Six stages. Clean JSON.

Every request flows through the same deterministic pipeline — fetch, clean, reduce, extract, validate. No black box.
~/wsai — pipeline.trace live
horizontal · trace6 stages
URLPOST /v1/smartscraper—request
request
fetchpage fetch12ms405 KB html
405 KB html
cleanhtml dom cleaner3ms80 KB dom
80 KB dom
reducenoise filter23ms5 KB text
5 KB text
extractfield extraction480ms5 fields
5 fields
JSONschema · validated2ms200 OK
▸total0/6 stages·~520ms
// developer experience

One endpoint. Any language.

Add web scraping to any stack — official SDKs for Python, Node, Go, Rust & Java, or any plain HTTP client. Schema-validated output means no post-processing.
~/wsai — request
# fetch the top 5 HN stories
curl -X POST https://api.webscrape.ai/v1/smartscraper \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $API_KEY" \
  -d '{
    "website_url": "https://news.ycombinator.com",
    "user_prompt": "Extract the top 5 stories with title, url, and points"
  }'
# fetch the top 5 HN stories
from webscrape_ai import Client

with Client() as client:  # auth via WEBSCRAPE_API_KEY
    resp = client.smartscraper(
        website_url="https://news.ycombinator.com",
        user_prompt="Extract the top 5 stories with title, url, and points",
    )
    print(resp.data.result)
// fetch the top 5 HN stories
import { Webscrape } from "webscrape-ai";

const client = new Webscrape();  // auth via WEBSCRAPE_API_KEY
const res = await client.smartscraper({
  website_url: "https://news.ycombinator.com",
  user_prompt: "Extract the top 5 stories with title, url, and points",
});
console.log(res.data.result);
// fetch the top 5 HN stories
// go get github.com/webscrape-ai/webscrape-ai/sdk/go
client, _ := webscrape.New()  // auth via WEBSCRAPE_API_KEY

resp, _ := client.SmartScraper(context.Background(), &webscrape.SmartScraperRequest{
  WebsiteURL: "https://news.ycombinator.com",
  UserPrompt: "Extract the top 5 stories with title, url, and points",
})
fmt.Println(string(resp.Data.Result))
// fetch the top 5 HN stories
use webscrape_ai::{blocking::Client, SmartScraperRequest};

let client = Client::from_env()?;  // auth via WEBSCRAPE_API_KEY
let resp = client.smartscraper(
    SmartScraperRequest::new(
        "https://news.ycombinator.com",
        "Extract the top 5 stories with title, url, and points",
    ),
)?;
println!("{}", resp.data.result);
// extraction pipeline
  • ▸fetch12ms
  • ▸clean3ms
  • ▸reduce23ms
  • ▸extract480ms
  • ▸validate2ms
total~520ms
~/wsai — response
response.json200 OK
// 200 OK · extracted in ~520ms
{
  "status": "completed",
  "data": {
    "result": {
      "stories": [
        {
          "title": "Show HN: I built a real-time code editor",
          "url": "https://example.com/editor",
          "points": 342
        },
        {
          "title": "Why Rust is the future of systems programming",
          "url": "https://example.com/rust",
          "points": 281
        },
        // … 3 more stories
      ]
    }
  },
  "credits_used": 5,
  "credits_remaining": 495,
  "request_id": "req_aB3xY9Kp"
}
// pricing

Start free. Pay as you go.

500 free credits to start. Every product spends from one balance, and failed requests cost nothing.

Founding launch — 30% off for life on any subscription with code FOUNDING

Free

Free forever — credits refill every month, not a one-time trial.

$0

≈ 60 AI extractions / month

  • 500 starting credits
  • 300 free credits every month
  • 1 concurrent request
  • 10 requests / minute
  • 7-day data retention
  • Limited SmartBrowse

Hobby

For side projects and prototypes.

$19

≈ 1,000 AI extractions / month

  • 5,000 credits / month
  • 10 concurrent requests
  • 60 requests / minute
  • Standard fetch tier
  • 30-day data retention
  • 2 GB cloud browser / month
  • 20% off extra credit

Enterprise

Tailored solutions for large organizations.

Custom

Unlimited extractions

  • Unlimited credits
  • Custom rate limits
  • Dedicated infrastructure
  • Dedicated routing
  • 99.9% SLA guarantee
  • Dedicated account manager
  • On-premise deployment

Base rate: 1 credit / Scrape · 5 / SmartScraper · 2 / SmartBrowse page · 0.2 / Browse minute · every rate

AI agent? Read the plain-text version at /pricing.md.

// faq

Questions, answered.

What teams ask before they put it in production.
// frequently asked · 6 entries
// changelog

What's new

The latest platform updates, newest first.

~/wsai — changelog
shipping.log6 releases
  • ▸Browse — a cloud browser you drive over CDPlive
  • ▸Public launch — API + dashboard livev1.0
  • ▸Official SDKs — Go, Python, Node, Rust & Java5 languages
  • ▸Faster extraction pipelinep50 −40%
  • ▸Private beta — early access opensinvite-only
  • ▸Isolated microVM browsers + managed networkingincluded

Your first request is a minute away.

Get an API key in seconds — 500 free credits, no card required. Or try it first in the playground.

~/wsai — extract live
extract · run5 stages