API відстеження позицій: живі позиції Google у топ-10 за країною й пристроєм

Serper.live — це живий Google SERP API, а не панель відстеження позицій. Він дає вашому власному трекеру те єдине, чого той не може створити сам: органічну видачу, яку Google показує просто зараз за ключовим словом в обраній країні на обраному пристрої, у форматі JSON із позицією в кожному результаті.

Опубліковано: Оновлено:
API відстеження позицій: живі позиції Google у топ-10 за країною й пристроєм
На цій сторінці
01

Чому SERP API, а не SaaS для відстеження позицій

Сервіс відстеження позицій продає вам свій розклад, свої ліміти ключових слів і свої звіти. SERP API продає сировину: живий топ-10, а за потреби й топ-100, для кожного ключового слова, а розклад, зберігання і звітність лишаються у ваших руках.

Тому Serper.live — це бекенд для трекера, який належить вам: панель агентства, модуль у вашому SEO-продукті, нічне завдання, що записує позиції у вашу базу даних. Без оплати за користувачів, квот на ключові слова й планів на проєкт; рахунок — це кількість пошуків, помножена на ринкову ціну.

Компроміс очевидний: планувальник і зберігання пишете ви, а кожна перевірка — справжній пошук Google, що триває кілька секунд. Натомість кожна збережена позиція отримана у відомий час, для відомих країни й пристрою, і ніколи з кешу.

02

Як отримати позицію за ключовим словом

Один запит на ключове слово, країну й пристрій. Повний довідник є в документації; логіка у вашому коді — чотири кроки, а приклад нижче — той самий запит у curl, JavaScript і Python:

  1. Надішліть POST /v1/search із query, country і device, за потреби language і limit. Живий пошук зазвичай відповідає за 2–3 секунди, перший до ринку після паузи — довше: установіть тайм-аут клієнта щонайменше 100 секунд і запускайте перевірки з черги.
  2. Прочитайте organic[]. Кожен елемент має position, title, url, domain і snippet у тому порядку, в якому їх показує Google.
  3. Знайдіть елемент, чий domain збігається з сайтом, який ви відстежуєте, і збережіть його position разом із fetchedAt і requestId. Заздалегідь вирішіть, чи зараховується субдомен кореневому домену, і ігноруйте початкове www..
  4. Відсутність збігу означає, що в цій перевірці сайт поза запитаним діапазоном, типово поза топ-10. Зберігайте й це: випадання ключового слова з топ-10 — саме те, для чого існує трекер.
curl
curl -s -X POST https://api.serper.live/v1/search \
  -H "Authorization: Bearer sl_live_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"best coffee shops","country":"DE","device":"desktop"}' \
  | jq '.organic[] | select(.domain == "example.com") | .position'
JavaScript
const response = await fetch('https://api.serper.live/v1/search', {
    method: 'POST',
    headers: {
        Authorization: 'Bearer sl_live_YOUR_TOKEN',
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ query: 'best coffee shops', country: 'DE', device: 'desktop' }),
    signal: AbortSignal.timeout(100000),
});
const { organic } = await response.json();
const hit = organic.find(row => row.domain === 'example.com');

console.log(hit ? hit.position : 'outside the top 10');
Python
import requests

response = requests.post(
    "https://api.serper.live/v1/search",
    headers={"Authorization": "Bearer sl_live_YOUR_TOKEN"},
    json={"query": "best coffee shops", "country": "DE", "device": "desktop"},
    timeout=100,
)
organic = response.json()["organic"]
position = next((row["position"] for row in organic if row["domain"] == "example.com"), None)
print(position or "outside the top 10")
03

Ринки та пристрої

Відкриті ринки зараз: Німеччина, Франція, Велика Британія, Туреччина, Україна і Сполучені Штати. У кожного ринку є дволітерний код, який ви передаєте як country, типова мова інтерфейсу Google, яку можна змінити через language, і однакова ціна для desktop і mobile.

Нові ринки з’являються в GET /v1/countries і на сторінці цін у міру запуску; ваша інтеграція не змінюється.

04

Скільки це коштує

Перевірка — це один запит: від $0.01 за ключове слово, країну й пристрій, тобто $10.00 за 1 000 перевірок. Підписки немає, а баланс передплачується в USDT або USDC від $5 і ніколи не згорає.

Приклад: 500 ключових слів, які перевіряються раз на день на одному пристрої, дають близько 15 000 запитів на місяць. Помножте на ціну свого ринку або введіть це число в калькулятор на сторінці цін. Desktop і mobile подвоюють кількість; дві перевірки на день подвоюють її ще раз.

05

Обмеження, які варто знати

  • Живий пошук зазвичай триває 2–3 секунди, перший для ринку після паузи — довше. Плануйте пропускну здатність: запускайте перевірки паралельно з черги з тайм-аутом клієнта щонайменше 100 секунд.
  • Позиції такі глибокі, як ви просите: limit 1–100, типово 10. Кожна розпочата десятка коштує одну ціну ринку, тож перевірка топ-30 резервує три ціни і лишає оплату лише за десятки з результатами; сайт поза запитаним діапазоном позначається як відсутній, а не як позиція.
  • Нічого не кешується. Два однакові запити — це два живі пошуки і два списання; зберігайте результати на своєму боці.
  • Результати прив’язані до країни, пристрою й мови, які ви надсилаєте. Порівнюйте позицію лише з попередніми перевірками з тими самими трьома значеннями.
  • Google змінює результати від перевірки до перевірки і з часом. Одна жива перевірка — це вибірка; сигнал для звіту — тренд за кілька днів.
06

Почніть з одного ключового слова

Спробуйте, перш ніж писати код: пісочниця виконує три живі пошуки на IP-адресу на день без акаунта, а її поле домену одразу показує позицію. Потім створіть акаунт, поповніть баланс від $5 і надішліть перший запит зі швидкого старту.

FAQ

Запитання про API відстеження позицій

Це API перевірки позицій за ключовими словами?

Так, у тому сенсі, який має значення: надішліть ключове слово, країну й пристрій, і у відповіді буде живий топ-10, а з limit — до 100 результатів, із позицією в кожному результаті. Знайти в ньому свій домен — один цикл у вашому коді.

Чи можна використовувати його як API перевірки позицій Google за країною?

Так. Параметр country обирає ринок (зараз відкрито: Німеччина, Франція, Велика Британія, Туреччина, Україна і Сполучені Штати), і кожен ринок приймає desktop або mobile. Параметр language змінює мову інтерфейсу з типової для ринку.

Чи є API відстеження позицій без підписки?

Це він. У Serper.live немає планів і місячної плати: ви поповнюєте баланс від $5 у USDT або USDC, кожна перевірка коштує ринкову ціну, а невикористаний баланс ніколи не згорає.

Чи повертає він позиції після 10?

Так, до 100. Типово запит повертає топ-10; задайте limit до 100, і відповідь міститиме наступні сторінки результатів за один виклик, а кожна розпочата десятка оплачується за ціною ринку. Якщо домену, який ви відстежуєте, серед результатів немає, вважайте, що в цій перевірці ключове слово поза запитаним діапазоном.

Як часто можна перевіряти позицію за ключовим словом?

Так часто, як дозволяє баланс: кожна перевірка — живий пошук, який тарифікується окремо, і нічого не кешується. Зазвичай перевіряють щодня; щогодини підходить для короткого списку. Пошуки виконуються паралельно, без квот на перевірки.

Почніть із кількох доларів на балансі.

Без підписки й мінімального контракту. Створіть акаунт Serper.live, поповніть USDT або USDC і надішліть перший живий запит за кілька хвилин.