Resposta rápida
Como obtenho resultados do Google para um país e uma cidade específicos por meio de uma API de SERP?
Com o SerpCrypto, defina gl com o código do país, hl com o idioma e location com uma cidade escrita em City, Region, Country, como Austin, Texas, United States. Adicione device=mobile para resultados de telefone. Cada combinação é uma pesquisa a 1 crédito, a partir de US$ 0,30/1K pesquisas, e a resposta ecoa as configurações aplicadas. Pago com cripto, sem KYC.
O que cada parâmetro de localização faz?
País (gl), idioma (hl), domínio do Google e uma string de localização no nível de cidade, em desktop ou mobile.
| Parâmetro | Padrão | Efeito |
|---|---|---|
gl | us | País dos resultados. Duas letras, ISO 3166-1, minúsculas. Use gb para o Reino Unido. |
hl | en | Idioma da interface: rótulos, People Also Ask e alguns snippets seguem ele. |
location | nenhum | Um lugar preciso dentro do país, para pacotes locais e rankings em nível de cidade. |
google_domain | domínio de gl | Qual domínio do Google executa a pesquisa, como google.de. Ignorado para o Bing. |
device | desktop | desktop ou mobile: layouts e blocos locais diferem entre os dois. |
Qual é a diferença entre gl, hl e location?
gl indica de qual país você quer os resultados. hl indica qual idioma a pessoa lê, o que muda a interface e muitas vezes as perguntas e os snippets. location restringe o país a uma cidade ou região, o que importa assim que uma consulta tem intenção local.
Eles se combinam livremente. Um falante de francês na Suíça é gl=ch, hl=fr. Uma pesquisa em inglês a partir de Berlim é gl=de, hl=en, location=Berlin, Berlin, Germany. Mantenha gl e o país de location iguais: uma cidade em um país com gl de outro gera resultados que nenhum visitante real vê.
Como faço para segmentar uma cidade?
Escreva o lugar em inglês, da menor unidade para a maior: City, Region, Country. Exemplos: Austin, Texas, United States, Manchester, England, United Kingdom, Munich, Bavaria, Germany, Lyon, Auvergne-Rhone-Alpes, France. Use o nome da cidade, não uma rua ou um CEP.
Verifique search_parameters.location na resposta: ele mostra o lugar que foi aplicado. Um valor que não pode ser usado retorna 400 invalid_parameter e não custa nada, então você pode testar uma lista de lugares gastando pouco.
# 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)"'
doneQuais códigos devo usar para os mercados comuns?
25 mercados frequentes. google_domain usa por padrão o domínio de gl, então raramente você precisa defini-lo.
| País | gl | hl típico | Domínio do Google |
|---|---|---|---|
| Estados Unidos | us | en | google.com |
| Reino Unido | gb | en | google.co.uk |
| Canadá | ca | en, fr | google.ca |
| Austrália | au | en | google.com.au |
| Irlanda | ie | en | google.ie |
| Nova Zelândia | nz | en | google.co.nz |
| Alemanha | de | de | google.de |
| França | fr | fr | google.fr |
| Espanha | es | es | google.es |
| Itália | it | it | google.it |
| Países Baixos | nl | nl | google.nl |
| Suíça | ch | de, fr, it | google.ch |
| Polônia | pl | pl | google.pl |
| Suécia | se | sv | google.se |
| Turquia | tr | tr | google.com.tr |
| Brasil | br | pt-BR | google.com.br |
| México | mx | es | google.com.mx |
| Argentina | ar | es | google.com.ar |
| Índia | in | en, hi | google.co.in |
| Japão | jp | ja | google.co.jp |
| Coreia do Sul | kr | ko | google.co.kr |
| Indonésia | id | id | google.co.id |
| Vietnã | vn | vi | google.com.vn |
| Singapura | sg | en | google.com.sg |
| África do Sul | za | en | google.co.za |
Os códigos de idioma são os que o Google usa na interface; para um país bilíngue, escolha o idioma que seu público lê.
Qual domínio do Google devo usar?
Normalmente nenhum: deixe google_domain de fora e a API usa o domínio do país gl, como na tabela acima. Defina-o apenas para reproduzir uma configuração específica, por exemplo google.com com gl=gb.
O domínio sozinho não define o país dos resultados. gl e location fazem a maior parte do trabalho, e é por isso que a resposta registra os três em search_parameters.
Os resultados mobile e desktop são diferentes?
Muitas vezes, sim. A página mobile pode ordenar os blocos de forma diferente, mostrar mais resultados locais para intenções de proximidade e encurtar os snippets. Se seus visitantes usam principalmente celular, rastreie device=mobile; para uma visão completa, rastreie os dois e armazene o dispositivo junto com cada ranking.
Cada dispositivo é uma pesquisa separada, então rastrear os dois dobra os créditos para essas palavras-chave. A US$ 0,56/1K pesquisas no pacote 100.000 pesquisas, 1.000 palavras-chave em dois dispositivos por 30 dias usam 60.000 pesquisas.
Como comparo vários países em um único script?
Percorra uma lista de mercados e guarde o que a API aplicou. O exemplo em Python envia uma consulta para três países, cada um com uma cidade, e imprime o domínio usado e o primeiro link.
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])O Bing aceita os mesmos parâmetros?
Sim para q, gl, hl, device e page: use os mesmos códigos com engine=bing. google_domain não se aplica ao Bing e é ignorado. A resposta tem a mesma estrutura, com organic_results e related_searches; veja a página do Bing para os casos de uso.
Perguntas sobre localização
Posso pesquisar a partir de um CEP ou de coordenadas de GPS?
Não na versão 1. location aceita um nome de lugar no nível de cidade. Para resultados em torno de um ponto no mapa, use engine=google_maps com uma consulta que nomeie a área, como dentist Brooklyn.
Por que recebo rótulos em inglês com gl=de?
Porque hl usa en por padrão. Defina também hl=de para obter a interface, as perguntas e os rótulos em alemão que uma pessoa na Alemanha vê.
Uma localização muda o preço de uma pesquisa?
Não. Toda pesquisa custa 1 crédito, qualquer que seja o país, a cidade, o idioma ou o dispositivo. Os créditos de pesquisa pré-pagos nunca expiram: as pesquisas não utilizadas ficam na sua conta até você usá-las.
Qual é o código do Reino Unido?
Use gb, o código ISO 3166-1 dele. O domínio do Google para ele é google.co.uk, que a API escolhe para você quando gl=gb.