Сценарий из mcp-everything. Актуально на 2026-10-24.
Неагрегированные данные о каждом визите или хите — для своего хранилища и сквозной аналитики.
H="Authorization: OAuth $METRIKA_TOKEN"
API=https://api-metrika.yandex.net/management/v1/counter/44147844
FIELDS=ym:s:visitID,ym:s:dateTime,ym:s:clientID,ym:s:lastTrafficSource,ym:s:goalsID
REQ=$(curl -s -X POST "$API/logrequests?date1=2026-10-01&date2=2026-10-23&source=visits&fields=$FIELDS" -H "$H" | jq -r .log_request.request_id)
curl -s "$API/logrequest/$REQ" -H "$H" | jq .log_request.status # повторять до processed
curl -s "$API/logrequest/$REQ/part/0/download" -H "$H" -o visits-part0.tsv
curl -s -X POST "$API/logrequest/$REQ/clean" -H "$H"
https://api-metrika.yandex.netТип: OAuth 2.0
OAuth-токен Яндекса передаётся в заголовке Authorization в каждом запросе. Без токена или с недействительным токеном сервер отвечает 401.
Authorization: OAuth <токен>
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
counterId |
path | integer | да | ID счётчика |
date1 |
query | string | да | Первый день, например 2016-01-01 |
date2 |
query | string | да | Последний день (не текущий) |
fields |
query | string | да | Поля через запятую, например ym:pv:dateTime,ym:pv:referer |
source |
query | string | да | hits (события) или visits (визиты) |
В ответе — log_request: request_id, counter_id, status, size, parts.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
counterId |
path | integer | да | ID счётчика |
date1 |
query | string | да | Первый день периода |
date2 |
query | string | да | Последний день (не текущий) |
fields |
query | string | да | Поля через запятую, до 3000 символов |
source |
query | string | да | hits или visits |
attribution |
query | string | нет | Модель атрибуции: FIRST, LAST, LASTSIGN, LAST_YANDEX_DIRECT_CLICK, AUTOMATIC и др. |
Статусы: created, canceled, processed, cleaned_by_user, cleaned_automatically_as_too_old, processing_failed, awaiting_retry. Для processed в parts[] — номера и размеры частей.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
counterId |
path | integer | да | ID счётчика |
requestId |
path | integer | да | ID запроса логов |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
counterId |
path | integer | да | ID счётчика |
requestId |
path | integer | да | ID запроса логов |
partNumber |
path | integer | да | Номер части |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
counterId |
path | integer | да | ID счётчика |
requestId |
path | integer | да | ID запроса логов |
ym:s: — визиты, ym:pv: — хиты; смешивать их в одном запросе нельзя.contains_sensitive_data: true.date2 не может быть текущим днём, фильтрации на уровне запроса нет.evaluate → создание запроса → опрос статуса до processed → скачивание частей → clean.Если этого недостаточно — официальная документация: https://yandex.ru/dev/metrika/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-metrika.md