> For the complete documentation index, see [llms.txt](https://doc.thordata.com/doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.thordata.com/doc/scraping/serp-api/query-parameters/google/google-shopping.md).

# Google Shopping

**SERP API Google Shopping Query Parameters**

Configure Google Shopping queries using Thordata’s SERP API, including localization parameters, geotargeting, pagination, 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 crawling (default value: `q=pizza`). Any keywords in any language are supported.

**Example Request:**\
Example with `q`:<mark style="color:blue;">pizza</mark> parameter

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1"
```

</details>

## Localization

<details>

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

Defines the domain used for scraping. Default: `google.com`.&#x20;

Modify this or refer to the [Google Domains page](https://domains.squarespace.com/) for a full list of supported domains.

**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://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -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>

Specifies the country/region for localized search results (default: `us`). Uses a two-letter country code (e.g., `us`, `ru`, `uk`).

For supported codes, see [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://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "gl=ru" \
 -d "json=1"
```

</details>

<details>

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

Sets the UI language for search results (default: `en`). Uses a two-letter language code (e.g., `en`, `es`, `zh-CN`).

&#x20;Full list: [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://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "hl=es"
```

</details>

## Geotargeting

<details>

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

Simulates searches from a precise location. Must be paired with `uule`. If omitted, the proxy’s location may be used.

**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://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -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>

Encodes the target location via Base64. Use with `location`.&#x20;

**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://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "location=India" \
 -d "uule=w+CAIQICIFSW5kaWE"
```

</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.).

**Example Request:**

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

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

</details>

<details>

<summary><strong><code>num</code> ,</strong>Results per page<strong>(Optional)</strong></summary>

Sets the number of results per page (default: `20`).

**Example Request:**

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

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

</details>

## Advanced Parameters

<details>

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

Time/type filtering (supports complex conditions), such as `tbs`=qdr:d qdr:d= contents within 24 hours `tbs`=sur:f, for example, shows only images

**Example Request:**

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

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

</details>

<details>

<summary><code>shoprs</code> <strong>，Search Filter ID(Optional)</strong></summary>

The parameter defines the token that includes metadata about query and search filter(s). Providing `q`parameter alongside the shoprs is not required.

**Example Request:**

Example results for `q` : <mark style="color:blue;">pizza</mark>,`shoprs`:<mark style="color:$primary;">shoprs\_1</mark>

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "shoprs=shoprs_1"
```

</details>

<details>

<summary><code>min_price</code> <strong>，最低价格(Optional)</strong></summary>

The lower limit for the price range query. This parameter will override the corresponding filter embedded in the 'shoprs' parameter.

**示例请求：**

**Example Request:**

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

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "min_price=10"
```

</details>

<details>

<summary><code>max_price</code> <strong>，最高价格(Optional)</strong></summary>

价格区间查询的上限。此参数会覆盖嵌入到 `shoprs` 参数中的相应过滤器。

**示例请求：**

查询  `q` : <mark style="color:blue;">pizza</mark>,`max_price`:<mark style="color:blue;">100</mark>的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "min_price=10" \
 -d "max_price=100"
```

</details>

<details>

<summary><code>sort_by</code><strong>，排序依据(Optional)</strong></summary>

参数定义结果的排序顺序。

可用选项：

`1` - 价格：从低到高

`2` - 价格：从高到低

**示例请求：**

查询 `q` : <mark style="color:blue;">pizza</mark>,`sort_by`:1的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "json=1" \
 -d "sort_by=1"
```

</details>

<details>

<summary><code>free_shipping</code><strong>，免费送货(Optional)</strong></summary>

仅显示免费送货的商品。

**示例请求：**

查询 `q` : <mark style="color:blue;">pizza</mark>,`free_shipping`:true的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "gl=ad" \
 -d "json=1" \
 -d "free_shipping=true"
```

</details>

<details>

<summary><code>on_sale</code><strong>，特价中(Optional)</strong></summary>

仅显示正在促销的商品。

**示例请求：**

查询 `q` : <mark style="color:blue;">pizza</mark>,`on_sale`:true的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "gl=ad" \
 -d "json=1" \
 -d "on_sale=true"
```

</details>

<details>

<summary><code>small_business</code><strong>，小型企业(Optional)</strong></summary>

仅显示小型企业的产品。

**示例请求：**

查询 `q` : <mark style="color:blue;">pizza</mark>,`small_business`:true的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "gl=ad" \
 -d "json=1" \
 -d "small_business=true"
```

</details>

<details>

<summary><code>direct_link</code><strong>，包括直接链接(Optional)</strong></summary>

此参数确定搜索结果是否应包含每个产品的直接链接。默认情况下，它为 `false`，如果您需要直接链接，请将其设置为 `true`。

**示例请求：**

查询 `q` : <mark style="color:blue;">pizza</mark>,`direct_link`:true的示例

```sh
curl -X POST https://scraperapi.thordata.com/request \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer token" \
 -d "engine=google_shopping" \
 -d "q=pizza" \
 -d "gl=ad" \
 -d "json=1" \
 -d "direct_link=true"
```

</details>

For further assistance, contact us at **<support@thordata.com>**.
