Zbuduj własny SEO Rank Tracker z SERP API
Gotowe rank trackery to czarna skrzynka, którą wynajmujesz na słowo kluczowe. Podłącz SERP API do bazy danych samodzielnie, a będziesz właścicielem głębokości geograficznej, przechwytywania AI-Overview i alertowania — za ułamek ceny.
Komercyjne rank trackery pobierają opłaty za słowo kluczowe i dają ci pulpit, którego nie możesz zapytać. Zbuduj własny na SERP API i odwróć to: jesteś właścicielem surowych zrzutów SERP, wybierasz dokładnie, które geolokalizacje i urządzenia śledzić, przechwytujesz części strony wyników, które teraz decydują o widoczności — AI Overviews, People Also Ask, lokalny pakiet — i podłączasz alerty do tego, czego już używasz. To kompletny samouczek: schemat, codzienne uruchomienie, przechwytywanie AI-Overview i PAA, różnicowanie i alertowanie oraz pułapki na 2026 rok, które łamią naiwne trackery. Działa na QuantumProxies SERP API, więc nie ma potrzeby zarządzania pulą proxy.
Pułapka, która zmieniła śledzenie pozycji
Dwie zmiany sprawiają, że nowoczesny tracker wygląda inaczej niż ten z 2020 roku. Po pierwsze, Google usunął parametr &num=100, więc nie możesz już pobrać 100 wyników w jednym żądaniu — paginujesz około dziesięciu na raz, co zmienia, jak głęboko możesz sobie pozwolić na śledzenie i sprawia, że wydajne API jest niezbędne, a nie opcjonalne. Po drugie, strona wyników nie jest już czystą listą dziesięciu niebieskich linków: AI Overview może znajdować się nad wszystkim i bezpośrednio odpowiadać na zapytanie, boksy People Also Ask i wyróżnione fragmenty pochłaniają kliknięcia, a lokalny pakiet posiada intencje komercyjne. Śledzenie zwykłej pozycji, ignorując te elementy, to śledzenie niewłaściwej rzeczy. Nasze wyjaśnienie na temat jak działa scraping SERP w 2026 roku szczegółowo omawia skutki num=100.
Krok 1: schemat zbudowany do różnicowania
Cały system to codzienny zrzut, który różnicujesz w stosunku do wczoraj, więc schemat jest zorientowany na zrzuty: jeden wiersz na słowo kluczowe, geolokalizację, urządzenie i dzień, z danymi o pozycjonowaniu i funkcjami SERP przechowywanymi obok. Zachowaj AI Overview i PAA jako strukturalne kolumny, aby móc je bezpośrednio zapytać.
CREATE TABLE serp_snapshot (
id bigserial PRIMARY KEY,
keyword text NOT NULL,
country text NOT NULL, -- gl: us, gb, de...
city text, -- optional city-level
device text NOT NULL, -- desktop | mobile
position int, -- your domain's best rank, null = not found
landing_url text,
aio_present boolean NOT NULL, -- AI Overview shown?
aio_cited boolean NOT NULL, -- did it cite your domain?
paa jsonb, -- People Also Ask questions
top3 jsonb, -- who owns positions 1-3
captured_at date NOT NULL,
UNIQUE (keyword, country, city, device, captured_at)
);
Krok 2: codzienne uruchomienie geograficzne
Główna pętla iteruje twoje słowa kluczowe w każdej docelowej geolokalizacji i urządzeniu, wywołuje SERP API raz na kombinację i znajduje najlepszą pozycję twojej domeny. Ponieważ API zwraca przetworzony JSON i obsługuje rotację, geolokalizację i blokowanie wewnętrznie, pozostaje to prostą pętlą — bez przeglądarki bezgłowej, bez kodu rotacji proxy, bez obsługi CAPTCHA. Ustaw gl dla kraju i lokalizację dla poziomu miasta, a wyniki wracają już zlokalizowane.
import requests, datetime
QP = "https://api.quantumproxies.io/serp"
HEAD = {"Authorization": f"Bearer {QP_KEY}"}
def run_keyword(keyword, country, device="desktop", city=None):
params = {"engine": "google", "q": keyword,
"gl": country, "device": device, "num": 20}
if city:
params["location"] = city
data = requests.get(QP, headers=HEAD, params=params, timeout=45).json()
pos, url = None, None
for r in data.get("organic", []):
if "yourdomain.com" in r["link"]:
pos, url = r["position"], r["link"]
break
return data, pos, url
Zdobądź klucz SERP API, aby zasilić swój tracker

Krok 3: przechwytywanie AI Overviews i PAA
To tutaj domowy tracker bije tanie komercyjne, z których większość nadal raportuje tylko dziesięć linków. AI Overview może zepchnąć twój organiczny wynik poniżej zagięcia, nawet gdy "zajmujesz" trzecie miejsce, a bycie cytowanym wewnątrz AI Overview to teraz własna metryka widoczności warta osobnego śledzenia. Pobierz zarówno obecność AIO, jak i to, czy odnosi się do twojej domeny, i przechowuj pytania PAA — one podwajają się jako świeże pomysły na słowa kluczowe i treści.
def extract_features(data, domain="yourdomain.com"):
aio = data.get("ai_overview") or {}
aio_present = bool(aio)
aio_cited = any(domain in s.get("link", "")
for s in aio.get("sources", []))
paa = [q["question"] for q in data.get("people_also_ask", [])]
top3 = [r["link"] for r in data.get("organic", [])[:3]]
return aio_present, aio_cited, paa, top3
Śledzenie cytowania AIO w czasie szybko staje się główną metryką SEO — nasz przewodnik na temat programatycznego przechwytywania obecności AI Overview zagłębia się w sygnały warte rejestrowania. Uruchom to samo słowo kluczowe z kilku krajów, a zobaczysz, jak rankingi i cytowania AIO różnią się w zależności od geolokalizacji, co jest dokładnie powodem, dla którego uruchomienia na poziomie miasta mają znaczenie dla każdego z lokalnym lub międzynarodowym zasięgiem, jak omówiono w monitorowaniu zmian SERP globalnie.

Krok 4: różnicowanie i alertowanie
Tracker, którego nikt nie czyta, to plik dziennika. Wartość tkwi w alercie — wiadomości w momencie, gdy coś się poruszy. Po każdym uruchomieniu porównaj nowy zrzut z poprzednim dniem i uruchom na zmianach, które mają znaczenie: spadek o trzy lub więcej pozycji, zyskanie lub utrata cytowania AI Overview, konkurent wchodzący do pierwszej trójki lub URL wypadający z pierwszej strony. Prześlij te informacje do Slacka, e-maila lub webhooka, aby zespół SEO dowiedział się o spadku przed raportem o ruchu.
def diff_and_alert(kw, geo, today, yesterday):
alerts = []
if yesterday.position and today.position:
if today.position - yesterday.position >= 3:
alerts.append(f"{kw} [{geo}] dropped "
f"{yesterday.position} -> {today.position}")
if yesterday.aio_cited and not today.aio_cited:
alerts.append(f"{kw} [{geo}] lost its AI Overview citation")
if today.position and today.position > 10 and \
(yesterday.position or 0) <= 10:
alerts.append(f"{kw} [{geo}] fell off page one")
for a in alerts:
notify(a) # -> Slack / email / webhook
Harmonogramowanie i uczciwość co do wolumenu
Uruchom całość na codziennym cronie, najlepiej o stałej godzinie, aby różnice dzień po dniu były porównywalne. Bądź realistą co do skali: słowa kluczowe pomnożone przez kraje pomnożone przez miasta pomnożone przez urządzenia to twoja rzeczywista liczba zapytań, i rośnie szybko — sto słów kluczowych w pięciu krajach na dwóch urządzeniach to tysiąc wywołań SERP dziennie. SERP API nalicza opłaty za zapytanie, więc śledź kombinacje, na które faktycznie zareagujesz, zamiast wszystkiego, co można sobie wyobrazić. Jeśli budujesz to jako produkt, a nie narzędzie wewnętrzne, nasz post na temat wyboru SERP API dla narzędzi AI i SEO omawia ekonomię per zapytanie. Te same punkty końcowe są dostępne przez nasz serwer MCP, jeśli wolisz uruchamiać z agenta.
Najczęściej zadawane pytania
Jak zbudować rank tracker z SERP API?
Przechowuj jeden zrzut na słowo kluczowe, geolokalizację, urządzenie i dzień; wywołaj SERP API raz na kombinację, aby uzyskać przetworzone wyniki; wyodrębnij pozycję swojej domeny plus dane AI Overview i PAA; następnie różnicuj każdy dzień w stosunku do poprzedniego i alarmuj o znaczących ruchach. API obsługuje proxy, geolokalizację i blokowanie, więc twój kod pozostaje zaplanowaną pętlą nad bazą danych.
Czy nadal mogę uzyskać 100 wyników na zapytanie?
Nie w jednym żądaniu — Google usunął parametr num=100, więc wyniki pojawiają się w przybliżeniu dziesięć na stronę, a głębsze śledzenie oznacza paginację. Dla większości śledzenia potrzebujesz tylko około 20 najlepszych, co utrzymuje wolumen zapytań i koszty na niskim poziomie. SERP API, które paginuje za ciebie, ukrywa ten szczegół za jednym wywołaniem.
Jak śledzić obecność AI Overview?
Przechwytuj dwie rzeczy na każde uruchomienie: czy AI Overview pojawiło się dla zapytania i czy cytowało twoją domenę wśród swoich źródeł. Przechowuj oba jako oddzielne pola, aby móc śledzić cytowanie w czasie — bycie wymienionym w AI Overview to teraz własna metryka widoczności, odrębna od twojej pozycji organicznej.
Jak często powinien działać rank tracker?
Codziennie to standard dla SEO, o stałej porze, aby różnice były porównywalne. Niestabilne lub wysokowartościowe terminy mogą uzasadniać uruchomienia dwa razy dziennie; stabilne, niskopriorytetowe terminy są w porządku co tydzień. Dopasuj częstotliwość do tego, jak szybko faktycznie porusza się słowo kluczowe i do twojego budżetu na zapytania SERP-API, ponieważ słowa kluczowe razy geolokalizacje razy urządzenia to twój prawdziwy czynnik kosztowy.
Rank tracker to schemat, codzienne wywołanie SERP i różnicowanie — dźwignia polega na posiadaniu wszystkich trzech. Przechwytuj pozycję, AI Overviews i PAA w geolokalizacjach, które cię interesują, alarmuj o rzeczywistych ruchach, a będziesz mieć tracker, który kosztuje ułamek komercyjnych i odpowiada na pytania, których nigdy nie pozwalają ci zadać.