• Informații
  • Limite de apel
  • Versiuni Google
  • Lista versiunilor
  • SERPS
  • Interogări Google Search
  • Interogări Google Maps
  • ID-uri de interogare
  • Recuperarea SERP-urilor
  • URL de apel înapoi
  • Starea de procesare a SERPs
  • Facturare
  • Credit rămas
  • Metode de plată

Informații

Limitarea numărului de apeluri API
GET : 500 appels par minute
POST : 500 appels par minute

Versiuni Google

Obțineți parametrii location și language necesari pentru a prelua SERP-urile Google.
get
https://api.semscraper.com/v1/serp/google/location
Autorizații : Bearer {api_key}
  • Cerere
  • Răspuns de succes
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"
        }
}

SERP-uri

Crearea de interogări în SERP-urile Google Search
Datele trebuie să fie trimise într-un array JSON. Fiecare element trebuie să conțină următoarele câmpuri.
Limite
Matricea JSON poate conține 100 de elemente, astfel încât puteți crea 100 de răzuiri SERPs cu un singur apel.
post
https://api.semscraper.com/v1/serp
Autorizații : Bearer {api_key}
Parametrii
search_engine
Necesar
string
Alegerea motorului de căutare :
Căutare Google (valoare: google_search)
keyword
Necesar
string
Cuvinte-cheie pentru căutarea pe motorul de căutare
device
Necesar
string
Alegerea substratului :
Computer (valoare: desktop)
Mobil (valoare: mobil)
depth
Necesar
integer
Adâncimea paginii, recuperăm SERP-urile Google cu paginare. Acest parametru trebuie să fie între 1 (aproximativ 10 rezultate) și 10 (aproximativ 100 de rezultate).
location
Necesar
string
Codul locației motorului de căutare
language
Necesar
string
Limba motorului de căutare
geolocation
string
Vă permite să geolocați un SERP Google. De exemplu, puteți indica orașul, departamentul sau țara, separate prin virgulă.
priority
integer
Utilizat pentru prioritizarea cererilor dumneavoastră, care sunt procesate în ordinea descrescătoare a priorității. Valoare între 1 (scăzută) și 10 (ridicată).
callback_url
string
Vă permite să specificați un URL la care vă vom trimite rezultatele pentru cuvântul cheie după ce acesta a fost procesat.
Result block types
Possible values of the type field. A block is only present in the response when Google displays it for the requested keyword.
Results and ads
organic
Organic result
Standard organic search result.
sitelinks
Sitelinks
Secondary link attached to an organic result.
paid_top
Top ad
Paid ad above the organic results.
paid_bottom
Bottom ad
Paid ad below the organic results.
Rich blocks
featured_snippet
Featured snippet
Highlighted snippet above the organic results.
knowledge_graph
Knowledge panel
Item from the panel shown on the right of the SERP.
images
Images
Thumbnail from the images block.
videos
Videos
Video from the videos block.
top_stories
Top stories
Article from the top stories block.
shopping
Shopping
Product from the Google Shopping carousel.
recipes
Recipes
Recipe from the recipes block.
local_pack
Local pack
Business from the local pack, sourced from Google Maps.
visual_digest
Visual digest
Item from the visual digest generated by Google.
Suggestions and follow-ups
people_also_ask
People also ask
Question from the People also ask block.
related_searches
Related searches
Related search suggested at the bottom of the page.
find_results_on
Find results on
Link from the Find results on block.
location_sites
Location sites
Site listed in a location-related block.
AI Overview
ai_overview_citation
Citation
Brand cited in the AI-generated text.
ai_overview_citation_source
Citation source
Source of a citation, shown on hover over it.
ai_overview_panel
Source panel
Site listed in the side panel of sources.
  • Cerere
  • Răspuns de succes
  • Răspuns de eroare
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?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
Status: 400 Bad Request
{
    "error": "Bad Request",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
Crearea interogărilor Google Maps SERPs
Datele trebuie să fie trimise într-un array JSON. Fiecare element trebuie să conțină următoarele câmpuri.
Limite
Matricea JSON poate conține 100 de elemente, astfel încât puteți crea 100 de răzuiri SERPs cu un singur apel.
post
https://api.semscraper.com/v1/serp
Autorizații : Bearer {api_key}
Parametrii
search_engine
Necesar
string
Alegerea motorului de căutare :
Google Maps (valoare: google_maps)
keyword
Necesar
string
Cuvinte-cheie pentru căutarea pe motorul de căutare
depth
Necesar
integer
Adâncimea paginii, recuperăm SERP-urile Google cu paginare. Acest parametru trebuie să fie între 1 (aproximativ 10 rezultate) și 10 (aproximativ 100 de rezultate).
location
Necesar
string
Codul locației motorului de căutare
language
Necesar
string
Limba motorului de căutare
geolocation
string
Vă permite să geolocați un SERP Google. De exemplu, puteți indica orașul, departamentul sau țara, separate prin virgulă.
priority
integer
Utilizat pentru prioritizarea cererilor dumneavoastră, care sunt procesate în ordinea descrescătoare a priorității. Valoare între 1 (scăzută) și 10 (ridicată).
callback_url
string
Vă permite să specificați un URL la care vă vom trimite rezultatele pentru cuvântul cheie după ce acesta a fost procesat.
  • Cerere
  • Răspuns de succes
  • Răspuns de eroare
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?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
Status: 400 Bad Request
{
    "error": "Bad Request",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
Lista de identificatori (ID) pentru SERP-urile completate pe care nu le-ați recuperat încă.
Această metodă vă permite să obțineți ID-urile tuturor SERP-urilor care au fost deja prelucrate, dar care nu au fost încă recuperate. Puteți apela apoi metoda de recuperare a SERP-urilor utilizând aceste ID-uri.
get
https://api.semscraper.com/v1/serp
Autorizații : Bearer {api_key}
  • Cerere
  • Răspuns de succes
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?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?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?ids=SERP_ID&output=json",
                    "method": "GET",
                    "type": "application/json"
                },
                "html": {
                    "href": "/serp?ids=SERP_ID&output=html",
                    "method": "GET",
                    "type": "application/json"
                }
            }
        }
    ]
}
Recuperarea SERP-urilor Google prin intermediul ID-urilor acestora
Recuperați mai multe SERP-uri într-un singur apel (în format JSON sau HTML) furnizând mai multe ID-uri separate prin virgulă.
Limite
Puteți specifica un număr maxim de 100 de ID-uri, ceea ce vă permite să preluați 100 de SERP-uri într-un singur apel.
get
https://api.semscraper.com/v1/serp?ids=id1,id2&output=json
Autorizații : Bearer {api_key}
Parametrii
ids
Necesar
string
Listă de ID-uri separate prin virgulă.
output
Necesar
string
Alegerea formatului de ieșire :
JSON (valoare: json)
HTML (valoare: html)
Formatul rezultatului
  • Google Search
  • Google Maps
type
string
Tipul blocului de rezultate (organic, videoclipuri, imagini, people_also_ask, local_pack...)
rank_type
integer
Poziția elementului în cadrul propriului tip de bloc (ex.: al treilea rezultat organic = 3)
rank_serp
integer
Poziția absolută în SERP completă, luând în considerare toate blocurile, în funcție de poziția verticală reală pe pagină (la nivel de pixel)
page
integer
Numărul paginii din SERP pe care apare elementul
pixel
integer
Poziția verticală a elementului pe pagină, exprimată în pixeli față de marginea superioară
domain
string
Domeniul URL-ului
url
string
URL-ul rezultatului
title
string
Titlul afișat al rezultatului
description
string
Descriere / fragment afișat din rezultat
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
Poziția elementului în cadrul propriului tip de bloc (ex.: al treilea rezultat organic = 3)
rank_serp
integer
Poziția absolută în SERP completă, luând în considerare toate blocurile, în funcție de poziția verticală reală pe pagină (la nivel de pixel)
page
integer
Numărul paginii din SERP pe care apare elementul
pixel
integer
Poziția verticală a elementului pe pagină, exprimată în pixeli față de marginea superioară
title
string
Titlul afișat al rezultatului
cid
string
Identificatorul Google (CID) al fișei instituției
reviews
integer
Numărul de recenzii
rating
float
Nota medie din 5
website
string
Site-ul web al instituției
type
string
Categoria unității (de ex.: restaurant)
address
string
Adresa poștală
status_label
string
Starea de funcționare (de ex.: Deschis, Închis)
status_detail
string
Detalii privind statutul (de exemplu: programul de lucru)
comment
string
Comentariu / fragment afișat
images
array
Lista imaginilor din fișă
  • Cerere
  • Răspuns de succes
  • Răspuns de eroare
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: 400 Bad Request
{
    "error": "InvalidParameter",
    "message": "DESCRIPTION_OF_ERROR",
    "code": 400
}
Recuperarea SERPs prin intermediul unui URL de apel
Puteți primi rezultatul unui SERP direct pe un URL pe care ni-l furnizați atunci când creați o interogare. Tot ce trebuie să faceți este să recuperați cheia HMAC legată de cheia API utilizată.
  • Cod
  • 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
]);
Starea actuală a procesării SERPs
Vizualizați numărul de SERP-uri în funcție de starea lor:
Finalizat și rezultatele preluate de utilizator (status=done, fetched=true)
Finalizat și rezultatele nu au fost preluate de utilizator (status=done, fetched=false)
În curs de procesare (status=processing)
În așteptare (status=în așteptare)
get
https://api.semscraper.com/v1/serp/status
Autorizații : Bearer {api_key}
  • Cerere
  • Răspuns de succes
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
        }
    ]
}

Facturare

Recuperează creditul rămas
get
https://api.semscraper.com/v1/billing/credit
Autorizații : Bearer {api_key}
  • Cerere
  • Răspuns de succes
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data": [
        {
            "balance": 100.50
        }
    ]
}
Metode de plată disponibile
get
https://api.semscraper.com/v1/billing/payment_methods
Autorizații : Bearer {api_key}
  • Cerere
  • Răspuns de succes
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
        }
    ]
}