You can configure a webhook to receive real-time updates when a scraper job runs.

To enable it, pass a webhook object in your job request.

Webhook delivery is async and retries automatically on failure (3 attempts)

Example

curl --request POST \
  --url 'https://api.hasdata.com/scrapers/google-maps/jobs' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <your-api-key>' \
  --data '{
    "keywords": ["coffee shops"],
    "locations": ["CUSTOM>New York, NY"],
    "extractEmails": true,
    "webhook": {
      "url": "https://yourdomain.com/webhook",
      "events": ["scraper.job.started", "scraper.job.finished", "scraper.data.scraped"],
      "headers": {
        "x-custom-header": "custom header value"
      }
    }
  }'

Supported Events

  • scraper.job.started — Sent when the job starts processing
  • scraper.data.scraped — Sent as data is collected (may trigger multiple times)
  • scraper.job.finished — Sent when the job is complete