Skip to content

Requests & responses ​

The ScrapeIt REST API is deliberately uniform: one base URL, one success envelope, one error envelope. Once you have parsed one endpoint you have parsed them all.

Base URL & versioning ​

https://api.scrapeit.io/api/v1

The version is part of the path (/api/v1/...). Breaking changes only ever ship under a new version prefix.

Requests and responses are JSON (Content-Type: application/json, UTF-8).

Success envelope ​

Every successful endpoint returns:

json
{
  "data": { "…": "endpoint-specific payload" },
  "meta": { "…": "optional metadata, e.g. pagination" }
}
  • data - the payload. For list endpoints it is an array.
  • meta - optional. List endpoints put pagination fields here (total, page, per_page, last_page).

Error envelope ​

Every error - validation, auth, limits, platform - uses one shape and a stable machine-readable code:

json
{
  "error": {
    "code": "CONCURRENCY_LIMIT_EXCEEDED",
    "message": "Concurrency limit exceeded for the current subscription.",
    "details": null,
    "correlation_id": "8f4f1f0e-…"
  }
}

Branch on error.code, not on the human-readable message - messages can be reworded, codes never change. The full catalogue lives in Error codes.

Correlation ids ​

Every response carries a correlation_id (in error for failures, in request_metadata for scraping responses). It connects your request to our internal logs, job traces and webhook deliveries. Include it in support requests - it is the fastest path to an answer.

Timeouts ​

The synchronous Web Scraping API holds the HTTP connection until the scrape finishes or the timeoutMs budget is exhausted (configurable from 1 000 ms; default and maximum 180 000 ms). Long-running work belongs in Batch Scraping or the Website Crawler, which return a job id immediately.

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