Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto: BTC, USDT, USDC, ETH, SOL, LTC
Taal: Nederlands
API-sleutel aanvragen

Docs · Response format · API v1

SERP API-responseformaat: elk blok en field van de JSON

Eén frame op elke engine, dan één blok per deel van de resultatenpagina. Deze pagina noemt elk blok, de fields en hun types. In de voorbeelden zijn IDs, aantallen, prijzen en resultaten illustratief.

Laatst bijgewerkt: · 7 min leestijd

Snel antwoord

Wat bevat een SerpCrypto SERP API-antwoord?

Elk SerpCrypto antwoord is één JSON-object: search_metadata (status, engine, gebruikte credits), search_parameters (de toegepaste instellingen), search_information, dan één blok per deel van de resultatenpagina, zoals organic_results, ai_overview, people_also_ask of local_results. Ontbrekende delen ontbreken simpelweg. Eén pagina kost 1 credit, vanaf US$ 0,30/1K zoekopdrachten; betalen met crypto, zonder KYC.

Hoe ziet een volledig Google-antwoord eruit?

Het voorbeeld hieronder is een Google-zoekopdracht naar standing desk in het Verenigd Koninkrijk, ingekort tot één item per array. Een echt antwoord heeft ongeveer tien organische resultaten en elk ander blok dat de pagina voor die zoekopdracht, locatie en device toonde.

engine=google, gl=gb: ingekort, illustratieve waarden
{
  "search_metadata": {
    "id": "srch_2b81d0c6fa47",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T10:02:31Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "standing desk",
    "gl": "gb",
    "hl": "en",
    "google_domain": "google.co.uk",
    "device": "desktop",
    "page": 1
  },
  "search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
  "ai_overview": {
    "text": "A standing desk lets you work while standing or sitting…",
    "references": [
      { "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
    ]
  },
  "ads": [
    { "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "Best standing desks 2026, tested",
      "link": "https://www.example.co.uk/best-standing-desks",
      "displayed_link": "www.example.co.uk › reviews",
      "snippet": "We tested 14 electric and manual desks…",
      "date": "12 Oct 2026",
      "sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
    }
  ],
  "people_also_ask": [
    { "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
  ],
  "shopping_results": [
    { "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
  ],
  "related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
  "pagination": { "current": 1, "next_page": 2 }
}

Waarom ontbreken sommige blokken in mijn antwoord?

Omdat de resultatenpagina ze niet toonde. Google beslist per zoekopdracht, plaats en device of er ads, een AI Overview, een local pack of top stories worden getoond. SerpCrypto geeft terug wat de pagina toonde en laat de rest weg, in plaats van lege placeholders te sturen.

Lees elk blok met een standaardwaarde, zoals in de Python-regels hieronder. Dezelfde regel geldt binnen een blok: optionele fields zoals date of sitelinks verschijnen alleen bij resultaten die ze hebben.

Python: lees optionele blokken veilig
data = response.json()

# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]

if overview:
    print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")

Wat staat er in search_metadata?

FieldTypeBeschrijving
idstringIdentifier van de zoekopdracht. Noem deze wanneer je contact opneemt met support.
statusstringsuccess bij een 200-antwoord.
enginestringDe engine die de zoekopdracht uitvoerde.
created_atstringTijd van de zoekopdracht, ISO 8601 in UTC.
credits_usedintegerCredits die deze zoekopdracht kostte: 1 bij succes.

Wat zijn search_parameters en search_information?

Bewaar search_parameters bij je resultaten: het legt precies vast uit welk land, welke taal, welke plaats en welk apparaat een ranking kwam.

FieldTypeBeschrijving
search_parametersobjectDe toegepaste parameters, met de standaardwaarden ingevuld: engine, q, gl, hl, location, google_domain, device, page en de andere die je hebt verstuurd.
search_information.total_resultsintegerHet aantal resultaten dat de engine toonde, als het er een toonde. Een schatting, geen exact aantal.
search_information.query_displayedstringDe zoekopdracht zoals de resultatenpagina die toonde.

Welke velden heeft organic_results?

Organische resultaten zijn de onbetaalde webresultaten. Bij Bing heeft organic_results dezelfde vorm.

FieldTypeBeschrijving
positionintegerVolgorde van het resultaat in dit blok op deze pagina, beginnend bij 1.
titlestringDe titel van de blauwe link.
linkstringDe URL van het resultaat.
displayed_linkstringDe URL of breadcrumb zoals onder de titel getoond.
snippetstringDe tekst die onder de titel wordt getoond.
datestringDatum die naast het snippet wordt getoond, zoals op de pagina geschreven. Optioneel.
sitelinksarrayExtra links die onder het resultaat worden getoond, elk met title en link. Optioneel.

Hoe wordt het AI Overview teruggegeven?

ai_overview is alleen aanwezig wanneer Google een AI Overview toont voor die zoekopdracht en plaats. Veel zoekopdrachten hebben er geen.

FieldTypeBeschrijving
ai_overview.textstringDe tekst van het AI Overview zoals op de pagina getoond.
ai_overview.references[].indexintegerVolgorde van de bron in het overview.
ai_overview.references[].titlestringTitel van de geciteerde pagina.
ai_overview.references[].linkstringURL van de geciteerde pagina.
ai_overview.references[].sourcestringNaam van de site, zoals getoond.

Wat bevatten ads en people_also_ask?

FieldTypeBeschrijving
ads[].positionintegerVolgorde binnen het eigen blok.
ads[].blockstringtop of bottom van de pagina.
ads[].title, link, displayed_linkstringKop, landings-URL en weergegeven URL van de advertentie.
ads[].descriptionstringAdvertentietekst.
people_also_ask[].questionstringDe vraag zoals weergegeven.
people_also_ask[].snippetstringDe antwoordtekst die wordt getoond wanneer de vraag wordt geopend.
people_also_ask[].title, linkstringTitel en URL van de pagina waar het antwoord vandaan komt.

Welke andere Google-blokken kunnen verschijnen?

BlokVeldenWat het is
local_resultsposition, title, address, rating, reviews, typeHet local pack: bedrijven op een kaart voor zoekopdrachten met een plaatsintentie.
knowledge_graphtitle, type, description, source.name, source.linkHet knowledge panel over een persoon, plaats, bedrijf of ding.
top_storiestitle, link, source, dateNieuwsartikelen weergegeven in een carrousel.
inline_videostitle, link, source, durationVideoresultaten weergegeven binnen de webresultaten.
shopping_resultsposition, title, price, source, linkProductvermeldingen weergegeven binnen de webresultaten.
related_searchesqueryZoekopdrachten die onderaan de pagina worden voorgesteld.
paginationcurrent, next_pageHuidig paginanummer en het volgende, wanneer dat er is.

Wat retourneren de andere engines?

Elke vertical gebruikt hetzelfde kader en voegt er een eigen array aan toe. Op Google Maps is local_results rijker dan het local pack van een webzoekopdracht.

engineHoofdarrayVelden
google_newsnews_resultsposition, title, link, source, date, snippet, thumbnail
google_imagesimages_resultsposition, title, original, original_width, original_height, thumbnail, source, link
google_mapslocal_resultsposition, title, place_id, address, phone, website, rating, reviews, type, hours, gps_coordinates.latitude, gps_coordinates.longitude
google_shoppingshopping_resultsposition, title, price, extracted_price, currency, source, link, delivery, rating, reviews
bingorganic_results, related_searchesDezelfde velden als de organische resultaten van Google

Hoe worden prijzen, beoordelingen en datums getypeerd?

Waarden behouden de vorm die de pagina gebruikte wanneer de pagina ze als tekst schreef. price is een string met het valutasymbool, zoals £299.00, en Google Shopping voegt extracted_price toe als getal met currency als code. rating is een getal en reviews een integer. Datums zoals date blijven zoals ze op de pagina staan, bijvoorbeeld 12 Oct 2026 of 3 days ago, dus parse ze in je eigen code als je een timestamp nodig hebt.

Hoe bouw ik een totaalrangschikking over meerdere pagina's?

Sla het paginanummer bij elk resultaat op. position geeft de volgorde binnen het blok op één pagina, en search_parameters.page vertelt je welke pagina dat was. Ongeveer 10 organische resultaten per pagina, zoals Google levert sinds het in september 2025 stopte met num=100; elke extra pagina kost nog een credit.

Voor rank tracking houden de meeste teams link, position, page, gl, location, device en created_at per zoekwoord en per dag bij. Dat is genoeg om een ranking in kaart te brengen en een verandering te verklaren door plaats of apparaat. Zie rank tracking voor de volledige methode.

Vragen over het responseformaat

Is de veldnaamgeving stabiel?

Ja, binnen versie 1. Nieuwe blokken of velden kunnen worden toegevoegd, dus negeer keys die je niet kent. Een veld verwijderen of hernoemen gebeurt met een nieuwe versie in het pad, zoals /api/v2/.

Kan ik de ruwe HTML van de pagina krijgen?

Nee. Versie 1 retourneert alleen geparseerde JSON. De geparseerde blokken dekken wat de meeste tools nodig hebben: resultaten, advertenties, vragen, de AI Overview, het local pack en het knowledge panel.

Waarom wijkt total_results af van wat ik heb geteld?

Het is de schatting die de engine toont, niet een telling van de resultaten die je kunt doorbladeren. Pagina's stoppen lang voor dat aantal; gebruik pagination.next_page om te weten of er nog een pagina bestaat.

Kost een response zonder organische resultaten een credit?

Ja, als de zoekopdracht is geslaagd: een lege pagina is nog steeds een resultaat. Alleen fouten zijn gratis. 1 credit = 1 geslaagde zoekopdracht, die één pagina met resultaten oplevert op elke ondersteunde engine. Een mislukte zoekopdracht wordt niet in rekening gebracht.

Vanaf US$ 0,30/1K zoekopdrachten · zonder KYC

API-sleutel aanvragen