Reports API Яндекс Директа: SearchQueryReport, CUSTOM_REPORT
Reports API Яндекс Директа — асинхронная выгрузка статистики в TSV/CSV.
Коротко: POST https://api.direct.yandex.com/json/v5/reports; асинхронная выгрузка 200/201/202.
← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Кампании · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация · Документация Яндекса
Содержание
Endpoint и заголовки
POST https://api.direct.yandex.com/json/v5/reports
Authorization: Bearer <token>
Client-Login: <client-login>
Accept-Language: ru
Content-Type: application/json; charset=utf-8
{
"params": {
"SelectionCriteria": {},
"FieldNames": ["CampaignId", "CampaignName", "Clicks", "Cost", "Impressions"],
"ReportName": "campaign_stats_2026_08",
"ReportType": "CAMPAIGN_PERFORMANCE_REPORT",
"DateRangeType": "LAST_30_DAYS",
"Format": "TSV",
"IncludeVAT": "YES",
"IncludeDiscount": "NO"
}
}
Асинхронный workflow
| HTTP-код | Значение | Действие |
| 200 | Отчёт готов | Тело ответа — TSV/CSV данные |
| 201 | Отчёт в очереди | Повторить через retry-in секунд |
| 202 | Формируется | Повторить через retry-in секунд |
| 400/500 | Ошибка | Разобрать JSON error |
Алгоритм:
- POST запрос с уникальным
ReportName. - Если 201/202 — подождать
retry-inсекунд (из заголовка) и повторить тот же запрос. - При 200 — сохранить TSV, парсить (первая строка — заголовки).
- Не запрашивайте новый отчёт, пока предыдущий не готов (ошибка 400).
Типы отчётов
| ReportType | Назначение | Ключевые поля |
| CAMPAIGN_PERFORMANCE_REPORT | Статистика по кампаниям | CampaignId, Clicks, Cost, Impressions |
| ADGROUP_PERFORMANCE_REPORT | По группам | AdGroupId, AdGroupName, Clicks, Cost |
| AD_PERFORMANCE_REPORT | По объявлениям | AdId, Clicks, Cost, AvgCpc |
| CRITERIA_PERFORMANCE_REPORT | По ключевым фразам | Criterion, Clicks, Cost, AvgCpc |
| SEARCH_QUERY_PERFORMANCE_REPORT | Поисковые запросы | Query, Clicks, Cost, Conversions |
| CUSTOM_REPORT | Гибкий отчёт | Любой набор полей |
| REACH_AND_FREQUENCY_REPORT | Reach & Frequency | Охват и частота (CPM) |
| ACCOUNT_PERFORMANCE_REPORT | По аккаунту | Сводная статистика |
SEARCH_QUERY_PERFORMANCE_REPORT
{"params":{"SelectionCriteria":{"Filter":[{"Field":"Clicks","Operator":"GREATER_THAN","Values":["0"]}]},"FieldNames":["Query","CampaignName","Clicks","Cost","Conversions"],"ReportName":"sq_report_aug","ReportType":"SEARCH_QUERY_PERFORMANCE_REPORT","DateRangeType":"LAST_30_DAYS","Format":"TSV"}}Основной отчёт для массовой минусовки и анализа поисковых запросов.
CUSTOM_REPORT
Гибкий отчёт позволяет выбрать любые совместимые поля и фильтры. Укажите ReportType: CUSTOM_REPORT и набор FieldNames из справочника полей отчётов.
Советы по Reports API
- Используйте уникальный
ReportNameдля каждого запроса. - Для агентств — заголовок
Client-Login. - Большие отчёты запускайте ночью — меньше конкуренции.
- Учитывайте баллы: Лимиты.
← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Кампании · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация