# Google Search

With Talordata SERP API, you can configure **Google search** queries, including localization, geographic targeting, and advanced parameter output options.

<details>

<summary><strong><code>q</code> ,</strong>Search Query<strong>(Required)</strong></summary>

Define the search query used for data scraping (Default value: `q=pizza`). Any keywords in any language are supported.

**Example Request:**\
Example using the parameter `q`: pizza

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1"
```

</details>

<details>

<summary><strong><code>json</code> ,</strong>Format<strong>(Required)</strong></summary>

This parameter defines the output format. Options are JSON, Light JSON, and HTML (downloadable). JSON is the default. Note that Light JSON includes only the top organic Google results.

**Example Request:**\
Example using the parameter `q`: pizza,**`json` :1**

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1"
```

</details>

<details>

<summary><strong><code>render_js</code> ,</strong>JS render<strong>(Optional)</strong></summary>

If the value is true, the system will employ a browser engine to run page scripts and return the complete rendered HTML.

**Example Request:**\
Example using the parameter `q`: pizza,`render_js` **:**&#x74;rue

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "render_js=true"
```

</details>

<details>

<summary><strong><code>no_cache</code> ,</strong>Disable Caching<strong>(Optional)</strong></summary>

By default, search results with identical parameters are cached for 5 minutes. Set no\_cache to true to bypass the cache, or to false (default) to use cached results. Cached searches are free and will not be counted toward your search statistics.

**Example Request:**\
Example using the parameter `q`: pizza,`no_cache` **:**&#x74;rue

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "no_cache=true"
```

</details>

<details>

<summary><strong><code>ai_overview</code> ,</strong>Ai_overview<strong>(Optional)</strong></summary>

Controls whether to fetch the AI Overview content from Google search results.Billing Note: A successful AI overview fetch typically costs 1 response. If a second request is automatically triggered to resolve a page\_token, the total cost is 2 responses.

**Example Request:**\
Example using the parameter `q`: pizza,**`ai_overview` :**&#x74;rue

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "ai_overview=true"
```

</details>

## Localization

<details>

<summary><strong><code>google_domain</code>,</strong>Domain<strong>(Optional)</strong></summary>

Define the search engine domain name for data crawling (default value: `google.com`).

You can modify this parameter in the system or refer to the [Google domain page](https://domains.squarespace.com/) to obtain the complete list of supported domain names.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark> ,`google_domain`: <mark style="color:blue;">google.co.ao</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "google_domain=google.co.ao" \
 -d "json=1"
```

</details>

<details>

<summary><strong><code>gl</code> ,</strong>Country<strong>(Optional)</strong></summary>

Specify the target country/region for search results (default value: `us`). Use two-letter country codes(e.g., `us`, `ru`, `uk`).

For the complete list of supported country codes, please refer to: [Google’s Country List](https://developers.google.com/adwords/api/docs/appendix/geotargeting).

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`gl`: <mark style="color:blue;">ru</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "gl=ru" \
 -d "json=1"
```

</details>

<details>

<summary><strong><code>hl</code> ,</strong>Language<strong>(Optional)</strong></summary>

Set the interface language for search results (default value: `en`). Adopt standard language code formats (e.g., `en`, `es`, `zh-CN`).

For the complete list of supported language codes, please refer to: [Google Language Codes](https://developers.google.com/google-ads/api/docs/start).

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`hl`: <mark style="color:blue;">es</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "hl=es"
```

</details>

<details>

<summary><strong><code>cr</code> ,</strong>Set Multiple Countries<strong>(Optional)</strong></summary>

Restrict results to specific countries, using `|` as a separator(e.g., `countryFR|countryDE`).

&#x20;It can be used in conjunction with the `gl` parameter to ensure consistency in interface/content language.

`gl` and `cr` can be combined, but the actual effect follows `cr` as the priority.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`cr`: <mark style="color:blue;">countryFR|countryDE</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "cr=countryAI|countryAQ"
```

</details>

<details>

<summary><strong><code>lr</code> ,</strong>Set Multiple Languages<strong>(Optional)</strong></summary>

Filters results by language using `lang_XX` codes (e.g., `lang_fr|lang_de`). If the `hl` parameter is used simultaneously, this parameter will override `hl`.

The `hl` and `lr` parameters can be used together, but the actual effect is prioritized by the `lr` parameter.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`lr`: <mark style="color:blue;">lang\_en|lang\_fr</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "lr=lang_fr|lang_en"
```

</details>

## Geographical Location

<details>

<summary><strong><code>location</code> ,</strong>Location<strong>(Optional)</strong></summary>

Simulate initiating a search from an exact location, which must be used in conjunction with the `uule` parameter. If not specified, the geographical location of the proxy server may be adopted.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`location`:<mark style="color:blue;">India</mark>,`uule`:<mark style="color:blue;">w+CAIQICIFSW5kaWE</mark>

```
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "location=India" \
 -d "uule=w+CAIQICIFSW5kaWE"
```

</details>

<details>

<summary><strong><code>uule</code> ,</strong>Encoded Location<strong>(Optional)</strong></summary>

Encode the target geographical `location` using Base64, which must be used in conjunction with the location parameter.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`location`:<mark style="color:blue;">India</mark>,`uule`:<mark style="color:blue;">w+CAIQICIFSW5kaWE</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "location=India" \
 -d "uule=w+CAIQICIFSW5kaWE"
```

</details>

## Search Types

<details>

<summary><strong><code>tbm</code> ,</strong>Search type<strong>(Optional)</strong></summary>

Defines the search result type:

* `tbm=images` – Images
* `tbm=shops` – Shopping
* `tbm=news` – News
* `tbm=videos` – Videos

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`tbm`:<mark style="color:blue;">shop</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "tbm=shops"
```

</details>

## Pagination

<details>

<summary><strong><code>start</code> ,</strong>Result offset<strong>(Optional)</strong></summary>

Parameter defines the result offset. It skips the given number of results. It's used for pagination. (e.g., 0 (default) is the first page of results, 10 is the 2nd page of results, 20 is the 3rd page of results, etc.).

We recommend starting with 0 and increasing by 10 for the next page. There is no hard limit on the maximum offset number, but we recommend a maximum of 100  which is the same behavior as with the Google Maps web app. More than that, the result might be duplicated or irrelevant.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`start`:<mark style="color:blue;">30</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "start=30"
```

</details>

<details>

<summary><strong><code>num</code> ,</strong>Number of results per page<strong>(Optional)</strong></summary>

Subject to Google's limits, actual results may be fewer (max. 10 per page).

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`num`:<mark style="color:blue;">20</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "num=20"
```

</details>

## Advanced Parameters

<details>

<summary><strong><code>ludocid</code> ,</strong>Google Place ID<strong>(Optional)</strong></summary>

This parameter defines the identifier (CID) of the Google My Business listing you want to crawl. It is also known as the Google Place ID. (e.g., `ludocid=14389889685039125943`).

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`ludocid`:<mark style="color:blue;">14389889685039125943</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "ludocid=14389889685039125943"
```

</details>

<details>

<summary><strong><code>kgmid</code> ,</strong>Google Knowledge Graph ID<strong>(Optional)</strong></summary>

The `kgmid` parameter is used to directly call encrypted data of specific entries in Google Knowledge Graph, overriding regular search parameters and returning structured results.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`kgmid`:<mark style="color:blue;">/m/0d6lp</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "start=06" \
 -d "kgmid=/m/0d6lp"
```

</details>

<details>

<summary><strong><code>ibp</code> ,</strong>Google Element Rendering<strong>(Optional)</strong></summary>

Used to control the layout rendering and expansion effects of specific elements (such as Knowledge Graph extended searches with `ludocid`).

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`ibp`:<mark style="color:blue;">new</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "ibp=new"
```

</details>

<details>

<summary><strong><code>lsig</code> ,</strong>Google Element Rendering<strong>(Optional)</strong></summary>

This parameter forces the display of the Knowledge Graph map view. lsigId can also be obtained through the redirect link used by Google in 'Google My Business.'

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`lsig`:<mark style="color:blue;">new</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "lsig=1"
```

</details>

<details>

<summary><code>si</code><strong>,</strong>Google Cached Search Parameters ID<strong>(Optional)</strong></summary>

Using the si parameter allows fetching encrypted cached data from Google Search. This parameter overrides all other parameters except 'start' and 'num' and is suitable for collecting Knowledge Graph tab content.

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`si`:cat

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "si=cat"
```

</details>

<details>

<summary><code>uds</code> <strong>,</strong>Google Filter Search<strong>(Optional)</strong></summary>

Using the `uds`=ADv parameter allows fetching encrypted cached data from Google Search. This parameter overrides all other parameters except 'start' and 'num' and is suitable for collecting Knowledge Graph tab content.

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`uds`:<mark style="color:blue;">ADV</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "uds=ADV"
```

</details>

## Advanced Filters

<details>

<summary><strong><code>tbs</code> ,</strong>Advanced Search Parameters<strong>(Optional)</strong></summary>

Advanced filters:

* Time: `qdr:h` (1 hour), `qdr:y` (1 year)
* Content: `sur:f` (images), `sur:fc` (free-to-use images)

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`tbs`:<mark style="color:blue;">sur:f</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "tbs=sur:f"
```

</details>

<details>

<summary><strong><code>safe</code> ,</strong>Adult Content Filtering<strong>(Optional)</strong></summary>

Filters adult content:

* `safe=active` – Strict filtering (default)
* `safe=off` – No filtering

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`safe`:<mark style="color:blue;">active</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "safe=active"
```

</details>

<details>

<summary><strong><code>nfpr</code> ,</strong>Exclude Auto-corrected Results<strong>(Optional)</strong></summary>

Define whether to disable automatic spelling correction. For example, with `nfpr=1`, searching for "googl" will not be automatically corrected to "google".

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`nfpr`:<mark style="color:blue;">1</mark>

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "nfpr=1"
```

</details>

<details>

<summary><strong><code>filter</code> ,</strong>Results Filtering<strong>(Optional)</strong></summary>

Define duplicate removal results: `1` (enable), `0` (disable).

**Code Example:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`filter`:1

```sh
curl -X POST https://serpapi.talordata.net/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google" \
 -d "q=pizza" \
 -d "json=1" \
 -d "filter=1"
```

</details>

If you need further assistance, feel free to contact us via **live chat** or email **<support@talordata.com>**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.talordata.com/serp-api/query-parameters/google/google-search.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
