Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hasdata.com/llms.txt

Use this file to discover all available pages before exploring further.

Use the Batch API to submit multiple search queries in a single request. Each query runs independently and returns structured results just like the standard SERP API. This is useful when you need to check multiple keywords at once β€” for rank tracking, content monitoring, or search comparison tools.

Submit a Batch API Job

Each object in queries uses the same parameters as the single-query SERP API.
curl --request POST \
  --url 'https://api.hasdata.com/scrape/batch/google/serp' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <your-api-key>' \
  --data '{"requests":[{"q":"best vpn 2025","gl":"us","hl":"en"},{"q":"cheap flights to berlin","gl":"de","hl":"de"},{"q":"ai content detection tools","gl":"us","hl":"en"}]}'

Response

{
  "jobId": "9a35f32e-4f9c-4d49-9c6e-7c4de4a091e0",
  "status": "ok"
}
This means the batch job was accepted and is being processed asynchronously.

Get Job Status & Results

To check the status of your batch job:
curl --request GET \
  --url 'https://api.hasdata.com/scrape/batch/google/serp/9a35f32e-4f9c-4d49-9c6e-7c4de4a091e0' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <your-api-key>'
To retrieve results once ready (supports pagination):
curl --request GET -G \
  --url 'https://api.hasdata.com/scrape/batch/google/serp/9a35f32e-4f9c-4d49-9c6e-7c4de4a091e0/results' \
  --data-urlencode 'page=1' \
  --data-urlencode 'limit=100' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <your-api-key>'
{
  "page": 0,
  "limit": 100,
  "total": 3,
  "results": [
    {
      "query": {
        "q": "ai content detection tools",
        "gl": "us",
        "hl": "en"
      },
      "result": {
        "id": "5c3c1eef-eca5-4427-820b-24da63e594e6",
        "status": "ok",
        "html": "https://files.hasdata.com/5c3c1eef-eca5-4427-820b-24da63e594e6.html",
        "json": "https://files.hasdata.com/5c3c1eef-eca5-4427-820b-24da63e594e6.json",
        "url": "https://www.google.com/search?q=ai+content+detection+tools&hl=en&gl=us&sourceid=chrome&ie=UTF-8"
      }
    },
    {
      "query": {
        "q": "cheap flights to berlin",
        "gl": "de",
        "hl": "de"
      },
      "result": {
        "id": "57090249-780b-4a53-add6-aec16c700e7c",
        "status": "ok",
        "html": "https://files.hasdata.com/57090249-780b-4a53-add6-aec16c700e7c.html",
        "json": "https://files.hasdata.com/57090249-780b-4a53-add6-aec16c700e7c.json",
        "url": "https://www.google.com/search?q=cheap+flights+to+berlin&hl=de&gl=de&sourceid=chrome&ie=UTF-8"
      }
    },
    {
      "query": {
        "q": "best vpn 2025",
        "gl": "us",
        "hl": "en"
      },
      "result": {
        "id": "b434d79b-cdff-42f5-87c1-a38b883e9a38",
        "status": "ok",
        "html": "https://files.hasdata.com/b434d79b-cdff-42f5-87c1-a38b883e9a38.html",
        "json": "https://files.hasdata.com/b434d79b-cdff-42f5-87c1-a38b883e9a38.json",
        "url": "https://www.google.com/search?q=best+vpn+2025&hl=en&gl=us&sourceid=chrome&ie=UTF-8"
      }
    }
  ]
}
Each result matches the format of a regular Google SERP API response, except it’s returned as part of an array.

Notes

  • Maximum batch size: 10,000 queries
  • Failed queries do not consume credits