A crawl finished (completed, failed or canceled)

Sent to the crawl's webhook_url (or the account webhook). Signed like batch webhooks: X-SerpKite-Event: crawl.completed, X-SerpKite-Delivery (the task id), X-SerpKite-Timestamp and X-SerpKite-Signature: v1=<hex HMAC-SHA256(secret, "<timestamp>.<raw body>")>. Retried with backoff until a 2xx.

postWebhookcrawl.completed

Payload

event'crawl.completed' required
idstring uuid required
kind'crawl' required
status'queued' | 'running' | 'completed' | 'failed' | 'canceled' required
created_atstring date-time required
completed_atstring date-time nullable
credits_usednumber required
poll_urlstring

Where the task (and its full result) can be fetched for 24 hours

resultunknown
result_omittedboolean

Set when the result was too large for the webhook; GET poll_url for it

Response

Any 2xx acknowledges the delivery

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.