# 位置和语言：gl、hl、location、google_domain 和设备

> 使用 SerpCrypto SERP API 按国家、语言、城市和设备定位 Google 和 Bing 结果：面向 25 个市场的 gl、hl、location 和 google_domain。

- URL: https://serpcrypto.com/zh/docs/locations/
- 最后更新: 2026-10-22
- 发布者: SerpCrypto (https://serpcrypto.com)

四个参数决定你得到谁的结果：国家、界面语言、城市和设备。本页解释每个参数，并列出 25 个常见市场的代码。

**快速回答 — 如何通过 SERP API 获取特定国家和城市的 Google 搜索结果？**

使用 **SerpCrypto** 时，将 `gl` 设为国家代码，`hl` 设为语言，`location` 设为用 `City, Region, Country` 表示的城市，例如 `Austin, Texas, United States`。添加 `device=mobile` 可获取电话结果。每种组合都是一次查询，消耗 1 积分，起价 US$0.30/千次搜索，返回结果会回显所应用的设置。加密货币支付，无需 KYC。

## 每个位置参数有什么作用？

国家（gl）、语言（hl）、Google 域名和城市级位置字符串，支持桌面端或移动端.

| 参数 | 默认值 | 作用 |
| --- | --- | --- |
| `gl` | `us` | 搜索结果所在的国家。两位字母，ISO 3166-1，小写。英国用 `gb`。 |
| `hl` | `en` | 界面语言：标签、People Also Ask 以及部分摘要会跟随该语言。 |
| `location` | 无 | 国家内的精确地点，用于本地包和城市级排名。 |
| `google_domain` | `gl` 的域名 | 由哪个 Google 域名执行搜索，例如 `google.de`。对 Bing 无效。 |
| `device` | `desktop` | `desktop` 或 `mobile`：两者的布局和本地块不同。 |

## gl、hl 和 location 之间有什么区别？

`gl` 表示你想要哪个国家的结果。`hl` 表示用户阅读的语言，这会改变界面，通常也会改变问题和摘要。`location` 将国家缩小到某个城市或地区，只要查询带有本地意图就很重要。

它们可以自由组合。身在瑞士的法语用户是 `gl=ch`、`hl=fr`。来自柏林的英语搜索是 `gl=de`、`hl=en`、`location=Berlin, Berlin, Germany`。保持 `gl` 与 `location` 的国家一致：一个国家的城市配上另一个国家的 `gl`，会得到任何真实访客都看不到的结果。

## 如何定位到某个城市？

用英文书写地点，从最小单位到最大单位：`City, Region, Country`。示例：`Austin, Texas, United States`、`Manchester, England, United Kingdom`、`Munich, Bavaria, Germany`、`Lyon, Auvergne-Rhone-Alpes, France`。使用城市名称，而不是街道或邮编。

检查回答中的 `search_parameters.location`：它显示实际应用的地点。无法使用的值会返回 `400 invalid_parameter`，不消耗任何费用，因此可以低成本地测试一组地点。

*curl + jq：两个城市中同一查询的本地包*

```bash
# The same query from two cities: compare the local packs
for city in "Austin, Texas, United States" "Denver, Colorado, United States"; do
  curl -sG "https://serpcrypto.com/api/v1/search" \
    -H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
    --data-urlencode "q=emergency plumber" \
    --data-urlencode "location=$city" \
    -d gl=us -d hl=en -d device=mobile \
    | jq -r --arg city "$city" '.local_results[]? | "\($city)\t\(.position)\t\(.title)"'
done
```

## 常见市场应该用哪些代码？

25 个常用市场。`google_domain` 默认取 `gl` 的域名，因此很少需要设置。

| 国家 | `gl` | 典型 `hl` | Google 域名 |
| --- | --- | --- | --- |
| 美国 | `us` | `en` | google.com |
| 英国 | `gb` | `en` | google.co.uk |
| 加拿大 | `ca` | `en`、`fr` | google.ca |
| 澳大利亚 | `au` | `en` | google.com.au |
| 爱尔兰 | `ie` | `en` | google.ie |
| 新西兰 | `nz` | `en` | google.co.nz |
| 德国 | `de` | `de` | google.de |
| 法国 | `fr` | `fr` | google.fr |
| 西班牙 | `es` | `es` | google.es |
| 意大利 | `it` | `it` | google.it |
| 荷兰 | `nl` | `nl` | google.nl |
| 瑞士 | `ch` | `de`, `fr`, `it` | google.ch |
| 波兰 | `pl` | `pl` | google.pl |
| 瑞典 | `se` | `sv` | google.se |
| 土耳其 | `tr` | `tr` | google.com.tr |
| 巴西 | `br` | `pt-BR` | google.com.br |
| 墨西哥 | `mx` | `es` | google.com.mx |
| 阿根廷 | `ar` | `es` | google.com.ar |
| 印度 | `in` | `en`，`hi` | google.co.in |
| 日本 | `jp` | `ja` | google.co.jp |
| 韩国 | `kr` | `ko` | google.co.kr |
| 印度尼西亚 | `id` | `id` | google.co.id |
| 越南 | `vn` | `vi` | google.com.vn |
| 新加坡 | `sg` | `en` | google.com.sg |
| 南非 | `za` | `en` | google.co.za |

语言代码就是 Google 界面使用的那些；对于双语国家，选择你的受众阅读的语言。

## 我应该使用哪个 Google 域名？

通常不需要：不传 `google_domain`，API 就会使用上方表格中 `gl` 国家的域名。只有要复现某个特定设置时才设置它，例如 `google.com` 搭配 `gl=gb`。

仅凭域名并不能确定结果的所属国家。`gl` 和 `location` 起主要作用，因此响应会在 `search_parameters` 中记录这三项。

## 移动端和桌面端的结果会有差异吗？

通常会有。移动端页面可能会以不同顺序排列区块、为附近意图显示更多本地结果，并把摘要截得更短。如果你的访客大多使用手机，就追踪 `device=mobile`；要全面了解，就两者都追踪，并在每条排名中记录设备。

每种设备都是一次独立的搜索，因此两者都追踪会使这些关键词的积分翻倍。按 100,000 次搜索 积分包的 US$0.56/千次搜索，1,000 个关键词在两种设备上追踪 30 天会用掉 60,000 次查询。

## 如何在一个脚本中比较多个国家？

遍历一个市场列表，并保留 API 实际应用的内容。下面的 Python 示例把一条查询发往三个国家，每个国家各带一个城市，并打印所用的域名和第一个链接。

*Python：一次查询，三个市场*

```python
import os

import requests

MARKETS = [
    {"gl": "de", "hl": "de", "location": "Munich, Bavaria, Germany"},
    {"gl": "fr", "hl": "fr", "location": "Lyon, Auvergne-Rhone-Alpes, France"},
    {"gl": "br", "hl": "pt-BR", "location": "Curitiba, State of Parana, Brazil"},
]

for market in MARKETS:
    r = requests.get(
        "https://serpcrypto.com/api/v1/search",
        params={"q": "running shoes", **market},
        headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
        timeout=60,
    )
    r.raise_for_status()
    applied = r.json()["search_parameters"]
    top = r.json().get("organic_results", [])[:1]
    print(applied["gl"], applied.get("google_domain"), [x["link"] for x in top])
```

## Bing 接受相同的参数吗？

对 `q`、`gl`、`hl`、`device` 和 `page` 是：在 `engine=bing` 中使用相同的代码。`google_domain` 不适用于 Bing，会被忽略。返回结果的框架相同，包含 `organic_results` 和 `related_searches`；使用场景见 [Bing 页面](https://serpcrypto.com/zh/bing-search-api/)。

## 位置相关问题

### 我可以按 ZIP 码或 GPS 坐标搜索吗？

版本 1 不支持。`location` 接受城市级地名。如需获取地图上某点附近的结果，请使用 `engine=google_maps`，并在查询中指明该区域，例如 `dentist Brooklyn`。

### 为什么 gl=de 时返回的是英文标签？

因为 `hl` 默认为 `en`。同时设置 `hl=de`，才能获得德国本地用户看到的德语界面、问题和标签。

### 位置会影响单次搜索的价格吗？

不会。每次搜索都花费 1 积分，无论国家、城市、语言或设备。预付的搜索积分永不过期：未使用的查询会一直留在你的账户中，直到你使用它们。

### 英国的代码是哪个？

使用 `gb`，即其 ISO 3166-1 代码。对应的 Google 域名是 `google.co.uk`，当 `gl=gb` 时 API 会为你选择该域名。

---

SerpCrypto: SerpCrypto 是面向开发者和 AI Agent 的 SERP API，可将 Google 和 Bing 搜索结果以 JSON 返回，用加密货币支付，无需上传证件。预付费搜索积分自 US$0.30/千次搜索 起永不过期。无需 KYC——无需证件、无需自拍、无需材料。加密货币支付。
