Mix supported endpoints
Use each endpoint’s documented parameters. Combine web search, news, and other registered data operations in one job.
Search batches for developers
Submit search batches, track progress and collect JSON, JSON Lines or CSV. News and YouTube items from $0.01/1K; Web items from $0.03/1K. Rates vary by endpoint.
Paid credits are required for background jobs. Your account’s price schedule and the selected endpoint determine each item’s charge.
One batch, individual outcomes
A bulk job groups supported search and data requests without hiding their individual results. Send up to 200 items per batch. Each item keeps its endpoint name, index and status, so you can match output to input.
Use each endpoint’s documented parameters. Combine web search, news, and other registered data operations in one job.
Collect the saved items while a job is still running. A failed item does not discard successful items in the same batch.
Read JSON pages with an offset, request a file export, or configure an HTTPS notification for job completion.
Request format
Use the same Idempotency-Key and body if your submission is interrupted. An identical submission retrieves the same job; reusing that key for different items returns a conflict. A new batch needs a new key.
curl -X POST 'https://api.apiserpent.com/api/bulk/jobs' \
-H 'X-API-Key: YOUR_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: crm-research-batch-001' \
--data '{"items":[
{"endpoint":"serp_quick","params":{"q":"best crm software","engine":"google","country":"us","num":10}},
{"endpoint":"serp_quick","params":{"q":"project management software","engine":"google","country":"us","num":10}}
],"delivery":{"poll":true}}'Copy the returned job.id into subsequent calls. Replace YOUR_KEY with an active API key. The bulk playground preserves your batch key and items for this browser session.
| Action | Request | What you receive |
|---|---|---|
| Submit a batch | POST /api/bulk/jobs | Job ID, current status, counts and reserved billing estimate. |
| Check progress | GET /api/bulk/jobs/JOB_ID | Updated item counts, settled/refunded billing and a refreshed file link when available. |
| Read saved items | GET /api/bulk/jobs/JOB_ID/results?include=inline&limit=100&offset=0 | A page of item statuses and saved results, indexed in input order. |
| Cancel | POST /api/bulk/jobs/JOB_ID/cancel | Updated job status. Work that has not started is cancelled and its charges returned. |
Billing and retention
Bulk uses paid balance rather than the shared free trial. Charges are reserved for each item when you submit. Failed items receive the applicable refund; useful partial results retain their delivered charge, with refunds for undelivered paid additions where that endpoint’s contract provides them. See the published rate card and refund policy for details.
Job records and saved output are retained for seven days after submission. A download link can expire sooner than the saved output: check job status to obtain a fresh link while the job is still within its retention period.
Choose delivery.storage.format="jsonl" for one saved item per line and incremental file processing.
Choose json when you want the saved item collection as one JSON document.
Choose csv for tabular processing. Nested result values remain JSON within their CSV cell.
Enable file output with delivery.storage.enabled=true. To receive completion notifications, supply an HTTPS webhook URL and signing secret as described in the bulk delivery reference. Only your account can inspect its jobs.
Questions before you build
An identical request with the same Idempotency-Key retrieves the original job. Keep the key and body unchanged until you know the outcome; do not generate a new key simply because the connection ended.
No. Read the inline results while the job is running. Each item shows its own status; successful items include their saved output.
You can request cancellation. Work that has not started stops, while already running work may finish. Completed results remain available within the seven-day retention period.
No. The shared free trial is for eligible direct calls. Bulk jobs require a funded account.
Bulk uses registered names such as serp_quick, serp_web and serp_news. These are distinct from URL paths. Consult the API reference for the supported names, parameters and billing units.
Build your workflow
Keep an input index, inspect each result and separate job completion from your own reporting step. Use rank tracking for position analysis and Maps data for local research, following the supported operation’s parameters.