Lijst met identifiers (ID's) voor voltooide SERP's die u nog niet hebt opgehaald.
Met deze methode kunt u de ID's verkrijgen van alle SERP's die al zijn verwerkt, maar nog niet zijn opgehaald. Je kunt dan de SERP-ophaalmethode oproepen met deze ID's.
Keuze van uitvoerformaat :
JSON (waarde: json)
HTML (waarde: html)
Resultaatformaat
Google Search
Google Maps
type
string
Type resultaatblok (organisch, video’s, afbeeldingen, people_also_ask, local_pack...)
rank_type
integer
Positie van het element binnen zijn eigen bloktype (bijv.: 3e organisch resultaat = 3)
rank_serp
integer
Absolute positie in de volledige SERP, alle blokken inbegrepen, op basis van de werkelijke verticale positie op de pagina (per pixel)
page
integer
Paginanummer van de SERP waarop het element verschijnt
pixel
integer
Verticale positie van het element op de pagina, in pixels vanaf de bovenkant
domain
string
URL-domein
url
string
URL van het resultaat
title
string
Weergegeven titel van het resultaat
description
string
Beschrijving / weergegeven fragment van het resultaat
brand
string
Cited brand, or the source label as displayed by Google. Only on ai_overview_citation, ai_overview_citation_source and ai_overview_panel blocks. On a citation the URL is often empty, making the brand the only information carried by the item.
visible
boolean
Whether the item is shown straight away in the AI Overview (true) or only after expanding it (false). Only on AI Overview blocks. Always false for ai_overview_citation_source, which appears on hover over a citation.
rank_type
integer
Positie van het element binnen zijn eigen bloktype (bijv.: 3e organisch resultaat = 3)
rank_serp
integer
Absolute positie in de volledige SERP, alle blokken inbegrepen, op basis van de werkelijke verticale positie op de pagina (per pixel)
page
integer
Paginanummer van de SERP waarop het element verschijnt
pixel
integer
Verticale positie van het element op de pagina, in pixels vanaf de bovenkant
title
string
Weergegeven titel van het resultaat
cid
string
Google-ID (CID) van het bedrijfsprofiel
reviews
integer
Aantal beoordelingen
rating
float
Gemiddelde beoordeling op een schaal van 5
website
string
Website van de instelling
type
string
Categorie van het etablissement (bijv.: restaurant)
address
string
Postadres
status_label
string
Openingsstatus (bijv.: Open, Gesloten)
status_detail
string
Details van de status (bijv.: werktijden)
comment
string
Weergegeven opmerking / fragment
images
array
Lijst met afbeeldingen bij dit artikel
Verzoek
Succesvolle reactie
Foutreactie
Status: 200 OK
{
"status": "success",
"request_ms": 41,
"count": 1,
"data": [
{
"id": "SERP_ID",
"status": "done",
"keyword": "example keyword",
"device": "desktop",
"location": "fr",
"language": "fr",
"depth": 1,
"geolocation": false,
"priority": 1,
"callback_url": "",
"cost": "0.00002",
"created_at": "2025-09-10T12:32:56Z",
"scraped_at": "2025-09-10T12:33:02Z",
"duration_ms": 5403,
"serp_info": {
"result_count": 1500000000
},
"results": [
{
"type": "people_also_ask",
"items": [
{
"rank_type": 1,
"rank_serp": 4,
"page": 1,
"pixel": 806,
"domain": "guides.lib.uh.edu",
"url": "https://guides.lib.uh.edu/c.php?g\\x3d1249281",
"title": "What is a keyword example?",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 5,
"page": 1,
"pixel": 858,
"domain": "toolsqa.com",
"url": "https://toolsqa.com/cucumber/data-driven-testing-using-examples-keyword/",
"title": "What is the example keyword used for?",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 6,
"page": 1,
"pixel": 911,
"domain": "www.editage.com",
"url": "https://www.editage.com/insights/how-to-create-keywords-for-a-research-paper",
"title": "How do you write keywords examples?",
"description": ""
},
{
"rank_type": 4,
"rank_serp": 7,
"page": 1,
"pixel": 964,
"domain": "libguides.lvc.edu",
"url": "https://libguides.lvc.edu/c.php?g\\x3d1152118\\x26ampp\\x3d8409030",
"title": "What is an example of a keyword search?",
"description": ""
}
]
},
{
"type": "videos",
"items": [
{
"rank_type": 1,
"rank_serp": 1,
"page": 1,
"pixel": 223,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=H-B5oFJjL8I",
"title": "What are Keywords and How to Choose Them? 1.1. SEO ...",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 2,
"page": 1,
"pixel": 374,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=TTlEVVB75wo&pp=2AEAkAIB",
"title": "What Are Keywords? Everything You Need To Know (and more)",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 3,
"page": 1,
"pixel": 526,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=OMJQPqG2Uas",
"title": "Keyword Research Tutorial: From Start to Finish",
"description": ""
}
]
},
{
"type": "organic",
"items": [
{
"rank_type": 1,
"rank_serp": 8,
"page": 1,
"pixel": 1077,
"domain": "www.seoquantum.com",
"url": "https://www.seoquantum.com/en/blog/6-types-keywords-organic-seo",
"title": "The 6 Types of Keywords in Organic SEO",
"description": "2 mars 2024 — I will introduce you to 6 types of keywords that you absolutely need to know. We will start with the most common ones such as long-tail keywords and then move ..."
},
{
"rank_type": 2,
"rank_serp": 9,
"page": 1,
"pixel": 1223,
"domain": "storychief.io",
"url": "https://storychief.io/blog/seo-keyword-research-examples",
"title": "10 Clever SEO Keyword Research Examples",
"description": "Let's say you run a food blog. Some potential SEO keywords could be: quick weeknight dinners easy dinner recipes 30 minute meals one pot dinners"
},
{
"rank_type": 3,
"rank_serp": 10,
"page": 1,
"pixel": 1369,
"domain": "www.indeed.com",
"url": "https://www.indeed.com/career-advice/career-development/types-of-keywords",
"title": "19 Types of Keywords",
"description": "6 juin 2025 — 19 types of keywords and how to use them for marketing · 1. Market segment keywords · 2. Customer-defining keywords · 3. Product-defining ..."
},
{
"rank_type": 4,
"rank_serp": 11,
"page": 1,
"pixel": 1515,
"domain": "www.usg.edu",
"url": "https://www.usg.edu/galileo/skills/unit04/primer04_07.phtml",
"title": "Keyword Search",
"description": "In this case, the phrase alternative fuels and automobiles are the significant keywords."
},
{
"rank_type": 5,
"rank_serp": 12,
"page": 1,
"pixel": 1639,
"domain": "guides.lib.uh.edu",
"url": "https://guides.lib.uh.edu/c.php?g=1249281",
"title": "What are keywords and why are they important? - Guides",
"description": "You probably used the title of the film and the word “showtimes” as your keywords to bring up the results you needed. Keywords in academic research are similar."
},
{
"rank_type": 6,
"rank_serp": 13,
"page": 1,
"pixel": 1785,
"domain": "www.tactee.fr",
"url": "https://www.tactee.fr/seo/strategie-seo/keyword-seo/",
"title": "Qu'est ce qu'un keyword SEO ? [Définition & conseil]",
"description": "13 juil. 2024 — Commerciale : l'utilisateur compare des produits ou des services, par exemple « meilleur smartphone 2024 ». Identifier l'intention de recherche ..."
},
{
"rank_type": 7,
"rank_serp": 14,
"page": 1,
"pixel": 1931,
"domain": "backlinko.com",
"url": "https://backlinko.com/types-of-keywords",
"title": "10 Types of Keywords with Examples (+ How to Find Them)",
"description": "15 mai 2025 — 10 Types of Keywords with Examples (+ How to Find Them) · 1. Seed Keywords · 2. Informational Keywords · 3. Commercial Keywords · 4."
},
{
"rank_type": 8,
"rank_serp": 15,
"page": 1,
"pixel": 2077,
"domain": "learn.microsoft.com",
"url": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/",
"title": "C# Keywords and contextual keywords - C# reference",
"description": "17 avr. 2025 — For example, @if is a valid identifier, but if isn't because if is a keyword. The first table in this article lists keywords that are ..."
}
]
},
{
"type": "images",
"items": [
{
"rank_type": 1,
"rank_serp": 16,
"page": 1,
"pixel": 2311,
"domain": "searchfacts.com",
"url": "https://searchfacts.com/what-are-keywords-in-seo/",
"title": "",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 17,
"page": 1,
"pixel": 2311,
"domain": "backlinko.com",
"url": "https://backlinko.com/hub/seo/seo-keywords",
"title": "",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 18,
"page": 1,
"pixel": 2311,
"domain": "ahrefs.com",
"url": "https://ahrefs.com/blog/what-are-keywords/",
"title": "",
"description": ""
}
]
}
]
}
]
}
{
"status": "success",
"request_ms": 41,
"count": 1,
"data": [
{
"id": "SERP_ID",
"status": "done",
"keyword": "example keyword",
"device": "desktop",
"location": "fr",
"language": "fr",
"depth": 1,
"geolocation": false,
"priority": 1,
"callback_url": "",
"cost": "0.00002",
"created_at": "2025-09-10T12:32:56Z",
"scraped_at": "2025-09-10T12:33:02Z",
"duration_ms": 5403,
"serp_info": {
"result_count": 1500000000
},
"results": [
{
"type": "people_also_ask",
"items": [
{
"rank_type": 1,
"rank_serp": 4,
"page": 1,
"pixel": 806,
"domain": "guides.lib.uh.edu",
"url": "https://guides.lib.uh.edu/c.php?g\\x3d1249281",
"title": "What is a keyword example?",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 5,
"page": 1,
"pixel": 858,
"domain": "toolsqa.com",
"url": "https://toolsqa.com/cucumber/data-driven-testing-using-examples-keyword/",
"title": "What is the example keyword used for?",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 6,
"page": 1,
"pixel": 911,
"domain": "www.editage.com",
"url": "https://www.editage.com/insights/how-to-create-keywords-for-a-research-paper",
"title": "How do you write keywords examples?",
"description": ""
},
{
"rank_type": 4,
"rank_serp": 7,
"page": 1,
"pixel": 964,
"domain": "libguides.lvc.edu",
"url": "https://libguides.lvc.edu/c.php?g\\x3d1152118\\x26ampp\\x3d8409030",
"title": "What is an example of a keyword search?",
"description": ""
}
]
},
{
"type": "videos",
"items": [
{
"rank_type": 1,
"rank_serp": 1,
"page": 1,
"pixel": 223,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=H-B5oFJjL8I",
"title": "What are Keywords and How to Choose Them? 1.1. SEO ...",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 2,
"page": 1,
"pixel": 374,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=TTlEVVB75wo&pp=2AEAkAIB",
"title": "What Are Keywords? Everything You Need To Know (and more)",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 3,
"page": 1,
"pixel": 526,
"domain": "www.youtube.com",
"url": "https://www.youtube.com/watch?v=OMJQPqG2Uas",
"title": "Keyword Research Tutorial: From Start to Finish",
"description": ""
}
]
},
{
"type": "organic",
"items": [
{
"rank_type": 1,
"rank_serp": 8,
"page": 1,
"pixel": 1077,
"domain": "www.seoquantum.com",
"url": "https://www.seoquantum.com/en/blog/6-types-keywords-organic-seo",
"title": "The 6 Types of Keywords in Organic SEO",
"description": "2 mars 2024 — I will introduce you to 6 types of keywords that you absolutely need to know. We will start with the most common ones such as long-tail keywords and then move ..."
},
{
"rank_type": 2,
"rank_serp": 9,
"page": 1,
"pixel": 1223,
"domain": "storychief.io",
"url": "https://storychief.io/blog/seo-keyword-research-examples",
"title": "10 Clever SEO Keyword Research Examples",
"description": "Let's say you run a food blog. Some potential SEO keywords could be: quick weeknight dinners easy dinner recipes 30 minute meals one pot dinners"
},
{
"rank_type": 3,
"rank_serp": 10,
"page": 1,
"pixel": 1369,
"domain": "www.indeed.com",
"url": "https://www.indeed.com/career-advice/career-development/types-of-keywords",
"title": "19 Types of Keywords",
"description": "6 juin 2025 — 19 types of keywords and how to use them for marketing · 1. Market segment keywords · 2. Customer-defining keywords · 3. Product-defining ..."
},
{
"rank_type": 4,
"rank_serp": 11,
"page": 1,
"pixel": 1515,
"domain": "www.usg.edu",
"url": "https://www.usg.edu/galileo/skills/unit04/primer04_07.phtml",
"title": "Keyword Search",
"description": "In this case, the phrase alternative fuels and automobiles are the significant keywords."
},
{
"rank_type": 5,
"rank_serp": 12,
"page": 1,
"pixel": 1639,
"domain": "guides.lib.uh.edu",
"url": "https://guides.lib.uh.edu/c.php?g=1249281",
"title": "What are keywords and why are they important? - Guides",
"description": "You probably used the title of the film and the word “showtimes” as your keywords to bring up the results you needed. Keywords in academic research are similar."
},
{
"rank_type": 6,
"rank_serp": 13,
"page": 1,
"pixel": 1785,
"domain": "www.tactee.fr",
"url": "https://www.tactee.fr/seo/strategie-seo/keyword-seo/",
"title": "Qu'est ce qu'un keyword SEO ? [Définition & conseil]",
"description": "13 juil. 2024 — Commerciale : l'utilisateur compare des produits ou des services, par exemple « meilleur smartphone 2024 ». Identifier l'intention de recherche ..."
},
{
"rank_type": 7,
"rank_serp": 14,
"page": 1,
"pixel": 1931,
"domain": "backlinko.com",
"url": "https://backlinko.com/types-of-keywords",
"title": "10 Types of Keywords with Examples (+ How to Find Them)",
"description": "15 mai 2025 — 10 Types of Keywords with Examples (+ How to Find Them) · 1. Seed Keywords · 2. Informational Keywords · 3. Commercial Keywords · 4."
},
{
"rank_type": 8,
"rank_serp": 15,
"page": 1,
"pixel": 2077,
"domain": "learn.microsoft.com",
"url": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/",
"title": "C# Keywords and contextual keywords - C# reference",
"description": "17 avr. 2025 — For example, @if is a valid identifier, but if isn't because if is a keyword. The first table in this article lists keywords that are ..."
}
]
},
{
"type": "images",
"items": [
{
"rank_type": 1,
"rank_serp": 16,
"page": 1,
"pixel": 2311,
"domain": "searchfacts.com",
"url": "https://searchfacts.com/what-are-keywords-in-seo/",
"title": "",
"description": ""
},
{
"rank_type": 2,
"rank_serp": 17,
"page": 1,
"pixel": 2311,
"domain": "backlinko.com",
"url": "https://backlinko.com/hub/seo/seo-keywords",
"title": "",
"description": ""
},
{
"rank_type": 3,
"rank_serp": 18,
"page": 1,
"pixel": 2311,
"domain": "ahrefs.com",
"url": "https://ahrefs.com/blog/what-are-keywords/",
"title": "",
"description": ""
}
]
}
]
}
]
}
Je kunt het resultaat van een SERP direct ontvangen op een URL die je aan ons verstrekt wanneer je een query maakt. Het enige wat je hoeft te doen is de HMAC-sleutel ophalen die is gekoppeld aan de gebruikte API-sleutel.
Code
PHP
Python
Javascript
Ruby
Java
C#
GO
// 1) Read the raw body (JSON)
$raw = file_get_contents('php://input');
// Middleware to parse JSON and keep raw body for HMAC verification
app.use(express.json({
verify: (req, res, buf) => {
req.rawBody = buf.toString(); // Save raw body for signature check
}
}));
app.post("/callback", (req, res) => {
// 1) Read the raw body (JSON)
const raw = req.rawBody;
// Use timing-safe comparison to avoid timing attacks
if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature))) {
return res.status(401).type("text").send("Invalid signature");
}
// 4) Decode the JSON (Express already did it in req.body)
let data;
try {
data = req.body;
} catch (err) {
return res.status(400).type("text").send("Invalid JSON");
}
// 5) Process the data
// data contains what the client sent in the payload
// For example: data.id, data.results, etc.
// 6) Respond in JSON (optional, we log these responses for tracking purposes)
res.status(200).json({
status: "ok",
received_at: new Date().toISOString(),
echo: data.id || null
});
});
// 4) Decode the JSON
Map data;
try {
data = new com.fasterxml.jackson.databind.ObjectMapper().readValue(raw, Map.class);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST)
.contentType(MediaType.TEXT_PLAIN)
.body("Invalid JSON");
}
// 5) Process the data
// data contains what the client sent in the payload
// For example: data.get("id"), data.get("results"), etc.
// 6) Respond in JSON (optional, we log these responses for tracking purposes)
Map response = new HashMap<>();
response.put("status", "ok");
response.put("received_at", Instant.now().toString());
response.put("echo", data.get("id"));
// Helper method: secure string comparison (to avoid timing attacks)
private boolean secureCompare(String a, String b) {
if (a == null || b == null || a.length() != b.length()) {
return false;
}
int result = 0;
for (int i = 0; i < a.length(); i++) {
result |= a.charAt(i) ^ b.charAt(i);
}
return result == 0;
}
// Helper method: convert bytes to hex string
private String bytesToHex(byte[] bytes) {
StringBuilder hexString = new StringBuilder(2 bytes.length);
for (byte b : bytes) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
}
}
PHP
Python
Javascript
Ruby
Java
C#
GO
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
const string SHARED_SECRET = "HMAC_KEY";
app.MapPost("/callback", async (HttpRequest request, HttpResponse response) =>
{
// 1) Read the raw body (JSON)
using var reader = new StreamReader(request.Body);
var raw = await reader.ReadToEndAsync();
// 2) Retrieve the headers
var signature = request.Headers["X-Signature"].FirstOrDefault() ?? "";
// 3) (Optional) Verify the HMAC signature
using var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(SHARED_SECRET));
var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(raw));
var expected = Convert.ToHexString(hash).ToLowerInvariant();
// 5) Process the data
// data contains what the client sent in the payload
// For example: data["id"], data["results"], etc.
// 6) Respond in JSON (optional, we log these responses for tracking purposes)
var jsonResponse = new
{
status = "ok",
received_at = DateTime.UtcNow.ToString("o"), // ISO 8601
echo = data != null && data.ContainsKey("id") ? data["id"] : null
};
Bekijk het aantal SERP's op basis van hun status:
Voltooid en resultaten opgehaald door de gebruiker (status=done, fetched=true)
Voltooid en resultaten niet opgehaald door de gebruiker (status=done, fetched=false)
In behandeling (status=verwerking)
Wachten (status=wachtend)