Queue up to 100 requests for one endpoint at half price. Each request becomes one batch job

Credits for the whole batch are reserved together: if the balance, spend cap, key limit or free daily cap can't cover every valid request, none is queued and each gets the error (invalid requests get their own 400 entry either way). Each job is settled and refunded on its own once it runs.

Retries. Send an Idempotency-Key to make the call safe to retry: for 24 hours a repeat with the same key and the same body returns the first response (with Idempotent-Replayed: true) without queueing or billing again. The same key with a different body is rejected with 422 idempotency_key_reused; a repeat while the first call is still running gets 409.

Webhooks. Every delivery is a POST with X-SerpKite-Event: batch.completed, X-SerpKite-Delivery (the job id), X-SerpKite-Timestamp (Unix seconds) and X-SerpKite-Signature: v1=<hex HMAC-SHA256(secret, "<timestamp>.<raw body>")>. Deliveries are always signed; the account's secret is created with its first webhook and revealed by rotating it (dashboard Settings → Webhooks). Verify by recomputing the HMAC over the raw body, comparing in constant time, and rejecting timestamps older than 5 minutes. The SDKs ship verifyWebhook / verify_webhook / VerifyWebhook.

post/v1/batches

Request

  • Base URL: https://api.serpkite.com
  • URL: https://api.serpkite.com/v1/batches
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

1-255 printable ASCII characters (e.g. a UUID). Retries with the same key and body replay the first response for 24 h

Request body

endpoint'search' | 'images' | 'videos' | 'news' | 'maps' | 'places' | 'reviews' | 'shopping' | 'scholar' | 'patents' | 'autocomplete' | 'webpage' required
requestsobject[] required

Request bodies for endpoint (same fields as the realtime endpoint)

webhook_urlstring uri

POSTed each job's result, always signed with X-SerpKite-Signature (v1=hex HMAC-SHA256 of <timestamp>.<body> with the account webhook secret; see createBatches). Defaults to the account webhook

Response

Queued. One entry per request, in order; an entry is a batch job or an error object

Example response

{
  "batches": [
    {
      "endpoint": "/v1/search"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.