API Яндекс Метрики: Получить посещаемость и источники трафика за период

Сценарий из mcp-everything. Актуально на 2026-10-24.

Визиты, посетители и источники — для своего дашборда или отчёта клиенту.

  1. Получи OAuth-токен с доступом к Метрике и передавай его в заголовке Authorization: OAuth <токен>.
  2. Узнай ID счётчика: GET /management/v1/counters — в counters[] id и название.
  3. Запроси отчёт: GET /stat/v1/data с ids, metrics (например, ym:s:visits,ym:s:users,ym:s:bounceRate), dimensions (ym:s:lastTrafficSource), date1 и date2.
  4. В ответе data[] — для каждой строки dimensions и metrics, итоги — в totals. sampled = true значит, что отчёт построен по выборке; accuracy = full даёт точные данные, но медленнее.
  5. Метрики визитов (ym:s:) и хитов (ym:pv:) в одном запросе смешивать нельзя. Для CSV добавь .csv к пути.
curl -G https://api-metrika.yandex.net/stat/v1/data \
  -H "Authorization: OAuth $METRIKA_TOKEN" \
  -d ids=44147844 \
  -d metrics=ym:s:visits,ym:s:users,ym:s:bounceRate \
  -d dimensions=ym:s:lastTrafficSource \
  -d date1=2026-10-01 -d date2=2026-10-23 -d accuracy=full

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth-токен Яндекса передаётся в заголовке Authorization в каждом запросе. Без токена или с недействительным токеном сервер отвечает 401.

Authorization: OAuth <токен>

Методы сценария

GET /management/v1/counters — Список счётчиков

В ответе: rows (всего счётчиков) и counters[] (id, name, status, type, owner_login, permission и др.).

Параметр Где Тип Обяз. Описание
counter_ids query array нет ID счётчиков, которые нужно вернуть
favorite query boolean нет Только избранные, по умолчанию false
field query string нет Доп. поля: goals,mirrors,grants,filters,operations,counter_flags,measurement_tokens
label_id query integer нет Фильтр по метке
offset query integer нет Номер первого элемента (с 1), по умолчанию 1
per_page query integer нет Счётчиков в ответе, по умолчанию 1000, максимум 10 000
permission query string нет own, view, edit; можно несколько через запятую
search_string query string нет Поиск по ID, названию, адресу сайта
sort query string нет None, Default, Visits, Hits, Uniques, Name
status query string нет Active (по умолчанию) или Deleted
type query string нет simple или partner

GET /stat/v1/data — Отчёт «Таблица»

В ответе: data[] (dimensions[] и metrics[]), totals, total_rows, sampled, sample_share, query, contains_sensitive_data и др.

Параметр Где Тип Обяз. Описание
ids query array нет ID счётчиков через запятую
metrics query string нет Метрики через запятую, до 20
dimensions query string нет Группировки через запятую, до 10
date1 query string нет Начало периода: YYYY-MM-DD, today, yesterday, ndaysAgo; по умолчанию 6daysAgo
date2 query string нет Конец периода, по умолчанию today
filters query string нет Фильтр сегментации
sort query string нет Поля сортировки; - — по убыванию
limit query string нет Строк на странице, по умолчанию 100, максимум 100 000
offset query string нет Первая строка (с 1)
accuracy query string нет Размер выборки (семплирование)
preset query string нет Шаблон отчёта, например sources_summary
lang query string нет Язык ответа
timezone query string нет Часовой пояс ±hh:mm, + передаётся как %2B
direct_client_logins query array нет Логины клиентов Яндекс Директа
include_undefined query boolean нет Строки с неопределёнными значениями
proposed_accuracy query boolean нет Разрешить API повышать accuracy

Пример запроса:

https://api-metrika.yandex.net/stat/v1/data.csv?id=44147844&metrics=ym:s:avgPageViews&dimensions=ym:s:operatingSystem&limit=5

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/metrika/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-metrika.md