• Informationen
  • Anrufbegrenzung
  • Google-Versionen
  • Liste der Versionen
  • Google SERPs
  • Erstellen von Abfragen
  • IDs der Anfragen
  • SERPs abrufen
  • URL-Callback
  • Status der SERPs-Bearbeitung
  • Rechnungsstellung
  • Verbleibender Kredit
  • Zahlungsmittel

Informationen

Begrenzung der Anzahl der API-Aufrufe
GET : 100 appels par minute
POST : 100 appels par minute

Google-Versionen

Ermöglicht das Abrufen der Parameter location und language, die zum Abrufen von Google SERPs erforderlich sind.
get
https://api.semscraper.com/v1/serp/google/location
Berechtigungen : Bearer {api_key}
  • Abfrage
  • Erfolgreiche Antwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 17,
    "count": 372,
    "data":
        {
            "location": "en",
            "language": "en",
            "host": "google.com",
            "name": "World Wide Web"
        },
        {
            "location": "fr",
            "language": "fr",
            "host": "google.fr",
            "name": "France"
        }
}

Google SERPs

Erstellen von Google SERPs-Abfragen
Die Daten müssen in einem JSON-Array gesendet werden. Jedes Element muss die folgenden Felder enthalten.
Grenze
Das JSON-Array kann 100 Elemente enthalten, sodass Sie mit einem einzigen Aufruf 100 SERP-Scraps erstellen können.
post
https://api.semscraper.com/v1/serp/google
Berechtigungen : Bearer {api_key}
Einstellungen
search_engine
Erforderlich
string
Auswahl der Suchmaschine :
Google Suche (Wert: google_search)
keyword
Erforderlich
string
Schlüsselwörter, nach denen in der Suchmaschine gesucht werden soll
device
Erforderlich
string
Wahl des Mediums :
Computer (Wert: Desktop)
Mobil (Wert: mobil)
depth
Erforderlich
integer
Seitentiefe, wir holen uns die Google SERPs mit Paginierung. Diese Einstellung muss zwischen 1 (ca. 10 Ergebnisse) und 10 (ca. 100 Ergebnisse) liegen.
location
Erforderlich
string
Lokalisierungscode der Suchmaschine
language
Erforderlich
string
Sprache der Suchmaschine
geolocation
string
Ermöglicht die Geolokalisierung einer Google SERP. Sie können z. B. die Stadt, das Department, das Land angeben, getrennt durch ein Komma.
priority
integer
Ermöglicht die Priorisierung Ihrer Anfragen, sie werden mit absteigender Priorität bearbeitet. Wert zwischen 1 und 10.
callback_url
string
Hiermit können Sie eine URL angeben, an die wir Ihnen die Ergebnisse des Suchbegriffs senden, sobald dieser bearbeitet wurde.
  • Abfrage
  • Erfolgreiche Antwort
  • Fehlerantwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 40,
    "count": 1,
    "currency": "EUR",
    "total_cost": 2.0e-5,
    "data":
        {
            "id": "SERP_ID",
            "status": "pending",
            "keyword": "example keyword",
            "device": "mobile",
            "location": "fr",
            "language": "fr",
            "depth": 1,
            "geolocation": false,
            "priority": 1,
            "callback_url": null,
            "cost": 2.0e-51,
            "_links": {
                "json": {
                    "href": "/serp/google?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp/google?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    

}
Status: 400 Bad Request
{
    "error": "Bad Request",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
Liste der Identifikatoren (IDs) von abgeschlossenen SERPs, die Sie noch nicht abgerufen haben.
Mit dieser Methode erhalten Sie die IDs aller SERPs, die bereits verarbeitet, aber noch nie abgerufen wurden. Anschließend können Sie mithilfe dieser IDs die Methode zum Abrufen von Google SERPs aufrufen.
get
https://api.semscraper.com/v1/serp/google
Berechtigungen : Bearer {api_key}
  • Abfrage
  • Erfolgreiche Antwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 40,
    "count": 2,
    "data":
        {
            "id": "SERP_ID",
            "status": "done",
            "keyword": "example keyword",
            "device": "desktop",
            "location": "fr",
            "language": "fr",
            "depth": 5,
            "geolocation": false,
            "callback_url": "",
            "cost": "0.00010",
            "_links": {
                "json": {
                    "href": "/serp/google?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp/google?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        },
        {
            "id": "SERP_ID",
            "status": "done",
            "keyword": "example keyword",
            "device": "mobile",
            "location": "fr",
            "language": "fr",
            "depth": 5,
            "geolocation": false,
            "callback_url": "",
            "cost": "0.00010",
            "_links": {
                "json": {
                    "href": "/serp/google?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp/google?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    

}
Google SERPs über ihre IDs abrufen
Mehrere SERPs in einem Aufruf abrufen (im JSON- oder HTML-Format), indem Sie mehrere kommagetrennte IDs angeben.
Grenze
Sie können maximal 100 IDs angeben, so dass Sie mit einem einzigen Aufruf 100 SERPs abrufen können.
get
https://api.semscraper.com/v1/serp/google?ids=id1,id2&output=json
Berechtigungen : Bearer {api_key}
Einstellungen
ids
Erforderlich
string
Liste der IDs, die durch ein Komma getrennt sind.
output
Erforderlich
string
Wahl des Ausgabeformats :
JSON (Wert: json)
HTML (Wert: html)
  • Abfrage
  • Erfolgreiche Antwort
  • Fehlerantwort
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,
            "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: 400 Bad Request
{
    "error": "InvalidParameter",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
SERPs über eine Callback-URL abrufen
Sie können das Ergebnis einer SERP direkt auf einer URL erhalten, die Sie uns bei der Erstellung einer Abfrage angeben. Sie müssen nur den HMAC-Schlüssel abrufen, der mit dem verwendeten API-Schlüssel verknüpft ist.
  • Code
  • PHP
  • Python
  • Javascript
  • Ruby
  • Java
  • C#
  • GO
// 1) Read the raw body (JSON)
$raw = file_get_contents('php://input');

// 2) Retrieve the headers
$headers = function_exists('getallheaders') ? getallheaders() : ;
$signature = $headers'X-Signature' ?? '';

// 3) (Optional) Verify the HMAC signature
$sharedSecret = 'HMAC_KEY';
$expected = hash_hmac('sha256', $raw, $sharedSecret);
if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    header('Content-Type: text/plain; charset=utf-8');
    echo 'Invalid signature';
    exit;
}

// 4) Decode the JSON
$data = json_decode($raw, true);

if (json_last_error() !== JSON_ERROR_NONE) {
    http_response_code(400);
    header('Content-Type: text/plain; charset=utf-8');
    echo 'Invalid JSON';
    exit;
}

// 5) Process the data
/
$data contains what you sent in the $payload from the client side.
For example : $data'id', $data'results', etc.
/

// 6) Respond in JSON (optional, we log these responses for tracking purposes)
http_response_code(200);
header('Content-Type: application/json; charset=utf-8');
echo json_encode(
    'status' => 'ok',
    'received_at' => gmdate('c'),
    'echo' => $data'id' ?? null
);
Stand der Dinge bei der Behandlung von SERPs
Ermöglicht es, die Anzahl der SERPs nach ihrem Status zu sehen :
Beendet und Ergebnisse vom Benutzer abgerufen (status=done, fetched=true)
Beendet und Ergebnisse nicht vom Benutzer abgerufen (status=done, fetched=false)
Wird verarbeitet (status=processing)
In der Warteschleife (status=pending)
get
https://api.semscraper.com/v1/serp/google/status
Berechtigungen : Bearer {api_key}
  • Abfrage
  • Erfolgreiche Antwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 54,
    "count": 4,
    "data":
        {
            "status": "done",
            "fetched": true,
            "count": 5
        },
        {
            "status": "done",
            "fetched": false,
            "count": 1000
        },
        {
            "status": "processing",
            "count": 0
        },
        {
            "status": "pending",
            "count": 0
        }
    

}

Rechnungsstellung

Ruft den Betrag des Restkredits ab
get
https://api.semscraper.com/v1/billing/credit
Berechtigungen : Bearer {api_key}
  • Abfrage
  • Erfolgreiche Antwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data":
        {
            "balance": 100.50
        }
    

}
Verfügbare Zahlungsmethoden
get
https://api.semscraper.com/v1/billing/payment_methods
Berechtigungen : Bearer {api_key}
  • Abfrage
  • Erfolgreiche Antwort
Status: 200 OK
{
    "status": "success",
    "request_ms": 43,
    "count": 3,
    "data":
        {
            "id": 1,
            "name": "Perso",
            "num": "-4242",
            "expiration": "1226",
            "type": "Visa",
            "master": false
        },
        {
            "id": 30,
            "name": "Pro",
            "num": "-4444",
            "expiration": "1227",
            "type": "Mastercard",
            "master": true
        }
    

}