Search batches for developers

Cheapest Bulk Search API 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.

  1. SubmitSend items and a unique batch key. Save the returned job ID.
  2. Check progressRead counts and billing while requests complete.
  3. CollectRead JSON items or download JSON Lines, JSON or CSV.

One batch, individual outcomes

Keep control of every request

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.

Mix supported endpoints

Use each endpoint’s documented parameters. Combine web search, news, and other registered data operations in one job.

Read useful results early

Collect the saved items while a job is still running. A failed item does not discard successful items in the same batch.

Choose how to collect

Read JSON pages with an offset, request a file export, or configure an HTTPS notification for job completion.

Request format

Start with two web searches

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.

ActionRequestWhat you receive
Submit a batchPOST /api/bulk/jobsJob ID, current status, counts and reserved billing estimate.
Check progressGET /api/bulk/jobs/JOB_IDUpdated item counts, settled/refunded billing and a refreshed file link when available.
Read saved itemsGET /api/bulk/jobs/JOB_ID/results?include=inline&limit=100&offset=0A page of item statuses and saved results, indexed in input order.
CancelPOST /api/bulk/jobs/JOB_ID/cancelUpdated job status. Work that has not started is cancelled and its charges returned.

Billing and retention

Budget for the work you request

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.

JSON Lines

Choose delivery.storage.format="jsonl" for one saved item per line and incremental file processing.

JSON

Choose json when you want the saved item collection as one JSON document.

CSV

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

Bulk job essentials

Does an interrupted submission create a second job?

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.

Do I have to wait for every item before collecting results?

No. Read the inline results while the job is running. Each item shows its own status; successful items include their saved output.

Can I cancel a job after it starts?

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.

Can the free trial pay for bulk jobs?

No. The shared free trial is for eligible direct calls. Bulk jobs require a funded account.

Which endpoint names should I send?

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

From keyword lists to saved results

Plan a bulk keyword rank checking 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.