• Tiedot
  • Puhelurajoitukset
  • Google-versiot
  • Luettelo versioista
  • SERPS
  • Google-hakukyselyt
  • Google Maps -kyselyt
  • Kyselytunnukset
  • SERP:ien palautuminen
  • Takaisinkutsun URL-osoite
  • SERPs käsittelyn tila
  • Laskutus
  • Jäljellä oleva luotto
  • Maksutavat

Tiedot

API-kutsujen määrän rajoittaminen
GET : 500 appels par minute
POST : 500 appels par minute

Google-versiot

Hanki location- ja language-parametrit, joita tarvitaan Googlen SERP-luetteloiden hakemiseen.
get
https://api.semscraper.com/v1/serp/google/location
Luvat : Bearer {api_key}
  • Pyyntö
  • Onnistunut vastaus
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"
        }
}

SERPs

Luominen Google Search SERPs kyselyt
Tiedot on lähetettävä JSON-massana. Jokaisen elementin on sisällettävä seuraavat kentät.
Raja
JSON-massassa voi olla 100 elementtiä, joten voit luoda 100 SERPs-haavistoa yhdellä kutsulla.
post
https://api.semscraper.com/v1/serp
Luvat : Bearer {api_key}
Parametrit
search_engine
Vaadittu
string
Hakukoneen valinta :
Google-haku (arvo: google_search)
keyword
Vaadittu
string
Hakukoneen hakusanat
device
Vaadittu
string
Alustan valinta :
Tietokone (arvo: pöytäkone)
Mobile (arvo: mobile)
depth
Vaadittu
integer
Sivun syvyys, haemme Googlen SERP-verkkosivuja sivukohtaisesti. Tämän parametrin on oltava välillä 1 (noin 10 tulosta) ja 10 (noin 100 tulosta).
location
Vaadittu
string
Hakukoneen sijaintikoodi
language
Vaadittu
string
Hakukoneen kieli
geolocation
string
Mahdollistaa Googlen SERP-sivujen maantieteellisen sijainnin määrittämisen. Voit esimerkiksi ilmoittaa kaupungin, departementin tai maan pilkulla erotettuna.
priority
integer
Käytetään pyyntöjen priorisointiin, ja ne käsitellään alenevassa tärkeysjärjestyksessä. Arvo välillä 1 (alhainen) ja 10 (korkea).
callback_url
string
Voit määrittää URL-osoitteen, johon lähetämme hakusanan tulokset, kun ne on käsitelty.
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.
  • Pyyntö
  • Onnistunut vastaus
  • Virhevastaus
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
}
Google Mapsin SERP-kyselyjen luominen
Tiedot on lähetettävä JSON-massana. Jokaisen elementin on sisällettävä seuraavat kentät.
Raja
JSON-massassa voi olla 100 elementtiä, joten voit luoda 100 SERPs-haavistoa yhdellä kutsulla.
post
https://api.semscraper.com/v1/serp
Luvat : Bearer {api_key}
Parametrit
search_engine
Vaadittu
string
Hakukoneen valinta :
Google Maps (arvo: google_maps)
keyword
Vaadittu
string
Hakukoneen hakusanat
depth
Vaadittu
integer
Sivun syvyys, haemme Googlen SERP-verkkosivuja sivukohtaisesti. Tämän parametrin on oltava välillä 1 (noin 10 tulosta) ja 10 (noin 100 tulosta).
location
Vaadittu
string
Hakukoneen sijaintikoodi
language
Vaadittu
string
Hakukoneen kieli
geolocation
string
Mahdollistaa Googlen SERP-sivujen maantieteellisen sijainnin määrittämisen. Voit esimerkiksi ilmoittaa kaupungin, departementin tai maan pilkulla erotettuna.
priority
integer
Käytetään pyyntöjen priorisointiin, ja ne käsitellään alenevassa tärkeysjärjestyksessä. Arvo välillä 1 (alhainen) ja 10 (korkea).
callback_url
string
Voit määrittää URL-osoitteen, johon lähetämme hakusanan tulokset, kun ne on käsitelty.
  • Pyyntö
  • Onnistunut vastaus
  • Virhevastaus
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
}
Luettelo valmistuneiden SERP-luetteloiden tunnisteista (ID), joita et ole vielä hakenut.
Tämän menetelmän avulla voit saada kaikkien sellaisten SERP-verkkosivujen tunnukset, joita on jo käsitelty, mutta joita ei ole vielä haettu. Voit sitten kutsua SERP-haun menetelmää käyttämällä näitä tunnuksia.
get
https://api.semscraper.com/v1/serp
Luvat : Bearer {api_key}
  • Pyyntö
  • Onnistunut vastaus
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"
                }
            }
        }
    ]
}
Palauta Google SERPs kautta niiden tunnukset
Hae useita SERP-verkkosivustoja yhdellä kutsulla (JSON- tai HTML-muodossa) antamalla useita pilkulla erotettuja tunnuksia.
Raja
Voit määrittää enintään 100 tunnusta, jolloin voit hakea 100 SERP:tä yhdellä kutsulla.
get
https://api.semscraper.com/v1/serp?ids=id1,id2&output=json
Luvat : Bearer {api_key}
Parametrit
ids
Vaadittu
string
Pilkulla erotettu luettelo tunnuksista.
output
Vaadittu
string
Tulostusmuodon valinta :
JSON (arvo: json)
HTML (arvo: html)
Tuloksen muoto
  • Google Search
  • Google Maps
type
string
Tuloksblokin tyyppi (orgaaninen, videot, kuvat, people_also_ask, local_pack...)
rank_type
integer
Elementin sijainti omassa lohkotyypissään (esim. 3. orgaaninen tulos = 3)
rank_serp
integer
Absoluuttinen sijainti koko SERP:ssä, kaikki lohkot mukaan lukien, sivulla olevan todellisen pystysuuntaisen sijainnin mukaan (pikselinä)
page
integer
SERP-sivun numero, jolla kohde näkyy
pixel
integer
Elementin pystysuuntainen sijainti sivulla, pikseleinä yläreunasta mitattuna
domain
string
URL-alue
url
string
Tuloksen URL-osoite
title
string
Tuloksen näkyvä otsikko
description
string
Kuvaus / tuloksista näytetty ote
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
Elementin sijainti omassa lohkotyypissään (esim. 3. orgaaninen tulos = 3)
rank_serp
integer
Absoluuttinen sijainti koko SERP:ssä, kaikki lohkot mukaan lukien, sivulla olevan todellisen pystysuuntaisen sijainnin mukaan (pikselinä)
page
integer
SERP-sivun numero, jolla kohde näkyy
pixel
integer
Elementin pystysuuntainen sijainti sivulla, pikseleinä yläreunasta mitattuna
title
string
Tuloksen näkyvä otsikko
cid
string
Laitoksen tietueen Google-tunnus (CID)
reviews
integer
Arvostelujen määrä
rating
float
Keskimääräinen arvosana asteikolla 5
website
string
Oppilaitoksen verkkosivusto
type
string
Liikkeen luokka (esim. ravintola)
address
string
Postiosoite
status_label
string
Aukiolotila (esim. Auki, Kiinni)
status_detail
string
Tilan tiedot (esim. aikataulut)
comment
string
Kommentti / näytetty ote
images
array
Tietokortin kuvaluettelo
  • Pyyntö
  • Onnistunut vastaus
  • Virhevastaus
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
}
SERP:ien palauttaminen takaisinsoitto-URL:n kautta
Voit saada SERP-tuloksen suoraan URL-osoitteeseen, jonka annat meille kyselyä luodessasi. Sinun tarvitsee vain hakea käytettyyn API-avaimeen liittyvä HMAC-avain.
  • Koodi
  • 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
]);
SERP-tietojen käsittelyn nykytila
Tarkastele SERPien lukumäärää niiden tilan mukaan:
Käyttäjä on suorittanut ja hakenut tulokset (status=done, fetched=true).
Suoritettu loppuun, mutta käyttäjä ei ole hakenut tuloksia (status=done, fetched=false).
Prosessissa (status=processing)
Odottaa (status=pending)
get
https://api.semscraper.com/v1/serp/status
Luvat : Bearer {api_key}
  • Pyyntö
  • Onnistunut vastaus
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
        }
    ]
}

Laskutus

Perii jäljellä olevan luoton takaisin
get
https://api.semscraper.com/v1/billing/credit
Luvat : Bearer {api_key}
  • Pyyntö
  • Onnistunut vastaus
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data": [
        {
            "balance": 100.50
        }
    ]
}
Käytettävissä olevat maksutavat
get
https://api.semscraper.com/v1/billing/payment_methods
Luvat : Bearer {api_key}
  • Pyyntö
  • Onnistunut vastaus
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
        }
    ]
}