API для анализа конкуренции в SEO/PPC
API для Анализа конкуренции в SEO/PPC позволяет в удобном виде получить статистику по конкурентам и ключевым словам в органической и платной выдаче.
Для доступа к разделу необходимо иметь активную подписку или средства на балансе.
Возвращает ошибки
| HTTP code | Сообщение об ошибке | 
| 403 | Empty balance | 
| 403 | Licence expired | 
Обзор домена (по выбранной базе)
Описание
Возвращает статистику по ключевым словам для органического или платного трафика по выбранной базе.
Формат запроса
GET https://api4.seranking.com/research/{source}/overview/?domain=domain.comПараметры в запросе
| Имя | Обязательный | Описание | 
| source | Да | Alpha-2 код страны, которую вы проверяете | 
| domain | Да | Домен | 
| with_subdomains | Нет | 1 – учитывать субдомены (по умолчанию) 0 – не учитывать субдомены  | 
Результат
В случае успеха сервер возвращает статистику по ключевым словам для органического или платного трафика по выбранной базе.
Пример
{
    "source": "us",
    "organic": {
        "base_domain":"domain.com",
        "keywords_new_count": 182,
        "keywords_up_count": 292,
        "keywords_equal_count": 55,
        "keywords_lost_count": 282,
        "top11_20": 127,
        "top51_100": 331,
        "keywords_down_count": 558,
        "top1_5": 25,
        "top21_50": 270,
        "top6_10": 52,
        "keywords_count": 790,
        "traffic_sum": 3149,
        "price_sum": 23167.97,
        "year": 2022,
        "month": 8
    },
    "adv": {
       "base_domain":"domain.com",
        "keywords_new_count": 91,
        "keywords_up_count": 17,
        "keywords_equal_count": 18,
        "keywords_lost_count": 62,
        "keywords_down_count": 76,
        "top1_2": 53,
        "top3_5": 68,
        "top6_8": 19,
        "top9_11": 0,
        "keywords_count": 140,
        "traffic_sum": 2968,
        "price_sum": 17795.26,
        "year": 2022,
        "month": 8
    }
}Параметры ответа
| Имя | Описание | 
| source | Alpha-2 код страны, которую вы проверяете | 
| organic | Данные по органическому трафику | 
| avd | Данные по платному трафику | 
| base_domain | Домен | 
| keywords_count | Количество ключевых слов | 
| traffic_sum | Прогноз трафика | 
| price_sum | Оценка стоимости | 
| top1_5 | Количество ключевых слов с позициями 1-5 | 
| top6_10 | Количество ключевых слов с позициями 6-10 | 
| top11_20 | Количество ключевых слов с позициями 11-20 | 
| top21_50 | Количество ключевых слов с позициями 21-50 | 
| top51_100 | Количество ключевых слов с позициями 51_100 | 
| top1_2 | Количество ключевых слов с позициями 1, 2 (для платного трафика) | 
| top3_5 | Количество ключевых слов с позициями 3, 4, 5 (для платного трафика) | 
| top6_8 | Количество ключевых слов с позициями 6, 7, 8 (для платного трафика) | 
| top9_11 | Количество ключевых слов с позициями 9, 10, 11 (для платного трафика) | 
| keywords_new_count | Количество ключевых слов | 
| keywords_lost_count | Количество выпавших из выдачи слов | 
| keyword_equal_count | Позиции не изменились | 
| keywords_up_count | Рост позиций | 
| keywords_down_count | Падение позиций | 
| year | Год | 
| month | Месяц | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 400 | Invalid source | 
Обзор домена (по миру)
Описание
Метод позволяет получить статистику домена по миру за текущий месяц.
Формат запроса
GET https://api4.seranking.com/research/worldwide-overview?domain=seranking.com&fields=price,traffic,keywords,positions_diff,positions_tops&show_zones_list=0¤cy=USDПараметры в запросе
| Имя | Обязательный | Описание | 
| domain | Да | Домен | 
| currency | Нет | Код валюты ISO 4217. Значение по умолчанию: USD | 
| fields | Нет | Список ожидаемых полей, через запятую. Comma-separated list of expected fields.  Значение по умолчанию: price,trafic,keywords. Список значений полей: price – показывает цену трафика traffic – показывает объем трафика keywords – показывает статистику по ключевым словам positions_diff – показывает поля с изменением позиций positions_tops – показывает самые высокие позиции  | 
| show_zones_list | Нет | Значение логического типа данных, которое определяет, должен ли запрос включать в себя статистику по каждой зоне или только по миру. | 
Результат
В случае успеха сервер возвращает списки со статистическими данными для organic и adv. Списки включают статистику по миру и по зонам (если параметр show_zones_list равен 1).
Пример
[
    {
    "organic": [
        {
            "source": "worldwide",
            "country": "Worldwide",
            "keywords_count": 823967,
            "traffic_sum": 273150,
            "price_sum": 241482.11,
            "positions_new_count": 56042,
            "positions_up_count": 56326,
            "positions_down_count": 49834,
            "positions_lost_count": 47169,
            "positions_equal_count": 876005,
            "positions_tops": {
                "top1_5": 91520,
                "top6_10": 95652,
                "top11_20": 165641,
                "top21_50": 332015,
                "top51_100": 353061
            }
        },
        ...
    ],
    "adv": [
        {
            "source": "worldwide",
            "country": "Worldwide",
            "keywords_count": 4947,
            "traffic_sum": 4369,
            "price_sum": 6509.45,
            "positions_new_count": 333,
            "positions_up_count": 7,
            "positions_down_count": 4,
            "positions_lost_count": 1742,
            "positions_equal_count": 5645,
            "positions_tops": {
                "top1_2": 4905,
                "top3_5": 1046,
                "top6_8": 38,
                "top9_11": 0
            }
        },
        ...
    ]
}
]Обзор домена (история)
Описание
Метод позволяет получить исторические данные по параметрам (количество ключевых слов, клики, стоимость) для органического или платного трафика.
Формат запроса
GET https://api4.seranking.com/research/{source}/overview/history/?domain=domain.com&type=organicПараметры в запросе
| Имя | Обязательный | Описание | 
| source | Да | Alpha-2 код страны, которую вы проверяете | 
| domain | Да | Домен | 
| type | Нет | organic – данные по органическому трафику (по умолчанию) adv – данные по платному трафику  | 
Результат
В случае успеха сервер возвращает исторические данные по параметрам для органического или платного трафика.
Пример
[
    {
        "keywords_count": 51,
        "traffic_sum": 184,
        "price_sum": 1095.87,
        "year": 2016,
        "month": 9,
        "top1_2": 13,
        "top3_5": 18,
        "top6_8": 20,
        "top9_11": 0
   },
...
]Параметры ответа
| Имя | Описание | 
| keywords_count | Количество ключевых слов | 
| traffic_sum | Прогноз трафика | 
| price_sum | Оценка стоимости | 
| year | Год | 
| month | Месяц | 
| top1_5 | Количество ключевых слов с позициями 1-5 | 
| top6_10 | Количество ключевых слов с позициями 6-10 | 
| top11_20 | Количество ключевых слов с позициями 11-20 | 
| top21_50 | Количество ключевых слов с позициями 21-50 | 
| top51_100 | Количество ключевых слов с позициями 51_100 | 
| top1_2 | Количество ключевых слов с позициями 1, 2 (для платного трафика) | 
| top3_5 | Количество ключевых слов с позициями 3, 4, 5 (для платного трафика) | 
| top6_8 | Количество ключевых слов с позициями 6, 7, 8 (для платного трафика) | 
| top9_11 | Количество ключевых слов с позициями 9, 10, 11 (для платного трафика) | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 404 | Invalid source | 
Ключевые слова по домену
Описание
Метод позволяет получить список ключевых слов для домена.
Формат запроса
GET https://api4.seranking.com/research/{source}/keywords/?domain=domain.com&type=organic&order_field=position&order_type=desc&cols=position,prev_posПараметры в запросе
| Имя | Обязательный | Описание | 
| source | Да | Alpha-2 код страны, которую вы проверяете | 
| domain | Да | Домен | 
| type | Нет | organic – данные по органическому трафику (по умолчанию) adv – данные по платному трафику  | 
| order_field | Нет | Поле сортировки (по умолчанию traffic) | 
| order_type | Нет | asc or desc (по умолчанию) | 
| page | Нет | Страница результатов (по умолчанию – 1) | 
| limit | Нет | Количество элементов (по умолчанию – 100, максимум 1000) | 
| cols | Нет | Список возвращаемых значений (через запятую) | 
| pos_change | Нет | Фильтр по изменению позиции:  up – рост позиций down – падение позиций new – новые в выдаче lost – выпали из выдачи same – позиция не изменилась  | 
| filter[volume][from] | Нет | Задает минимальное значение частотности. Тип: int  | 
| filter[volume][to] | Нет | Задает максимальное значение частотности. Тип: int  | 
| filter[difficulty][from] | Нет | Задает минимальное значение сложности поиска. Тип: int  | 
| filter[difficulty][to] | Нет | Задает максимальное значение сложности поиска. Тип: int  | 
| filter[keyword_count][from] | Нет | Задает минимальное значение для количества ключевых слов в поиске. Тип: int  | 
| Нет | Задает максимальное значение для количества ключевых слов в поиске.  Тип: int  | |
| filter[multi_keyword_included] | Нет | Указывает текст ключевого слова, включаемый в поиск на основе JSON-структуры (подробнее в разделе «JSON-структура текстового поиска»). Тип: json  | 
| filter[multi_keyword_excluded] | Нет | Указывает текст ключевого слова, исключаемый из поиска на основе JSON-структуры (подробнее в разделе «JSON-структура текстового поиска»).  Тип: json  | 
| filter[url] | Нет | Определяет поиск текста в URL на основе JSON-структуры (подробнее в разделе «JSON-структура текстового поиска»). Структура должна иметь только один элемент в базовом массиве, поэтому логика ИЛИ неприменима. Тип: json  | 
| filter[intents] | Нет | Список поисковых интентов ключевых слов, через запятую. К примеру, I, N, T, C, L, где: I – Informational (Информационный) N – Navigational (Навигационный) T – Transactional (Транзакционный) C – Commercial (Коммерческий) L – Local (Локальный) Тип: string  | 
| filter[competition][from] | Нет | Задает минимальное значение параметру конкуренции в поиске. Тип: float  | 
| filter[competition][to] | Нет | Задает максимальное значение параметру конкуренции в поиске. Тип: float  | 
| filter[cpc][from] | Нет | Задает минимальное значение CPC для поиска. Тип: float  | 
| filter[cpc][to] | Нет | Задает максимальное значение CPC для поиска. Тип: float  | 
| filter[traffic][from] | Нет | Задает минимальное значение трафика для поиска. Тип: int  | 
| filter[traffic][to] | Нет | Задает максимальное значение трафика для поиска. Тип: int  | 
| filter[position][from] | Нет | Задает минимальное значение позиции для поиска.  Тип: int  | 
| filter[position][to] | Нет | Задает максимальное значение позиции для поиска.  Тип: int  | 
| filter[characters_count][from] | Нет | Задает минимальное значение для количества символов в ключевом слове для поиска. Тип: int  | 
| filter[characters_count][to] | Нет | Задает максимальное значение для количества символов в ключевом слове для поиска. Тип: int  | 
Результат
В случае успеха сервер возвращает список ключевых слов для домена и их параметры.
Пример
[
    {
        "keyword": "seranking.com",
        "position": 1,
        "prev_pos": 1,
        "volume": 10,
        "cpc": 0.00,
        "competition": 0.00,
        "url": "https://seranking.com/",
        "total_sites": 88,
        "traffic": 3,
        "traffic_percent": 11.11,
        "price": 0
   },
...
]Параметры ответа
| Имя | Описание | 
| keyword | Ключевое слово | 
| position | Позиция | 
| prev_pos | Позиция в предыдущем месяце | 
| volume | Частотность | 
| cpc | CPC | 
| competition | Конкуренция | 
| url | URL | 
| total_sites | Всего сайтов по запросу | 
| traffic | Трафик | 
| traffic_percent | Доля трафика | 
| price | Стоимость | 
Для платного трафика (type=adv) дополнительно к параметрам выше передаётся информация о рекламном объявлении
Пример
[
   {
        "keyword": "nyc hotels",
        "position": 4,
        "prev_pos": 4,
        "volume": 550000,
        "cpc": 3.75,
        "competition": 0.16,
        "url": "https://www.booking.com/city/us/new-york.html",
        "total_sites": 851000000,
        "traffic": 11000,
        "traffic_percent": 0.96,
        "price": 41250,
        "block": "top",
        "snippet_num": 579,
        "snippets_count": 1,
        "snippet_title": "Hotels in New York, NY | Lowest Price Guarantee.",
        "snippet_description": "Book your Hotel in New York NY online. No reservation costs. Great rates. 24/7 Customer Service. Hotels. Secure Booking. Villas. Hostels. No Booking Fees. Best Price Guarantee.",
        "snippet_display_url": "www.booking.com/city/us/new-york.html"
   },
...
]Параметры
| block | top | bottom – тип рекламного блока | 
| snippet_num | Номер объявления | 
| snippets_count | Количество объявлений | 
| snippet_title | Заголовок | 
| snippet_description | Текст объявления | 
| snippet_display_url | Отображаемый URL | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 400 | Invalid source | 
| 400 | Incorrect order | 
| 400 | Row limit exceeded | 
Структура JSON для текстового поиска
Структура текстового поиска позволяет создавать сложные текстовые запросы для поиска, предоставляя JSON-string в формате array<array<object>>. Первый уровень массива соответствует элементам, разделенным логикой ИЛИ, а второй – логикой И. Каждый объект в массиве имеет следующую структуру:
{"type":"begins","value":"google"}| Имя | Описание | 
| object.value | Содержит текстовое значение для поиска. | 
| object.type | Определяет тип выполняемого поиска. | 
Список возможных object.type включает:
| Имя | Описание | 
| begins | Искомый текст должен начинаться с указанного значения. | 
| contains | Искомый текст должен содержать указанное значение в любом месте текста. | 
| ends | Искомый текст должен заканчиваться указанным значением. | 
| exact | Искомый текст должен точно соответствовать указанному значению. | 
Платные объявления по ключевому слову
Описание
Метод позволяет получить обзор платных объявлений по ключевому слову.
Формат запроса
GET https://api4.seranking.com/research/{source}/advertising/?keyword=seoПараметры в запросе
| Имя | Обязательный | Описание | 
| keyword | Да | Ключевое слово | 
| from | Нет | Год и месяц начала периода (2017-01) | 
| to | Нет | Год и месяц окончания периода (2018-12) | 
| page | Нет | Страница результатов (по умолчанию – 1) | 
| limit | Нет | Количество элементов (по умолчанию – 100, максимум 1000) | 
Результат
В случае успеха сервер возвращает обзор платных объявлений по ключевому слову.
Пример
[
  {
    "domain": "hotels.com",
    "ads_count": 19,
    "keywords_count": 78972,
    "traffic_sum": 3565364,
    "price_sum": 10411189,
    "snippets": {
      2018-11: {
        "position": 2,
        "snippet_title": "Booking | Hotels.com",
        "snippet_description": "Stay 10 nights & get 1 free! Redeem your
reward night anytime, anywhere. Last Minute Hotel Deals. Exclusive               Deals. Photos & Reviews. Price Guarantee. Earn Free Hotel Nights. Guest Reviews. No Cancellation Fees. Travel Guides. Luxury Hotels. Budget Hotels.",
        "snippet_display_url": "www.hotels.com/",
        "snippet_count": 1,
        "url": "https://www.hotels.com/"
      },
      ...
    }
  }
]Параметры ответа
| Имя | Описание | 
| domain | Домен | 
| ads_count | Количество объявлений | 
| keywords_count | Количество запросов | 
| traffic_sum | Трафик | 
| price_sum | Бюджет | 
| snippets | Список рекламных объявлений домена | 
| snippet_num | Номер объявления | 
| snippets_count | Количество объявлений | 
| snippet_title | Заголовок | 
| snippet_description | Текст объявления | 
| snippet_display_url | Отображаемый URL | 
| url | Ссылка | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 400 | Invalid source | 
| 400 | Row limit exceeded | 
Платные объявления по домену
Описание
Метод позволяет получить обзор платных объявлений по домену.
Формат запроса
GET https://api4.seranking.com/research/{source}/advertising/?domain=booking.comПараметры в запросе
| Имя | Обязательный | Описание | 
| domain | Да | Домен | 
| from | Нет | Год и месяц начала периода (2017-01) | 
| to | Нет | Год и месяц окончания периода (2018-12) | 
| page | Нет | Страница результатов (по умолчанию – 1) | 
| limit | Нет | Количество элементов (по умолчанию – 100, максимум 1000) | 
Результат
В случае успеха сервер возвращает обзор платных объявлений по домену.
Пример
[{
 "keyword":"locanda vivaldi venice",
 "ads_count":24,
 "competition":0.39,
 "cpc":5.64,
 "volume":100,
 "traffic":47.9,
 "traffic_percent":0.51,
 "snippets":
    {
        2017-01:
        {
            "position":2,
            "snippet_title":"Locanda Vivaldi, Venice - Booking.com",
            "snippet_description":"Book at Locanda Vivaldi, Venice. No reservation costs. Great rates Amenities: Free Wifi, Non Smoking Rooms, 24 Hour Front Desk, Air Conditioning",
            "snippet_display_url":"www.booking.com/hotel/it/locanda-vivaldi.en.html?a",
            "snippet_count":1,
            "url":"http://www.booking.com/hotel/it/locanda-vivaldi.en.html?aid=311088"
        },
,
...
]Параметры ответа
| Имя | Описание | 
| keyword | Ключевое слово | 
| ads_count | Общее количество объявлений | 
| competition | Конкуренция | 
| cpc | CPC | 
| volume | Частотность | 
| traffic | Трафик | 
| traffic_percent | Доля трафика | 
| snippets | Список рекламных объявлений домена | 
| snippets_count | Количество объявлений | 
| snippet_title | Заголовок | 
| snippet_description | Текст объявления | 
| snippet_display_url | Отображаемый URL | 
| url | Ссылка | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Row limit exceeded | 
| 400 | Invalid keyword | 
| 400 | Invalid source | 
Конкуренты
Описание
Метод позволяет получить список доменов конкурентов (максимум 500).
Формат запроса
GET https://api4.seranking.com/research/{source}/competitors?domain=booking.com&type=advПараметры в запросе
| Имя | Обязательный | Описание | 
| domain | Да | Домен | 
| type | Нет | organic – данные по органическому трафику (по умолчанию) adv – данные по платному трафику  | 
| big_players | Нет | 0 – скрыть крупных игроков (по умолчанию) 1 – показать крупных игроков  | 
| stats | Нет | 0 – только список доменов и количество общих ключевых слов (по умолчанию)  1 – вывод доп. параметров  | 
Результат
В случае успеха сервер возвращает список доменов конкурентов.
Пример
[
   {
       "domain": "tripadvisor.ru",
       "common_keywords": 1076
   },
...
]..stats=1
[
{
    "domain": "tripadvisor.ru",
    "common_keywords": 1076,
    "total_keywords": 2084,
    "missing_keywords":5450,
    "traffic_sum": 291,
    "price_sum": 40.12,
},
...
]Параметры ответа
| Имя | Описание | 
| domain | Домен конкурента | 
| common_keywords | Ключевые слова, используемые как анализируемым сайтом, так и его конкурентами | 
| total_keywords | Общее число ключевых слов, по которым конкуренты находятся в ТОП-100 Google | 
| missing_keywords | Ключевые слова, по которым конкуренты находятся в ТОП-100 Google, а анализируемый сайт имеет очень низкую или нулевую видимость | 
| traffic_sum | Предполагаемый объем трафика для сайта с существующими ключевыми словами. Рассчитывается с использованием формулы ожидаемого CTR (сlick-through rate – соотношение кликов к показам), частотности и текущих позиций | 
| price_sum | Предполагаемая месячная стоимость выбранных рекламных объявлений с учетом числа ключевых слов, их цены и трафика | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 400 | Invalid source | 
Сравнение доменов
Описание
Метод позволяет получить список ключевых слов для 2 доменов.
Формат запроса
GET https://api4.seranking.com/research/{source}/competitors/compare?domain=booking.com&compare=google.com&type=advПараметры запроса
| Имя | Обязательный | Описание | 
| domain | Да | Домен | 
| compare | Да | Домен конкурента | 
| type | Нет | organic – данные по органическому трафику (по умолчанию)adv – данные по платному трафику | 
| page | Нет | Страница результатов (по умолчанию – 1) | 
| limit | Нет | Количество элементов (по умолчанию – 100, максимум 1000) | 
| cols | Нет | Список возвращаемых значений (через запятую) | 
| diff | Нет | 0 – общие ключевые слова доменов domain и compare (по умолчанию)  1 – ключевые слова домена compare, которых нет у domain  | 
Результат
В случае успеха сервер возвращает список ключевых слов для 2 доменов.
Пример
[
{
    "keyword": "haworth hotel holland mi",
    "volume": 10,
    "cpc": 3.01,
    "competition": 0.38,
    "difficulty": 5,
    "total_sites": 94,
    "position": 4,
    "url": "https://www.booking.com/hotel/us/haworth-inn-center.html",
    "price": 2.44,
    "traffic": 0.81,
    "compare_position": 5,
    "compare_url": "https://www.hotels.com/ho576868/haworth/",
    "compare_price": 1.84,
    "compare_traffic": 0.61
},
...
]Параметры ответа
| Имя | Описание | 
| keyword | Анализируемое ключевое слово | 
| competition | Конкуренция | 
| difficulty | Сложность ключевого слова | 
| cpc | CPC (Cost per click) – стоимость одного клика | 
| volume | Месячное количество обращений по данному ключевому слову к поиску Google | 
| total_sites | Всего сайтов по запросу | 
| position | Позиция | 
| url | URL страницы, которая ранжируется в Google по указанному ключевому слову | 
| price | Стоимость | 
| traffic | Traffic | 
| price | Стоимость | 
| compare_position | Позиция сравниваемого домена | 
| compare_url | URL страницы сравниваемого домена | 
| compare_price | Стоимость трафика для сравниваемого домена | 
| compare_traffic | Трафик сравниваемого домена | 
Ошибки
| HTTP-код | Сообщение об ошибке | 
| 400 | Invalid domain | 
| 400 | Invalid source | 
