Ключевые слова конкурента, отсутствующие на запрашиваемой странице (url_missing_keywords)
url_missing_keywords — метод возвращает ключевые фразы, по которым ранжируются конкуренты, но которые отсутствуют в заданном URL.
Пагинация
Для пагинации используйте параметры:
page_size : количество результатов на страницу (по умолчанию — 100, максимум — 1000).
page : номер страницы (по умолчанию — 1-я страница).
Метрики | Описание |
result | Инкапсулирует в себе ответ |
total | Количество найденных результатов |
region_queries_count | Частотность ключевой фразы в выбраном регионе |
region_queries_count_wide | Частотность ключевой фразы в широком соответствии |
geo_names | Список топонимов в массиве, если топоним присутствует в ключевой фразе. Если нет — массив пустой. |
types | Список дополнительных элементов которые отображаются в SERP (например, видео, карусель изображений, карта и другое ) |
cost | Цена за клик, $ |
keyword_id | ID ключевой фразы в нашей базе |
keyword | Ключевая фраза по которой ранжируется страница конкурента, но не ранжируется заданная страница |
concurrency | Конкуренция ключевой фразы в PPC (0-100) |
weight | Сила связи — на сколько много других конкурентов ранжируются по заданной ключевой фразе |
status_msg | Ответ: "OK" или "Error" сообщает об удачном или неудачном запросе |
status_code | Код ответа "200" — успешный запрос. В других случаях — превышение лимитов (количество одновременных запросов или ограничение по лимитам аккаунта) |
left_lines | Количество оставшихся API строк |
Часть ответа API, за которую снимается 1 лимит:
{
"region_queries_count": 40,
"geo_names": [
],
"types": [
"refine_by_brand",
"also_asks",
"related_search",
"a_box_fsnippet",
"pic"
],
"cost": 13.23,
"region_queries_count_wide": 0,
"keyword": "example domain name",
"concurrency": 67,
"weight": 7
}
{
"result": {
"total": 956,
"hits": [
{
"region_queries_count": 40,
"geo_names": [
],
"types": [
"refine_by_brand",
"also_asks",
"related_search",
"a_box_fsnippet",
"pic"
],
"cost": 13.23,
"region_queries_count_wide": 0,
"keyword": "example domain name",
"concurrency": 67,
"weight": 7
},
{
"region_queries_count": 40,
"geo_names": [
],
"types": [
"related_search",
"a_box_fsnippet",
"refine_by_brand",
"also_asks",
"snip_breadcrumbs",
"snip_featured"
],
"cost": 9.79,
"region_queries_count_wide": 0,
"keyword": "sample domain names",
"concurrency": 84,
"weight": 7
}
]
},
"status_msg": "OK",
"status_code": 200,
"left_lines": 343879
}
<?php
// This example works on serpstat-sdk only
// https://github.com/SerpstatGlobal/serpstat-sdk
require_once __DIR__ . '/../vendor/autoload.php';
// configure your application
$config = [
'token' => '19666fc1ae1724da1d5ea2f3a99d5f5a',
];
$url = 'http://example.com/page1/';
// init client with your serpstat api token
$apiClient = new \Serpstat\Sdk\Core\ApiGuzzleHttpClient($config['token']);
// create instance of any api method class
// list of methods classes in folder src\Methods
$apiMethod = new \Serpstat\Sdk\Methods\UrlMissingKeywordsMethod(
$url,
\Serpstat\Sdk\Interfaces\IApiClient::SE_GOOGLE_RU
);
try {
// try call api method
$response = $apiClient->call($apiMethod);
} catch (\Exception $e) {
// catch api error
$response = $e->getMessage();
}
import codecs
import json
import pprint
import urllib.request as urlrequest
from urllib.parse import urlencode
host = 'http://api.serpstat.com/v3'
method = 'url_missing_keywords'
params = {
'query': 'http%3A%2F%2Fwww.amazon.com%2FWinter-Is-Coming%2Fdp%2FB007HJ84ZK', # string for get info
'se': 'g_us', # string search engine
'token': 'ijmiom4f5m34905g03um8342dm04923lre3w', # string personal token
}
api_url = "{host}/{method}?{params}".format(
host=host,
method=method,
params=urlencode(params)
)
try:
json_data = urlrequest.urlopen(api_url).read()
except Exception as e0:
print("API request error: {error}".format(error=e0))
data = json.loads(json_data)
pprint.pprint(data)