Bouw je eigen SEO-rangschikkingstracker met een SERP API

Kant-en-klare rangschikkingstrackers zijn een black box die je per trefwoord huurt. Verbind zelf een SERP API met een database en je bezit de geografische diepte, de AI-Overzichtscaptatie en de waarschuwingen — voor een fractie van de prijs.

Commerciële rangschikkingstrackers rekenen per trefwoord en geven je een dashboard dat je niet kunt bevragen. Bouw je eigen op een SERP API en je draait dat om: je bezit de ruwe SERP-snapshots, kiest precies welke geografische locaties en apparaten je wilt volgen, legt de delen van de resultatenpagina vast die nu de zichtbaarheid bepalen — AI Overzichten, People Also Ask, het lokale pakket — en verbind waarschuwingen met wat je al gebruikt. Dit is een complete tutorial: het schema, de dagelijkse run, de AI-Overzicht en PAA-captatie, het vergelijken en waarschuwen, en de valkuilen van 2026 die naïeve trackers breken. Het draait op de QuantumProxies SERP API, dus er is geen proxy pool om te beheren.

De valkuil die rangschikkingstracking veranderde

Twee veranderingen maken een moderne tracker anders dan een uit 2020. Ten eerste heeft Google de &num=100 parameter verwijderd, dus je kunt niet langer 100 resultaten in één verzoek ophalen — je moet ongeveer tien tegelijk pagineren, wat verandert hoe diep je kunt volgen en maakt een efficiënte API verplicht in plaats van optioneel. Ten tweede is de resultatenpagina niet langer een schone lijst van tien blauwe links: een AI Overzicht kan boven alles zitten en de vraag direct beantwoorden, People Also Ask-boxen en uitgelichte fragmenten absorberen klikken, en het lokale pakket bezit commerciële intentie. Het volgen van een eenvoudige positienummer terwijl je die negeert, is het verkeerde ding volgen. Onze uitleg over hoe SERP-scraping werkt in 2026 behandelt de num=100 gevolgen in detail.

Stap 1: een schema gebouwd voor vergelijken

Het hele systeem is een dagelijkse snapshot die je vergelijkt met gisteren, dus het schema is snapshot-eerst: één rij per trefwoord, geografische locatie, apparaat en dag, met de rangschikkingsgegevens en de SERP-functies opgeslagen naast elkaar. Houd het AI Overzicht en PAA als gestructureerde kolommen zodat je ze direct kunt bevragen.

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)
);

Stap 2: de dagelijkse geografische run

De kernlus herhaalt je trefwoorden over elke doelgeografische locatie en apparaat, roept de SERP API één keer per combinatie aan, en vindt de beste positie van je domein. Omdat de API geparseerde JSON retourneert en rotatie, geografische locatie en blokkering intern afhandelt, blijft dit een eenvoudige lus — geen headless browser, geen proxyrotatiecode, geen CAPTCHA-afhandeling. Stel gl in voor het land en een locatie voor stadsniveau, en de resultaten komen al gelokaliseerd terug.

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

Verkrijg een SERP API-sleutel om je tracker aan te drijven

Diagram van een rangschikkingstracker-pijplijn die trefwoorden over geografische locaties door een SERP API naar een database voert, vervolgens vergelijkt en waarschuwt
Trefwoorden maal geografische locaties, eenmaal per dag, in een vergelijkbare opslag — de SERP API retourneert geparseerde posities plus AIO en PAA per run.

Stap 3: AI Overzichten en PAA vastleggen

Dit is waar een zelfgemaakte tracker de goedkope commerciële verslaat, waarvan de meeste nog steeds alleen de tien links rapporteren. Een AI Overzicht kan je organische resultaat onder de vouw duwen, zelfs als je "derde" staat, en binnen het AI Overzicht geciteerd worden is nu een eigen zichtbaarheidsmetric die het waard is om apart te volgen. Haal zowel de aanwezigheid van de AIO als of het je domein vermeldt op, en sla de PAA-vragen op — ze dienen als nieuwe trefwoord- en contentideeën.

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

Het volgen van AIO-citatie in de tijd wordt snel de belangrijkste SEO-metric — onze gids over AI Overzicht aanwezigheid programmatisch vastleggen gaat dieper in op de signalen die het waard zijn om te loggen. Voer hetzelfde trefwoord uit vanuit verschillende landen en je zult zien dat rangschikkingen en AIO-citaties per geografische locatie divergeren, wat precies de reden is waarom stadsniveau-runs belangrijk zijn voor iedereen met een lokale of internationale voetafdruk, zoals behandeld in SERP-veranderingen wereldwijd monitoren.

Checklist van wat een moderne rangschikkingstracker per run vastlegt en de voorwaarden die waarschuwingen zouden moeten activeren
Positie alleen is niet langer de rangschikking — leg AI Overzichten, PAA en het lokale pakket vast, en waarschuw wanneer een van hen beweegt.

Stap 4: vergelijken en waarschuwen

Een tracker die niemand leest, is een logbestand. De waarde zit in de waarschuwing — een bericht op het moment dat er iets beweegt. Vergelijk na elke run de nieuwe snapshot met de vorige dag en reageer op de veranderingen die ertoe doen: een daling van drie of meer posities, het winnen of verliezen van een AI Overzicht-citatie, een concurrent die in de top drie breekt, of een URL die van pagina één valt. Stuur die naar Slack, e-mail of een webhook zodat het SEO-team hoort over een daling voordat het verkeersrapport dat doet.

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

Planning en eerlijk blijven over volume

Voer het geheel uit op een dagelijkse cron, idealiter op een consistent uur zodat dag-over-dag vergelijkingen vergelijkbaar zijn. Wees realistisch over schaal: trefwoorden vermenigvuldigd met landen vermenigvuldigd met steden vermenigvuldigd met apparaten is je ware queryaantal, en het groeit snel — honderd trefwoorden over vijf landen op twee apparaten is duizend SERP-aanroepen per dag. De SERP API rekent per query, dus volg de combinaties waarop je daadwerkelijk zult reageren in plaats van alles denkbaar. Als je dit in een product bouwt in plaats van een intern hulpmiddel, behandelt ons bericht over het kiezen van een SERP API voor AI en SEO-tools de economische aspecten per query. Dezelfde eindpunten zijn beschikbaar via onze MCP-server als je liever runs vanuit een agent uitvoert.

Veelgestelde vragen

Hoe bouw ik een rangschikkingstracker met een SERP API?

Sla één snapshot per trefwoord, geografische locatie, apparaat en dag op; roep de SERP API één keer per combinatie aan om geparseerde resultaten te krijgen; haal de positie van je domein plus AI Overzicht en PAA-gegevens op; vergelijk dan elke dag met de vorige en waarschuw bij betekenisvolle beweging. De API handelt proxies, geografische locatie en blokkering af, dus je code blijft een geplande lus over een database.

Kan ik nog steeds 100 resultaten per query krijgen?

Niet in één verzoek — Google heeft de num=100 parameter verwijderd, dus resultaten komen ongeveer tien per pagina en dieper volgen betekent pagineren. Voor de meeste tracking heb je alleen de top 20 of zo nodig, wat het queryvolume en de kosten laag houdt. Een SERP API die voor je pagineert, verbergt dit detail achter een enkele oproep.

Hoe volg ik AI Overzicht aanwezigheid?

Leg twee dingen per run vast: of er een AI Overzicht verscheen voor de query, en of het je domein onder zijn bronnen vermeldde. Sla beide op als afzonderlijke velden zodat je citatie in de tijd kunt volgen — binnen het AI Overzicht genoemd worden is nu een eigen zichtbaarheidsmetric, los van je organische positie.

Hoe vaak moet een rangschikkingstracker draaien?

Dagelijks is standaard voor SEO, op een consistent tijdstip zodat vergelijkingen vergelijkbaar zijn. Volatiele of waardevolle termen kunnen tweemaal daags rechtvaardigen; stabiele, lage prioriteitstermen zijn prima wekelijks. Stem de frequentie af op hoe snel het trefwoord daadwerkelijk beweegt en op je SERP-API-querybudget, aangezien trefwoorden maal geografische locaties maal apparaten je echte kostenstuurder zijn.

Een rangschikkingstracker is een schema, een dagelijkse SERP-oproep en een vergelijking — de hefboomwerking is het bezitten van alle drie. Leg positie, AI Overzichten en PAA vast over de geografische locaties die je belangrijk vindt, waarschuw bij echte beweging, en je hebt een tracker die een fractie van de commerciële kost en vragen beantwoordt die ze je nooit laten stellen.

Bouw je rangschikkingstracker op de QuantumProxies SERP API