• Информация
  • Лимиты вызовов
  • Версии Google
  • Список версий
  • SERPS
  • Поисковые запросы Google
  • Запросы в Google Maps
  • Идентификаторы запросов
  • Восстановление SERP
  • URL-адрес обратного вызова
  • Статус обработки SERPs
  • Выставление счетов
  • Оставшийся кредит
  • Способы оплаты

Информация

Ограничение на количество вызовов API
GET : 500 appels par minute
POST : 500 appels par minute

Версии Google

Получите параметры location и language, необходимые для получения SERP 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"
        }
}

SERPs

Создание запросов в поисковой выдаче Google
Данные должны быть отправлены в виде массива JSON. Каждый элемент должен содержать следующие поля.
Ограничение
Массив JSON может содержать 100 элементов, поэтому за один вызов можно создать 100 отпечатков SERPs.
post
https://api.semscraper.com/v1/serp
Разрешения : Bearer {api_key}
Параметры
search_engine
Требуется
string
Выбор поисковой системы:
Поиск Google (значение: google_search)
keyword
Требуется
string
Ключевые слова для поиска в поисковой системе
device
Требуется
string
Выбор подложки:
Компьютер (значение: настольный)
Мобильный (значение: мобильный)
depth
Требуется
integer
Глубина страницы, мы получаем результаты Google SERP с пагинацией. Этот параметр должен быть в диапазоне от 1 (примерно 10 результатов) до 10 (примерно 100 результатов).
location
Требуется
string
Код местоположения поисковой системы
language
Требуется
string
Язык поисковых систем
geolocation
string
Позволяет определить геолокацию SERP 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
}
Создание запросов в SERP Google Maps
Данные должны быть отправлены в виде массива JSON. Каждый элемент должен содержать следующие поля.
Ограничение
Массив JSON может содержать 100 элементов, поэтому за один вызов можно создать 100 отпечатков SERPs.
post
https://api.semscraper.com/v1/serp
Разрешения : Bearer {api_key}
Параметры
search_engine
Требуется
string
Выбор поисковой системы:
Карты Google (значение: google_maps)
keyword
Требуется
string
Ключевые слова для поиска в поисковой системе
depth
Требуется
integer
Глубина страницы, мы получаем результаты Google SERP с пагинацией. Этот параметр должен быть в диапазоне от 1 (примерно 10 результатов) до 10 (примерно 100 результатов).
location
Требуется
string
Код местоположения поисковой системы
language
Требуется
string
Язык поисковых систем
geolocation
string
Позволяет определить геолокацию SERP 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) для завершенных SERP, которые вы еще не извлекли.
Этот метод позволяет получить идентификаторы всех SERP, которые уже были обработаны, но еще не извлечены. Затем вы можете вызвать метод извлечения SERP, используя эти идентификаторы.
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"
                }
            }
        }
    ]
}
Восстановление SERP Google по их идентификаторам
Получите несколько SERP за один вызов (в формате JSON или HTML), указав несколько идентификаторов через запятую.
Ограничение
Вы можете указать максимум 100 идентификаторов, что позволит вам получить 100 SERP за один вызов.
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
}
Восстановление SERP с помощью URL-адреса обратного вызова
Вы можете получить результат SERP непосредственно на 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
]);
Текущее состояние обработки SERPs
Просматривайте количество SERP в зависимости от их статуса:
Завершено и результаты получены пользователем (status=done, fetched=true)
Завершено, но результаты не получены пользователем (status=done, fetched=false)
В процессе (статус=обработка)
Ожидание (status=pending)
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
        }
    ]
}