• Інформація
  • Ліміти на дзвінки
  • Гугл-версії
  • Список версій
  • СЕРПИ
  • Пошукові запити в Google
  • Запити на Картах Google
  • Ідентифікатори запитів
  • Відновлення результатів пошукової видачі
  • URL-адреса зворотного дзвінка
  • Статус обробки результатів пошукової видачі
  • Виставлення рахунків
  • Залишок кредиту
  • Способи оплати

Інформація

Обмеження на кількість викликів API
GET : 500 appels par minute
POST : 500 appels par minute

Гугл-версії

Отримайте параметри місцезнаходження та мова, необхідні для отримання результатів пошукової видачі Google.
get
https://api.semscraper.com/v1/serp/google/location
Дозволи : Bearer {api_key}
  • Запит
  • Успішна відповідь
Status: 200 OK
{
    "status": "success",
    "request_ms": 17,
    "count": 372,
    "data": [
        {
            "location": "en",
            "language": "en",
            "host": "google.com",
            "name": "World Wide Web"
        },
        {
            "location": "fr",
            "language": "fr",
            "host": "google.fr",
            "name": "France"
        }
}

пошукова видача

Створення запитів до пошукової видачі Google
Дані мають бути надіслані у вигляді масиву JSON. Кожен елемент повинен містити наступні поля.
Ліміт
Масив JSON може містити 100 елементів, тому ви можете створити 100 скребків результатів пошуку за один виклик.
post
https://api.semscraper.com/v1/serp
Дозволи : Bearer {api_key}
Параметри
search_engine
Потрібно
string
Вибір пошукової системи :
Пошук Google (значення: google_search)
keyword
Потрібно
string
Ключові слова для пошуку в пошуковій системі
device
Потрібно
string
Вибір підкладки :
Комп'ютер (значення: настільний)
Мобільний (значення: мобільний)
depth
Потрібно
integer
Глибина сторінки, ми отримуємо результати пошукової видачі Google з пагінацією. Цей параметр повинен бути в межах від 1 (приблизно 10 результатів) до 10 (приблизно 100 результатів).
location
Потрібно
string
Код місцезнаходження пошукової системи
language
Потрібно
string
Мова пошукової системи
geolocation
string
Дозволяє визначити геолокацію пошукової видачі Google. Наприклад, ви можете вказати місто, область або країну, розділені комою.
priority
integer
Використовується для визначення пріоритету ваших запитів, які обробляються в порядку зменшення пріоритету. Значення від 1 (низький) до 10 (високий).
callback_url
string
Дозволяє вказати URL-адресу, на яку ми надішлемо вам результати за ключовим словом після його обробки.
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.
  • Запит
  • Успішна відповідь
  • Реакція на помилку
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 Maps
Дані мають бути надіслані у вигляді масиву JSON. Кожен елемент повинен містити наступні поля.
Ліміт
Масив JSON може містити 100 елементів, тому ви можете створити 100 скребків результатів пошуку за один виклик.
post
https://api.semscraper.com/v1/serp
Дозволи : Bearer {api_key}
Параметри
search_engine
Потрібно
string
Вибір пошукової системи :
Google Maps (значення: google_maps)
keyword
Потрібно
string
Ключові слова для пошуку в пошуковій системі
depth
Потрібно
integer
Глибина сторінки, ми отримуємо результати пошукової видачі Google з пагінацією. Цей параметр повинен бути в межах від 1 (приблизно 10 результатів) до 10 (приблизно 100 результатів).
location
Потрібно
string
Код місцезнаходження пошукової системи
language
Потрібно
string
Мова пошукової системи
geolocation
string
Дозволяє визначити геолокацію пошукової видачі Google. Наприклад, ви можете вказати місто, область або країну, розділені комою.
priority
integer
Використовується для визначення пріоритету ваших запитів, які обробляються в порядку зменшення пріоритету. Значення від 1 (низький) до 10 (високий).
callback_url
string
Дозволяє вказати URL-адресу, на яку ми надішлемо вам результати за ключовим словом після його обробки.
  • Запит
  • Успішна відповідь
  • Реакція на помилку
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
}
Список ідентифікаторів (ID) завершених результатів пошуку, які ви ще не отримали.
Цей метод дозволяє отримати ідентифікатори всіх результатів пошуку, які вже були оброблені, але ще не знайдені. Потім ви можете викликати метод пошуку за цими ідентифікаторами.
get
https://api.semscraper.com/v1/serp
Дозволи : Bearer {api_key}
  • Запит
  • Успішна відповідь
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"
                }
            }
        }
    ]
}
Відновлення результатів видачі Google за їхніми ідентифікаторами
Отримайте кілька результатів пошуку за один виклик (у форматі JSON або HTML), ввівши кілька ідентифікаторів, розділених комою.
Ліміт
Ви можете вказати максимум 100 ідентифікаторів, що дозволить вам отримати 100 результатів пошуку за один дзвінок.
get
https://api.semscraper.com/v1/serp?ids=id1,id2&output=json
Дозволи : Bearer {api_key}
Параметри
ids
Потрібно
string
Список ідентифікаторів через кому.
output
Потрібно
string
Вибір формату виводу :
JSON (значення: json)
HTML (значення: html)
Формат результату
  • Google Search
  • Google Maps
type
string
Тип блоку результатів (органічні результати, відео, зображення, people_also_ask, local_pack...)
rank_type
integer
Позиція елемента в межах його власного типу блоку (наприклад: 3-й органічний результат = 3)
rank_serp
integer
Абсолютне положення у повній SERP, з урахуванням усіх блоків, відповідно до фактичного вертикального положення на сторінці (з точністю до пікселя)
page
integer
Номер сторінки в SERP, на якій відображається елемент
pixel
integer
Вертикальне положення елемента на сторінці, у пікселях від верхнього краю
domain
string
Домен URL-адреси
url
string
URL-адреса результату
title
string
Зображуваний заголовок результату
description
string
Опис / витяг із результату, що відображається
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
Позиція елемента в межах його власного типу блоку (наприклад: 3-й органічний результат = 3)
rank_serp
integer
Абсолютне положення у повній SERP, з урахуванням усіх блоків, відповідно до фактичного вертикального положення на сторінці (з точністю до пікселя)
page
integer
Номер сторінки в SERP, на якій відображається елемент
pixel
integer
Вертикальне положення елемента на сторінці, у пікселях від верхнього краю
title
string
Зображуваний заголовок результату
cid
string
Ідентифікатор Google (CID) профілю закладу
reviews
integer
Кількість відгуків
rating
float
Середня оцінка за 5-бальною шкалою
website
string
Веб-сайт закладу
type
string
Категорія закладу (наприклад: ресторан)
address
string
Поштова адреса
status_label
string
Статус відкриття (наприклад: Відкрито, Закрито)
status_detail
string
Детальна інформація про статус (наприклад: графік роботи)
comment
string
Коментар / відображений уривок
images
array
Список зображень у картці
  • Запит
  • Успішна відповідь
  • Реакція на помилку
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
}
Відновлення пошукової видачі через URL-адресу зворотного дзвінка
Ви можете отримати результат пошукової видачі безпосередньо за URL-адресою, яку ви вказуєте при створенні запиту. Все, що вам потрібно зробити, - це отримати HMAC-ключ, пов'язаний з ключем API, який ви використовуєте.
  • Код
  • 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
]);
Поточний стан обробки результатів пошукової видачі
Переглядайте кількість результатів відповідно до їхнього статусу:
Виконано та отримано результати користувачем (status=done, fetched=true)
Завершено і результати не отримано користувачем (status=done, fetched=false)
У процесі (статус=обробка)
Очікує (статус=очікує)
get
https://api.semscraper.com/v1/serp/status
Дозволи : Bearer {api_key}
  • Запит
  • Успішна відповідь
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
        }
    ]
}

Виставлення рахунків

Відновлює залишок кредиту
get
https://api.semscraper.com/v1/billing/credit
Дозволи : Bearer {api_key}
  • Запит
  • Успішна відповідь
Status: 200 OK
{
    "status": "success",
    "request_ms": 21,
    "count": 1,
    "data": [
        {
            "balance": 100.50
        }
    ]
}
Доступні способи оплати
get
https://api.semscraper.com/v1/billing/payment_methods
Дозволи : Bearer {api_key}
  • Запит
  • Успішна відповідь
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
        }
    ]
}