Google Search API endpoints

Choose a Google search type and send its request using the Google Search API. This guide builds on the Quickstart and covers the five search types with dedicated entries in the Scrapeless API reference.

All five use the same HTTP endpoint and the actor scraper.google.search. The input.tbm value selects the search type.

Request and authentication

POST https://api.scrapeless.com/api/v1/scraper/request
x-api-token: YOUR_API_KEY
Content-Type: application/json

Replace YOUR_API_KEY with your Scrapeless API key. Send one JSON object containing actor and input.

Choose a search type

Search typeinput.tbmRequest input
Google SearchOmitSearch query in q
Google ImagesischImage search query in q
Google LocallclLocal search query in q
Google VideosvidVideo search query in q
Google ShoppingshopShopping search query in q

These are search modes of one endpoint. Keep the HTTP URL, authentication header, and actor unchanged when switching modes.

Omit tbm for regular web search.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.google.search",
  "input": {
    "q": "coffee",
    "hl": "en",
    "gl": "us"
  }
}'

The Quickstart includes a web-search response with organic_results, pagination, and other query-dependent sections. Do not assume that every query returns every section.

Google Search reference

Google Images

Set tbm to isch to request image search. The request below uses the default Google domain.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.google.search",
  "input": {
    "q": "Apple Iphone16",
    "hl": "en",
    "gl": "us",
    "tbm": "isch"
  }
}'

Google Images reference

Google Local

Set tbm to lcl to request local search.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.google.search",
  "input": {
    "q": "coffee shops",
    "hl": "en",
    "gl": "us",
    "tbm": "lcl"
  }
}'

For city-level targeting, add location inside input, such as "Austin, Texas, United States". Use either location or uule, never both in one request.

For Local search pagination, start must be a multiple of 20: 0, 20, 40, and so on.

Google Local reference

Google Videos

Set tbm to vid. This example retains the request fields shown in the dedicated API reference.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.google.search",
  "input": {
    "engine": "google.search",
    "q": "Coffee",
    "google_domain": "google.com",
    "start": 0,
    "num": 10,
    "tbm": "vid"
  }
}'

Google Videos reference

Google Shopping

Set tbm to shop. This example retains the request fields shown in the dedicated API reference.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.google.search",
  "input": {
    "engine": "google.search",
    "q": "Coffee",
    "google_domain": "google.com",
    "start": 0,
    "num": 10,
    "tbm": "shop"
  }
}'

Google Shopping reference

Common search controls

Set these fields inside input:

ParameterPurpose
qRequired search query.
glSearch country, such as us.
hlSearch language, such as en.
google_domainGoogle domain; defaults to google.com.
locationSearch origin, preferably specified at city level.
uuleEncoded Google location; mutually exclusive with location.
startResult offset. Web search uses 0, 10, 20, and so on.
numRequested maximum result count.
tbsAdvanced search filters.

The parameter reference warns that num can increase latency or affect specialized result types. Omit it unless needed; a requested count is not a guarantee of that many results. The Videos and Shopping examples above preserve the documented value of 10.

See Google Search parameters for the complete parameter descriptions. The current device support listed there is desktop.

Read the result

  • HTTP 200: read the JSON result.
  • HTTP 201: save taskId and retrieve the existing task using the result endpoint.
curl --request GET 'https://api.scrapeless.com/api/v1/scraper/result/YOUR_TASK_ID' \
  --header 'x-api-token: YOUR_API_KEY'

Replace YOUR_TASK_ID with the returned ID. See Results and Polling for the complete workflow.

Response sections vary by search type and query. The dedicated API specifications currently declare a generic object for successful responses; the regular Google Search example is not a schema for Images, Local, Videos, or Shopping.