Как пользоваться Google Search Console API?
Google Search Console и другие инструменты
Создайте проект в консоли Google Cloud, включите Google Search Console API, создайте учётные данные OAuth 2.0 и войдите в аккаунт Google, у которого есть доступ к ресурсу. После этого можно отправлять запросы к четырём ресурсам: Search Analytics (клики, показы, CTR и позиция), URL Inspection (статус индексирования), Sitemaps и Sites. Одного API-ключа недостаточно: для каждого вызова нужен токен OAuth, а квоты ограничивают объём запрашиваемых данных.
Что охватывает API, а что нет
| Ресурс | Методы | Для чего использовать |
|---|---|---|
| Search Analytics | query | Строки данных об эффективности по запросу, странице, стране, устройству, типу результата, дате или часу |
| URL Inspection | index.inspect | Проиндексированная версия одного URL: покрытие, последнее сканирование, канонические адреса |
| Sitemaps | list, get, submit, delete | Управление файлами Sitemap, отправленными для ресурса |
| Sites | list, get, add, delete | Ресурсы в аккаунте, под которым выполнен вход |
Это весь API. У отчётов «Ссылки», «Статистика сканирования», «Индексирование страниц» и Core Web Vitals нет конечных точек, поэтому они доступны только в интерфейсе Search Console. URL Inspection показывает данные из индекса Google, а не результат проверки страницы в реальном времени.
Настройка доступа
- В консоли Google Cloud создайте проект или выберите существующий.
- Включите Google Search Console API для этого проекта.
- Настройте окно запроса доступа OAuth и создайте идентификатор клиента OAuth.
- Запросите нужную область доступа:
https://www.googleapis.com/auth/webmasters.readonlyдля чтения илиhttps://www.googleapis.com/auth/webmasters, если нужно ещё и отправлять или удалять файлы Sitemap. - Войдите в аккаунт, у которого есть разрешения на ресурс. Для чтения данных об эффективности нужен как минимум доступ на чтение; API видит ровно то же, что и этот аккаунт.
Первый запрос к Search Analytics
POST https://www.googleapis.com/webmasters/v3/sites/sc-domain%3Aexample.com/searchAnalytics/query
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"startDate": "2026-09-01",
"endDate": "2026-09-30",
"dimensions": ["query", "page"],
"type": "web",
"rowLimit": 25000,
"startRow": 0
}
Ресурс указывается в пути в закодированном виде: sc-domain:example.com для ресурса уровня домена или точный префикс с завершающим слешем, например https://www.example.com/, для ресурса с префиксом в URL. Наиболее важные поля:
- Даты включаются в диапазон и указываются по тихоокеанскому времени.
typeпо умолчанию равенweb; другие значения:image,video,news,googleNewsиdiscover. Для каждого нужен отдельный запрос.- Фильтры задаются в
dimensionFilterGroupsс операторами отequalsиcontainsдоincludingRegexиexcludingRegex(синтаксис RE2). rowLimitпринимает значения от 1 до 25 000 (по умолчанию 1000); остальные строки получают с помощьюstartRow.dataStateпо умолчанию равенfinal; значениеallдобавляет свежие, ещё не окончательные дни, аhourly_allработает с измерениемhour.
Каждая строка содержит keys, clicks, impressions, ctr (от 0 до 1) и position; сортировка идёт по кликам, если только вы не группируете по дате.
Ограничения, которые влияют на код
- 50 000 строк в день для каждого типа поиска. Перебирайте страницы через
startRowс шагом 25 000 и останавливайтесь на пустом ответе. Чтобы получить максимум данных, запрашивайте по одному дню. - Квота нагрузки. Самый затратный запрос — группировка или фильтрация одновременно по странице и запросу; длинные диапазоны дат обходятся дороже коротких. При превышении краткосрочной квоты Google просит подождать 15 минут.
- Частота запросов. 1200 запросов в минуту на ресурс и на пользователя; 40 000 в минуту и 30 000 000 в день на проект.
- Квота URL Inspection. 2000 проверок в день и 600 в минуту для каждого ресурса.
- История за 16 месяцев; данные обычно становятся доступны через два-три дня после окончания дня.
- Сумма строк не равна итогам. Редкие запросы не попадают в строки на уровне запросов, а группировка по странице считает показы иначе, чем группировка по ресурсу, поэтому итоги берите из запроса без измерения query.
Типичные ошибки
- Если указать
http://, когда ресурс зарегистрирован какhttps://, или пропустить завершающий слеш, вы получите ошибку доступа, даже если у аккаунта есть права. - Запрос URL за пределами ресурса в URL Inspection отклоняется: URL должен находиться внутри переданного
siteUrl. - Месяц, сгруппированный по запросу и странице в одном вызове, вернёт только верхние строки. Ежедневные запросы возвращают больше данных.
Как помогает AutoPSEO
Если вы не хотите самостоятельно поддерживать OAuth и постраничную выборку, AutoPSEO подключается через вход в Google и предоставляет те же данные через собственный REST API по адресу /v1 (с документом OpenAPI 3.1) и MCP-сервер; авторизация выполняется по ключу API из раздела Account → API keys. Доступны ключи только для чтения, конечная точка search analytics возвращает до 5000 строк за вызов, а инструменты URL Inspection в приложении сами считают расход квоты Google в 2000 проверок в день. Подробнее — в разделе MCP и ключи API. Чтобы хранить данные дольше 16 месяцев без написания собственного конвейера, прочитайте как долго Search Console хранит данные.
Источники: справочник по API от Google, метод query для Search Analytics, ограничения использования, получение всех данных и руководство по авторизации.
Ещё в разделе Google Search Console и другие инструменты
Переведите SEO-контент на автопилот
Подключите Search Console и свой сайт. AutoPSEO просканирует его и сразу спланирует первые темы. Банковская карта не нужна.