Меню


8 (951) 039-51-03
Время работы:
пн-вс с 10:00 – 21:00
Заказать звонок

Search Console API: как выгружать запросы и данные

Search
Search Console API: как выгружать запросы и данные
11 мин.
15
SEO блог

В интерфейсе Google Search Console таблица запросов показывает не больше тысячи строк, а выгрузку приходится делать вручную по каждому сайту. Если сайтов несколько или нужна ежедневная статистика в таблице или BI-системе, выручает программный интерфейс — Search Console API.

Разбираем, что умеет API, как получить доступ без лишних сложностей, какие есть лимиты и как выглядит рабочий пример на Python. Всё — по официальной документации Google на октябрь 2026 года.

Коротко:

  • Доступ бесплатный, но требует проекта в Google Cloud и авторизации.
  • Главный метод — searchanalytics.query: запросы, страницы, страны, устройства, клики, показы, CTR и позиции.
  • Программно доступна и проверка URL — до 2 000 адресов в день на один сайт.
  • Проще всего подключаться через сервисный аккаунт, добавленный в пользователи консоли.
  • Indexing API — другой сервис: официально он предназначен только для вакансий и прямых трансляций.

Зачем программный доступ, если есть кабинет

  • Больше строк. В интерфейсе — до 1 000 строк в таблице. Программно за один запрос можно получить до 25 000 строк и листать дальше.
  • Автоматизация. Скрипт каждый день складывает данные в Google Таблицы, базу или BI — без ручных выгрузок.
  • Много сайтов. Агентству или владельцу сети сайтов удобно собирать статистику всех ресурсов одним скриптом.
  • Своя аналитика. Данные можно объединить с CRM, рекламой и Метрикой и строить собственные отчёты.
  • Массовая проверка индексации. Проверить статус сотен адресов, а не по одному.

Если нужна только регулярная выгрузка в отчёт, сначала посмотрите на готовые варианты: связку с GA4 (подробнее — в статье как связать Search Console и Google Analytics) или коннектор Looker Studio. Свой скрипт нужен, когда этих инструментов не хватает.

Что умеет программный интерфейс консоли

Методы Google Search Console API
Четыре группы методов: аналитика поиска, проверка URL, Sitemap и список ресурсов
Ресурс Методы Что даёт
Search Analytics query Данные отчёта «Эффективность»: клики, показы, CTR, позиция с группировкой по запросу, странице, стране, устройству, дате, виду в поиске
URL Inspection index.inspect То же, что проверка URL в интерфейсе: в индексе ли адрес, когда сканирован, какой канонический
Sitemaps list, get, submit, delete Список карт сайта, их статус, отправка новых
Sites list, get, add, delete Ресурсы, к которым есть доступ

Чего здесь нет: отчёта «Страницы» с причинами неиндексации целиком, ссылок, Core Web Vitals и статистики сканирования. Эти данные доступны только в интерфейсе или через массовый экспорт в BigQuery.

Как получить доступ

Как подключить Google Search Console API — схема
Проект в Google Cloud, сервисный аккаунт, доступ в консоли и первый запрос
  1. Создайте проект в Google Cloud Console (console.cloud.google.com) или выберите существующий.
  2. В разделе «API и сервисы» → «Библиотека» найдите API консоли поиска Google и нажмите «Включить».
  3. В «IAM и администрирование» → «Сервисные аккаунты» создайте сервисный аккаунт. Откройте его, перейдите во вкладку «Ключи» и создайте ключ в формате JSON. Файл скачается на компьютер.
  4. Скопируйте e-mail сервисного аккаунта (вида name@project.iam.gserviceaccount.com).
  5. В Search Console откройте «Настройки» → «Пользователи и разрешения» и добавьте этот e-mail. Для чтения данных хватит ограниченного доступа; для отправки Sitemap нужен полный.
  6. Установите библиотеку и отправьте первый запрос — пример ниже.

JSON-ключ — это пароль к данным. Не публикуйте его в репозиториях, не пересылайте в мессенджерах и храните отдельно от кода.

Сервисный аккаунт или OAuth

Есть два способа авторизации:

  • Сервисный аккаунт — для скриптов, которые работают сами по расписанию. Не требует входа человека.
  • OAuth 2.0 — для приложений, где пользователь входит под своим Google-аккаунтом и разрешает доступ к своим сайтам. Сложнее в настройке, зато не нужно добавлять отдельный e-mail в каждую консоль.

Для внутренних задач агентства или компании проще сервисный аккаунт.

Пример на Python

Установите библиотеки:

pip install google-api-python-client google-auth

Скрипт выгружает топ запросов за месяц:

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ["https://www.googleapis.com/auth/webmasters.readonly"]
creds = service_account.Credentials.from_service_account_file("key.json", scopes=SCOPES)
service = build("searchconsole", "v1", credentials=creds)

body = {
    "startDate": "2026-09-01",
    "endDate": "2026-09-30",
    "dimensions": ["query"],
    "rowLimit": 25000,
}
resp = service.searchanalytics().query(siteUrl="https://site.ru/", body=body).execute()
for row in resp.get("rows", []):
    print(row["keys"][0], row["clicks"], row["impressions"], round(row["position"], 1))

Что важно в коде:

  • siteUrl

    — ровно как ресурс в консоли:

    https://site.ru/

    для префикса в URL или

    sc-domain:site.ru

    для доменного ресурса;

  • dimensions

    — группировка:

    query

    ,

    page

    ,

    country

    ,

    device

    ,

    date

    ,

    searchAppearance

    ;

  • rowLimit

    — до 25 000 строк; дальше листайте параметром

    startRow

    ;

  • для только чтения достаточно области
    webmasters.readonly

    .

Фильтры

Параметр

dimensionFilterGroups

отбирает строки: например, только запросы со словом «директ» или только одну страницу. Оператор задаётся как

contains

,

equals

,

notContains

и другие. Так удобно выгружать данные по отдельному разделу сайта.

Пример: выгрузка по дням в таблицу

Типовая задача — каждое утро дописывать в таблицу вчерашние клики и показы по страницам. Порядок такой:

  1. Запросите данные за один день с группировкой
    ["date", "page"]

    .

  2. Сохраните строки в CSV или отправьте в Google Таблицы через их программный интерфейс.
  3. Запустите скрипт по расписанию — через планировщик заданий Windows, cron на сервере или облачную функцию.
  4. Раз в неделю сверяйте итоги с интерфейсом консоли, чтобы убедиться, что выгрузка не теряет дни.

Запросы за один день лёгкие, поэтому квота нагрузки почти не расходуется.

Лимиты

Ресурс Ограничение
Search Analytics — на сайт 1 200 запросов в минуту
Search Analytics — на пользователя 1 200 запросов в минуту
Search Analytics — на проект 30 млн запросов в день, 40 000 в минуту
Проверка URL — на сайт 2 000 запросов в день, 600 в минуту
Остальные ресурсы — на пользователя 20 в секунду, 200 в минуту

Кроме количества, у Search Analytics есть квота нагрузки. По документации, самые «тяжёлые» запросы — с группировкой и по странице, и по запросу одновременно, а также за длинные периоды.

Если получаете ошибку о превышении квоты, подождите 15 минут, разбейте выгрузку по дням и не запрашивайте одни и те же данные повторно.

Ограничение на полноту данных

Google прямо предупреждает: метод не гарантирует возврат всех строк — только самых важных. Редкие запросы скрываются ради конфиденциальности, поэтому сумма кликов по запросам обычно меньше общей суммы кликов сайта. Это нормально и одинаково в выгрузке и в интерфейсе.

API GSC и Indexing API — не одно и то же

В выдаче по этой теме много статей про Indexing API — их часто путают. Разница:

API GSC Indexing API
Для чего Получать данные консоли Сообщать Гуглу о новых или удалённых страницах
Официальное назначение Любые сайты Страницы с вакансиями и прямыми трансляциями
Ускоряет индексацию Нет Для поддерживаемых типов страниц

Использовать Indexing API для обычных страниц — статей, услуг, товаров — Google не рекомендует. Для них работают Sitemap, внутренние ссылки и «Запросить индексирование» в проверке URL.

Готовые инструменты без программирования

  • Looker Studio — бесплатный коннектор Search Console, отчёты строятся мышкой.
  • Массовый экспорт в BigQuery — настраивается в консоли, выгружает все данные ежедневно; платный BigQuery, но без лимита строк.
  • Дополнения для Google Таблиц — Search Analytics for Sheets и аналоги выгружают данные по расписанию.
  • SEO-сервисы — многие подключаются к консоли через API и сами строят отчёты.

Частые ошибки

  • 403 — нет доступа. E-mail сервисного аккаунта не добавлен в пользователи консоли или добавлен в другой ресурс.
  • Пустой ответ. Неверный
    siteUrl

    : указали https://site.ru/ вместо sc-domain:site.ru или наоборот.

  • Данные за последние дни пустые. Статистика приходит с задержкой в 2–3 дня.
  • Сумма по запросам меньше общей. Это особенность данных, а не ошибка скрипта.
  • Интерфейс не включён в проекте. Включите его в библиотеке Google Cloud.

Что смотреть в самой консоли — в нашем руководстве по Google Search Console, а как добавить сайт — в пошаговой инструкции.

Похожий программный доступ к статистике есть у Яндекса — например, API Метрики и API Вордстата.

Чаще всего вы задавали мне эти вопросы:
Ответы
Доступ к данным консоли через API платный?
Нет, API бесплатный. Нужен проект в Google Cloud, но за запросы к консоли плата не взимается — действуют только лимиты.
Сколько строк можно выгрузить через API?
До 25 000 строк за один запрос, дальше — постраничная выгрузка через параметр startRow. В интерфейсе таблица ограничена 1 000 строк.
Как дать доступ сервисному аккаунту?
Скопируйте e-mail сервисного аккаунта и добавьте его в консоли: «Настройки» → «Пользователи и разрешения». Для чтения достаточно ограниченного доступа.
Можно ли проверять индексацию через API?
Да, методом urlInspection.index.inspect — до 2 000 адресов в день на один сайт и до 600 в минуту.
Чем API консоли отличается от Indexing API?
API консоли выдаёт её данные. Indexing API сообщает Гуглу о новых и удалённых страницах и официально предназначен только для вакансий и прямых трансляций.
Почему сумма кликов по запросам меньше общей?
Редкие запросы скрываются ради конфиденциальности, и API возвращает только самые значимые строки. Это особенность данных, а не ошибка.
Павел Юмашев
Автор статьи

Специалист по Яндекс Директу, 10 лет в контекстной рекламе. Сертифицированный специалист Яндекса, основатель агентства «Юмашев Диджитал».

Подробнее об авторе →
Оцените статью:
Средняя оценка: 0
Количество оценок:
Комментарии:
Оставьте первый комментарий

Есть вопросы по созданию или продвижению сайта?

Оставьте телефон — перезвоню и отвечу на вопросы. Это бесплатно!

    Персональные данные обрабатываются по Политике обработки персональных данных.

    Я пишу и рассказываю

    Статьи

    Бесплатная консультация по всем вопросам

    Перезвоним в течение часа и ответим на все интересующие Вас вопросы

      Позвонить
      Telegram

      Персональные данные обрабатываются по Политике обработки персональных данных.

      Если вам не нравится заполнять формы обратной связи - пишите напрямую
      Телефоны
      8 (951) 039-51-03
      Нужен постоянный поток клиентов в твой бизнес?
      Подпишись на мой Телеграм-канал: бесплатно делюсь опытом, рабочими фишками и консультирую по вопросам лидогенерации
      Подписаться
      Позвонить+7 951 039-51-03 TelegramНаписать в Telegram MaxНаписать в мессенджер