• Informacje
  • Limity połączeń
  • Wersje Google
  • Lista wersji
  • SERPS
  • Zapytania w wyszukiwarce Google
  • Zapytania w Mapach Google
  • Identyfikatory zapytań
  • Odzyskiwanie SERP
  • Adres URL wywołania zwrotnego
  • Status przetwarzania SERP
  • Fakturowanie
  • Pozostały kredyt
  • Metody płatności

Informacje

Limit liczby wywołań API
GET : 500 appels par minute
POST : 500 appels par minute

Wersje Google

Uzyskaj parametry lokalizacja i język wymagane do pobierania wyników Google SERP.
get
https://api.semscraper.com/v1/serp/google/location
Zezwolenia : Bearer {api_key}
  • Żądanie
  • Pomyślna odpowiedź
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"
        }
}

SERPy

Tworzenie zapytań SERP w wyszukiwarce Google
Dane muszą być przesłane w tablicy JSON. Każdy element musi zawierać następujące pola.
Limit
Tablica JSON może zawierać 100 elementów, dzięki czemu można utworzyć 100 scrapów SERP w jednym wywołaniu.
post
https://api.semscraper.com/v1/serp
Zezwolenia : Bearer {api_key}
Parametry
search_engine
Wymagane
string
Wybór wyszukiwarki :
Wyszukiwarka Google (wartość: google_search)
keyword
Wymagane
string
Słowa kluczowe do wyszukania w wyszukiwarce
device
Wymagane
string
Wybór podłoża :
Komputer (wartość: komputer stacjonarny)
Mobilny (wartość: mobilny)
depth
Wymagane
integer
Głębokość strony, pobieramy SERPy Google z paginacją. Parametr ten musi mieć wartość od 1 (około 10 wyników) do 10 (około 100 wyników).
location
Wymagane
string
Kod lokalizacji wyszukiwarki
language
Wymagane
string
Język wyszukiwarki
geolocation
string
Umożliwia geolokalizację Google SERP. Można na przykład wskazać miasto, departament lub kraj, oddzielając je przecinkiem.
priority
integer
Służy do ustalania priorytetów żądań, które są przetwarzane w kolejności malejącego priorytetu. Wartość od 1 (niski) do 10 (wysoki).
callback_url
string
Umożliwia określenie adresu URL, na który zostaną wysłane wyniki dla słowa kluczowego po jego przetworzeniu.
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.
  • Żądanie
  • Pomyślna odpowiedź
  • Odpowiedź na błąd
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
}
Tworzenie zapytań SERP w Mapach Google
Dane muszą być przesłane w tablicy JSON. Każdy element musi zawierać następujące pola.
Limit
Tablica JSON może zawierać 100 elementów, dzięki czemu można utworzyć 100 scrapów SERP w jednym wywołaniu.
post
https://api.semscraper.com/v1/serp
Zezwolenia : Bearer {api_key}
Parametry
search_engine
Wymagane
string
Wybór wyszukiwarki :
Mapy Google (wartość: google_maps)
keyword
Wymagane
string
Słowa kluczowe do wyszukania w wyszukiwarce
depth
Wymagane
integer
Głębokość strony, pobieramy SERPy Google z paginacją. Parametr ten musi mieć wartość od 1 (około 10 wyników) do 10 (około 100 wyników).
location
Wymagane
string
Kod lokalizacji wyszukiwarki
language
Wymagane
string
Język wyszukiwarki
geolocation
string
Umożliwia geolokalizację Google SERP. Można na przykład wskazać miasto, departament lub kraj, oddzielając je przecinkiem.
priority
integer
Służy do ustalania priorytetów żądań, które są przetwarzane w kolejności malejącego priorytetu. Wartość od 1 (niski) do 10 (wysoki).
callback_url
string
Umożliwia określenie adresu URL, na który zostaną wysłane wyniki dla słowa kluczowego po jego przetworzeniu.
  • Żądanie
  • Pomyślna odpowiedź
  • Odpowiedź na błąd
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 identyfikatorów (ID) dla ukończonych SERP, które nie zostały jeszcze pobrane.
Ta metoda pozwala uzyskać identyfikatory wszystkich SERP, które zostały już przetworzone, ale nie zostały jeszcze pobrane. Następnie można wywołać metodę pobierania SERP przy użyciu tych identyfikatorów.
get
https://api.semscraper.com/v1/serp
Zezwolenia : Bearer {api_key}
  • Żądanie
  • Pomyślna odpowiedź
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"
                }
            }
        }
    ]
}
Odzyskiwanie wyników Google SERP za pomocą ich identyfikatorów
Pobierz kilka SERP w jednym wywołaniu (w formacie JSON lub HTML), podając kilka identyfikatorów oddzielonych przecinkiem.
Limit
Można określić maksymalnie 100 identyfikatorów, co pozwala na pobranie 100 SERP w jednym wywołaniu.
get
https://api.semscraper.com/v1/serp?ids=id1,id2&output=json
Zezwolenia : Bearer {api_key}
Parametry
ids
Wymagane
string
Lista identyfikatorów oddzielonych przecinkami.
output
Wymagane
string
Wybór formatu wyjściowego :
JSON (wartość: json)
HTML (wartość: html)
Format wyników
  • Google Search
  • Google Maps
type
string
Typ bloku wyników (wyniki organiczne, filmy, zdjęcia, people_also_ask, local_pack...)
rank_type
integer
Pozycja elementu w obrębie własnego typu bloku (np.: trzeci wynik organiczny = 3)
rank_serp
integer
Pozycja bezwzględna w pełnym SERP, uwzględniając wszystkie bloki, zgodnie z rzeczywistą pozycją pionową na stronie (z dokładnością do piksela)
page
integer
Numer strony w wynikach wyszukiwania (SERP), na której pojawia się dany element
pixel
integer
Pionowe położenie elementu na stronie, w pikselach od góry
domain
string
Domeny URL
url
string
Adres URL wyniku
title
string
Wyświetlany tytuł wyniku
description
string
Opis / wyświetlany fragment wyniku
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
Pozycja elementu w obrębie własnego typu bloku (np.: trzeci wynik organiczny = 3)
rank_serp
integer
Pozycja bezwzględna w pełnym SERP, uwzględniając wszystkie bloki, zgodnie z rzeczywistą pozycją pionową na stronie (z dokładnością do piksela)
page
integer
Numer strony w wynikach wyszukiwania (SERP), na której pojawia się dany element
pixel
integer
Pionowe położenie elementu na stronie, w pikselach od góry
title
string
Wyświetlany tytuł wyniku
cid
string
Identyfikator Google (CID) wizytówki placówki
reviews
integer
Liczba opinii
rating
float
Średnia ocena w skali od 1 do 5
website
string
Strona internetowa placówki
type
string
Kategoria lokalu (np. restauracja)
address
string
Adres pocztowy
status_label
string
Status otwarcia (np.: Otwarte, Zamknięte)
status_detail
string
Szczegóły dotyczące statusu (np. godziny pracy)
comment
string
Komentarz / wyświetlany fragment
images
array
Lista zdjęć w karcie
  • Żądanie
  • Pomyślna odpowiedź
  • Odpowiedź na błąd
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
}
Odzyskiwanie SERP za pomocą zwrotnego adresu URL
Możesz otrzymać wynik SERP bezpośrednio na adres URL, który podasz nam podczas tworzenia zapytania. Wszystko, co musisz zrobić, to pobrać klucz HMAC powiązany z używanym kluczem API.
  • Kod
  • 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
]);
Obecny stan przetwarzania SERP
Wyświetl liczbę SERPów według ich statusu:
Ukończone i wyniki pobrane przez użytkownika (status=done, fetched=true)
Ukończono, a wyniki nie zostały pobrane przez użytkownika (status=done, fetched=false)
W trakcie przetwarzania (status=processing)
Oczekiwanie (status = oczekujący)
get
https://api.semscraper.com/v1/serp/status
Zezwolenia : Bearer {api_key}
  • Żądanie
  • Pomyślna odpowiedź
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
        }
    ]
}

Fakturowanie

Odzyskuje pozostały kredyt
get
https://api.semscraper.com/v1/billing/credit
Zezwolenia : Bearer {api_key}
  • Żądanie
  • Pomyślna odpowiedź
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data": [
        {
            "balance": 100.50
        }
    ]
}
Dostępne metody płatności
get
https://api.semscraper.com/v1/billing/payment_methods
Zezwolenia : Bearer {api_key}
  • Żądanie
  • Pomyślna odpowiedź
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
        }
    ]
}