Skip to content

Quickstart ​

This guide takes you from zero to your first scraped page in about two minutes: create an API key, send one POST /api/v1/scrape/web request and understand the response.

1. Create an API key ​

  1. Sign in to the ScrapeIt dashboard.
  2. Open Workspace → API Keys and click Create API key.
  3. Give the key a name and the scrape:web scope (added by default).
  4. Copy the key immediately - for security it is shown only once and stored hashed. Keys look like sk_live_….

Details and security practices: Authentication & API keys.

A new workspace starts on the Free plan: 3 000 credits a month (credited once you confirm your email), two requests at a time, webhooks included - enough for about 750 plain fetches. Plans and prices: Billing & credits.

2. Send your first request ​

Replace YOUR_SCRAPEIT_API_KEY with your own key (or export it as the SCRAPEIT_API_KEY environment variable):

bash
curl -X POST "https://api.scrapeit.io/api/v1/scrape/web" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_SCRAPEIT_API_KEY" \
  -d '{
    "url": "https://example.com",
    "outputFormat": ["html", "text"]
  }'
js
const response = await fetch('https://api.scrapeit.io/api/v1/scrape/web', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': process.env.SCRAPEIT_API_KEY ?? 'YOUR_SCRAPEIT_API_KEY',
  },
  body: JSON.stringify({
    url: 'https://example.com',
    outputFormat: ['html', 'text'],
  }),
});

const result = await response.json();
console.log(result.data.content.text);
python
import os
import requests

payload = {"url": "https://example.com", "outputFormat": ["html", "text"]}
response = requests.post(
    "https://api.scrapeit.io/api/v1/scrape/web",
    json=payload,
    headers={"x-api-key": os.environ.get("SCRAPEIT_API_KEY", "YOUR_SCRAPEIT_API_KEY")},
)
response.raise_for_status()
print(response.json()["data"]["content"]["text"])

Generate snippets from the Playground

The dashboard API Playground builds these cURL/Node.js/Python snippets from your current form state, so you can experiment visually first and copy working code. The API key stays masked in generated snippets unless you explicitly paste your own key locally.

3. Read the response ​

Every successful call returns the standard { data } envelope. The interesting parts:

json
{
  "data": {
    "request_metadata": {
      "request_id": "0d6c7cbb-…",
      "target_url": "https://example.com",
      "correlation_id": "b3af2c…",
      "proxy_attempt_count": 1,
      "cache_status": "miss"
    },
    "content": {
      "html": "<!doctype html>…",
      "text": "Example Domain …"
    },
    "files": [],
    "cost": { "estimated_credits": 4, "charged_credits": 4 },
    "execution_status": "billable_success",
    "billing_status": "charged",
    "billable_result_category": "target_response_received",
    "non_billable_failure_category": null,
    "target_http_status": 200
  }
}
  • content holds the formats you asked for in outputFormat (html, text, markdown, json).
  • billing_status tells you whether credits were charged. If our proxy, network or browser infrastructure failed, billing_status is not_charged - see Billing & credits.
  • correlation_id is your support handle: include it when contacting us about a request.

4. Level up ​

GoalWhat to use
Scrape a JavaScript-heavy pagejsRendering: true
Route through a specific countryproxyType + proxyCountry
Extract structured fieldsextractRules
Scrape thousands of URLsBatch Scraping API
Crawl a whole websiteWebsite Crawler API
Get the result pushed to youAsync requests & webhookUrl
Get notified when jobs finishWebhooks
Google, Amazon & other sitesReady-made APIs, e.g. Google SERP API
Call it from Python or Node.jsSDKs
Use it from an AI assistantMCP server

ScrapeIt Web Scraping API documentation. Managed web scraping services: www.scrapeit.io.