POST /v1/search/batch accepts up to 500 items, where each item is a full search body. Items are admitted independently: a validation failure on one item never blocks the others.
Batch is a convenience for submission, not a different execution model. Each accepted item behaves exactly like a standalone
POST /v1/search — it returns a parent job that fans out into one child per surface × region, and each child is billed and completed on its own.Request
Array of 1–500 search bodies. Each element is validated and admitted independently. Every item supports the full search body —
query, surfaces, regions, priority, webhook, and idempotencyKey.Response
Returns200 with an items array that mirrors the request order. Each result carries the original index and is either accepted (with the created job) or rejected (with an error). A rejected item does not affect any other item in the batch.
Response
One result per submitted item, in request order.
Fan-out and billing
Each accepted item becomes its own parent job with one child per surface × region. Credits are charged per child on a successful capture — an empty or failed capture costs nothing. In the example above, item 0 (chatgpt + perplexity, one region) creates two children, and item 1 (gemini, one region) creates one child. Item 2 was rejected and created nothing.
Related
Search
The single-search endpoint and full request body.
Read a job
Poll a parent or read a child Envelope.
Webhooks
Get notified as each child completes.
Errors
Error codes returned on rejected items.