Get the callback secret
The secret that signs a job callback whose URL is not a registered HTTPS webhook.
/v1/async/callback-secretA callback URL that matches an enabled HTTPS endpoint from POST /v1/webhooks is signed with that endpoint's secret instead. A disabled endpoint does not match. This account secret is created on first read and can be read again. POST /v1/async/callback-secret/rotate replaces it and keeps the previous secret signing for 24 hours: during that window x-scrapercompany-signature lists both HMACs, comma-separated. The signature is HMAC-SHA256 of x-scrapercompany-timestamp + . + the raw body. Dedupe retries on x-scrapercompany-delivery. Free.
Request
https://api.scrapercompany.com/v1/async/callback-secretAuthenticate with your API key in the x-api-key header (see Authentication).
Example request
curl "https://api.scrapercompany.com/v1/async/callback-secret" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY"Response
200 — Account callback signing secret. Fields: secret, created_at, rotated_at. Readable again. rotated_at is absent until the first rotation. A callback URL that matches an enabled HTTPS webhook uses that endpoint's secret instead. For 24 hours after rotation the callback signature lists the current and previous HMAC, comma-separated..
{
"secret": "whsec_REPLACE_WITH_THE_VALUE_THIS_ENDPOINT_RETURNS",
"created_at": "2026-10-03T09:12:44Z",
"rotated_at": "2026-10-03T10:00:00Z"
}Errors
Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.
| Status | Meaning | Retry? |
|---|---|---|
401Unauthorized | Missing or invalid API key. {"detail":"missing or invalid API key"} | No, fix the request |
429Too Many Requests | Too many requests: the key's requests-per-minute limit was exceeded, or (in {"detail":"rate limit 60/min exceeded"} | Yes, with backoff |
503Service Unavailable | Temporarily unavailable: a dependency of this endpoint is down, or the upstream source changed its contract. Retry later. {"detail":"database unavailable: OperationalError"} | Yes, with backoff |
Try it
Async jobs, destinations, schedules and the callback secret are not changed from the docs; call this with your own key.
- Export your key:
export SCRAPERCOMPANY_API_KEY=sk_...(no key yet? start a free trial). - Copy the cURL example above and run it in a terminal.
Questions about this page?
Send the page link and your question, and the team will answer.