• 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.
  • 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)
  • 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
        }
    ]
}