URL Scraper

URL Scraping Webhooks

Set callbackUrl in the submit request body to receive the result via webhook instead of polling. When parsing completes, the server sends a POST request to that URL with the result payload.

Submit with Callback

curl https://app.scrapering.com/api/parsing/v1/url \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data '{
  "url": "https://scrapering.com",
  "callbackUrl": "https://my-server.com/webhook/scraping"
}'

Webhook Payload

Make sure your webhook endpoint responds with a 2xx status code to acknowledge receipt.

Your endpoint will receive a POST request with the same body as the polling result, plus a scope field:

{
  "status": "ready",
  "scope": "url",
  "requestId": "ac9c7911-b32c-4890-a850-227003ee2d35",
  "data": {
    "url": "https://scrapering.com",
    "content": "<html>...</html>",
    "cookies": [],
    "success": true,
    "screenshot": null
  },
  "respondedAt": "2026-05-08T10:00:03.240Z"
}
FieldTypeDescription
statusstringAlways "ready"
scopestringScraper of the task: "url"
requestIdstringTask ID returned from the submit endpoint
dataobjectTask result — the same as data in the polling result
respondedAtstringISO 8601 timestamp of completion

A webhook is sent for successful and failed tasks alike — check data to see whether the task succeeded, see API Status Codes. If your endpoint does not answer with 2xx, the request is retried up to two more times, after 1 and 2 seconds. Cancelled tasks and tasks that time out do not trigger a webhook — use the result endpoint for them.

screenshot contains a base64-encoded image when takeScreenshot was set to true in the request, otherwise null.

Important! Screenshot is stored for 1 hour after the scrape.
Scraped content is stored for 7 days after the scrape.
Save the results on your side so you don't lose them.

Next steps