Use Bulk Search when you need the long tail rather than the first page of ranked results. The request is accepted immediately; wait for the result object to become available, then download and decrypt the compressed payload. Treat decrypt_using as secret key material, keep the presigned URL private, and follow the cURL/Python example's Fernet then Zstandard order rather than attempting to parse the download as JSON.
Response body
application/json
These are the fields you can build against. Nested names use dot notation; optional sections are called out in their descriptions.
messagestring
Acknowledgement that the long-running task was accepted.
Example: Slow search task accepted.
download_fromstring
Short-lived object-store URL for the encrypted result file. Download it only from a trusted worker and do not log or share it.
Example: https://s3.eu-west-1.wasabisys.com/...
decrypt_usingstring
Fernet key material required to decrypt the downloaded bytes before Zstandard decompression. Treat it as a secret and destroy it after use.
Example: base64-encoded-key
Responses and errors
HTTP
200Request succeeded. The response body is shown in the panel on the right.
400invalid_request — The request is syntactically valid JSON but a value, date, filter, or combination of fields is invalid.
401unauthorized — The required API key or Bearer credential is missing or invalid.
422validation_error — The request shape is understood but one or more values fail validation.
429rate_limited — The request exceeded the account or public-window rate limit. Respect Retry-After when supplied.
502upstream_error — An upstream retrieval service failed while processing the request.
504upstream_timeout — An upstream retrieval service did not respond within the request timeout.
409bulk_search_in_progress — Another bulk job is already running for this account; wait for its download before submitting another.