Szybka odpowiedź
Jak uzyskać wyniki wyszukiwania Google dla konkretnego kraju i miasta przez API SERP?
W SerpCrypto ustaw gl na kod kraju, hl na język, a location na miasto zapisane City, Region, Country, np. Austin, Texas, United States. Dodaj device=mobile, aby uzyskać wyniki telefoniczne. Każda kombinacja to jedno zapytanie za 1 kredyt, od 0,30 USD/1K wyszukiwań, a odpowiedź zwraca zastosowane ustawienia. Płatność kryptowalutą, bez KYC.
Co robi każdy parametr lokalizacji?
Kraj (gl), język (hl), domena Google i lokalizacja na poziomie miasta, na desktopie lub mobile.
| Parametr | Domyślnie | Efekt |
|---|---|---|
gl | us | Kraj wyników. Dwie litery, ISO 3166-1, małymi literami. Użyj gb dla Wielkiej Brytanii. |
hl | en | Język interfejsu: etykiety, People Also Ask i część snippetów idą za nim. |
location | brak | Konkretne miejsce w kraju, dla lokalnych pakietów i rankingów na poziomie miasta. |
google_domain | domena gl | Która domena Google obsługuje wyszukiwanie, np. google.de. Ignorowane dla Bing. |
device | desktop | desktop lub mobile: układy i bloki lokalne różnią się między nimi. |
Jaka jest różnica między gl, hl i location?
gl mówi, z jakiego kraju chcesz wyniki. hl mówi, w jakim języku czyta osoba, co zmienia interfejs, a często też pytania i snippety. location zawęża kraj do miasta lub regionu, co ma znaczenie, gdy zapytanie ma intencję lokalną.
Łączą się swobodnie. Francuz w Szwajcarii to gl=ch, hl=fr. Wyszukiwanie po angielsku z Berlina to gl=de, hl=en, location=Berlin, Berlin, Germany. Trzymaj gl i kraj w location zgodne: miasto w jednym kraju z gl innego daje wyniki, których nie widzi żaden realny użytkownik.
Jak wycelować w miasto?
Zapisz miejsce po angielsku, od najmniejszej jednostki do największej: City, Region, Country. Przykłady: Austin, Texas, United States, Manchester, England, United Kingdom, Munich, Bavaria, Germany, Lyon, Auvergne-Rhone-Alpes, France. Użyj nazwy miasta, nie ulicy ani kodu pocztowego.
Sprawdź search_parameters.location w odpowiedzi: pokazuje zastosowane miejsce. Wartość, której nie da się użyć, zwraca 400 invalid_parameter i nic nie kosztuje, więc możesz tanio przetestować listę miejsc.
# 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)"'
doneJakich kodów używać dla popularnych rynków?
25 popularnych rynków. google_domain domyślnie przyjmuje domenę kraju gl, więc rzadko musisz ją ustawiać.
| Kraj | gl | Typowe hl | Domena Google |
|---|---|---|---|
| Stany Zjednoczone | us | en | google.com |
| Wielka Brytania | gb | en | google.co.uk |
| Kanada | ca | en, fr | google.ca |
| Australia | au | en | google.com.au |
| Irlandia | ie | en | google.ie |
| Nowa Zelandia | nz | en | google.co.nz |
| Niemcy | de | de | google.de |
| Francja | fr | fr | google.fr |
| Hiszpania | es | es | google.es |
| Włochy | it | it | google.it |
| Holandia | nl | nl | google.nl |
| Szwajcaria | ch | de, fr, it | google.ch |
| Polska | pl | pl | google.pl |
| Szwecja | se | sv | google.se |
| Turcja | tr | tr | google.com.tr |
| Brazylia | br | pt-BR | google.com.br |
| Meksyk | mx | es | google.com.mx |
| Argentyna | ar | es | google.com.ar |
| Indie | in | en, hi | google.co.in |
| Japonia | jp | ja | google.co.jp |
| Korea Południowa | kr | ko | google.co.kr |
| Indonezja | id | id | google.co.id |
| Wietnam | vn | vi | google.com.vn |
| Singapur | sg | en | google.com.sg |
| Republika Południowej Afryki | za | en | google.co.za |
Kody języków są takie, jakich Google używa w swoim interfejsie; w kraju dwujęzycznym wybierz język, w którym czyta Twoja grupa docelowa.
Której domeny Google powinienem użyć?
Zwykle żadnej: pomiń google_domain, a API użyje domeny kraju gl, jak w tabeli powyżej. Ustaw ją tylko po to, by odtworzyć konkretną konfigurację, na przykład google.com z gl=gb.
Sama domena nie określa kraju wyników. Większość pracy wykonują gl i location, dlatego odpowiedź zapisuje wszystkie trzy w search_parameters.
Czy wyniki mobilne i desktopowe się różnią?
Często tak. Strona mobilna może inaczej układać bloki, pokazywać więcej wyników lokalnych dla zapytań o pobliskie miejsca i skracać snippety. Jeśli Twoi odwiedzający najczęściej korzystają z telefonów, śledź device=mobile; dla pełnego obrazu śledź oba i zapisuj urządzenie przy każdym rankingu.
Każde urządzenie to osobne wyszukiwanie, więc śledzenie obu podwaja kredyty dla tych słów kluczowych. Przy 0,56 USD/1K wyszukiwań w pakiecie 100 000 wyszukiwań, 1 000 słów kluczowych na dwóch urządzeniach przez 30 dni zużywa 60 000 wyszukiwań.
Jak porównać kilka krajów w jednym skrypcie?
Przejdź w pętli po liście rynków i zapisuj to, co zastosowało API. Przykład w Pythonie wysyła jedno zapytanie do trzech krajów, każde z miastem, i wypisuje użytą domenę oraz pierwszy 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])Czy Bing przyjmuje te same parametry?
Tak dla q, gl, hl, device i page: użyj tych samych kodów z engine=bing. google_domain nie dotyczy Binga i jest ignorowany. Odpowiedź ma tę samą strukturę, z organic_results i related_searches; zobacz stronę Bing, aby poznać jej przypadki użycia.
Pytania o lokalizację
Czy mogę wyszukiwać po kodzie ZIP lub współrzędnych GPS?
Nie w wersji 1. location przyjmuje nazwę miejsca na poziomie miasta. Aby uzyskać wyniki wokół punktu na mapie, użyj engine=google_maps z zapytaniem, które nazywa ten obszar, np. dentist Brooklyn.
Dlaczego otrzymuję angielskie etykiety z gl=de?
Ponieważ hl domyślnie przyjmuje en. Ustaw także hl=de, aby otrzymać niemiecki interfejs, pytania i etykiety, które widzi osoba w Niemczech.
Czy lokalizacja zmienia cenę wyszukiwania?
Nie. Każde wyszukiwanie kosztuje 1 kredyt, niezależnie od kraju, miasta, języka czy urządzenia. Prepaid kredyty wyszukiwania nigdy nie wygasają: niewykorzystane wyszukiwania pozostają na Twoim koncie, dopóki ich nie wykorzystasz.
Który kod to Wielka Brytania?
Użyj gb, jej kodu ISO 3166-1. Domena Google dla niej to google.co.uk, którą API wybiera za Ciebie, gdy gl=gb.