Позиции различаются от рынка к рынку — одно и то же ключевое слово может показывать совершенно разные результаты в США, Бразилии и Германии. Google Search API с параметром страны позволяет точно отслеживать каждый рынок. Вот как это сделать с serp.cheap.
Параметр gl
gl выбирает, какой национальный Google вы запрашиваете, используя правильный домен и региональный язык:
import requests
def rank_in(keyword, domain, gl):
data = requests.post("https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": keyword, "gl": gl}).json()
for r in data["organic"]:
if domain in r["link"]:
return r["position"]
return None
for market in ["us", "gb", "de", "br"]:
print(market, rank_in("running shoes", "nike.com", market))
Поддерживаемые страны
us, br, gb, de, fr, es, it, mx, ca, au, jp, nl — 12 рынков, каждый с правильным доменом Google и языком. Добавьте hl, чтобы переопределить язык отображения внутри страны (например, результаты на французском в Канаде).
Интент на уровне города
serp.cheap локализует на уровне страны. Для интента на уровне города или района включите локацию в сам запрос — "emergency plumber austin tx" — и закрепите gl за страной. Это захватит SERP с локальным интентом для этой фразы.
Создание панели для нескольких рынков
Прогоните список ключевых слов по значениям gl и сохраняйте (date, keyword, market, position). Теперь у вас есть трекер позиций с учётом локации — смотрите как построить трекер позиций на Python для паттерна хранения/планирования.
Стоимость
Один запрос на ключевое слово на рынок. 50 ключевых слов × 4 рынка в день = 200 запросов ≈ $0.12/день при свежих данных, меньше при попаданиях в кэш.