API Метрики работает

Как работать с Logs API Яндекс Метрики

Импорт истории из Метрики по API доступен прямо сейчас.

Если нужны отдельные визиты и просмотры для своей обработки, их можно получить через Logs API Яндекс Метрики.

  1. Создать запроспериод и поля
  2. ПодготовкаМетрика собирает файлы
  3. Скачать частифайлы по частям
  4. Очиститьосвободить квоту
Как работает Logs API: четыре шага.

Для таблицы в Excel хватит экспорта отчёта. Разбираем разницу, проходим запрос от токена до скачивания и показываем, как Мерка забирает визиты через Logs API при переносе истории и чем её собственный Logs API похож на метриковский.

Когда нужны сырые данные

Logs API нужен для самостоятельной обработки данных.

Он отдаёт неагрегированные данные, то есть отдельные записи вместо итогов по группам. Вы сами обрабатываете их скриптом или загружаете в базу данных: в документации Метрики для хранения предлагают ClickHouse. Каждый запрос требует авторизационного токена и расходует квоты (описание Logs API).

Если вам нужны готовые итоги, используйте API отчётов: он получает статистику без интерфейса и возвращает JSON или CSV. Для разовой таблицы можно выгрузить отчёт в Excel. Это другой сценарий, без обработки отдельных визитов. Документация API отчётов.

Как подготовить токен и выбрать поля

Сначала получите токен с доступом к статистике.

Создайте приложение на OAuth-сервере Яндекса с правом metrika:read. Полученный OAuth-токен передавайте в каждом запросе в заголовке Authorization: OAuth <токен>. Это способ авторизации запросов к Метрике. Порядок получения описан в документации по авторизации.

Для визитов выберите source=visits, для просмотров и событий source=hits. У полей визитов префикс ym:s:, у просмотров ym:pv:. Например, ym:s:visitID содержит идентификатор визита, ym:s:startURL начальную страницу, а ym:s:pageViews число просмотров. Поля передаются списком в параметре fields; сверяйте их со списком полей визитов.

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

Скачивайте части после того, как запрос подготовлен.

Сначала можно оценить возможность выгрузки методом evaluate. Затем создайте запрос с периодом, источником и полями, сохраните request_id из ответа. Проверяйте статус запроса до значения processed. После этого скачайте его части и очистите подготовленные логи методом clean. Такую последовательность описывает инструкция Метрики.

В примере TOKEN содержит ваш OAuth-токен, COUNTER_ID номер счётчика Метрики. После создания запроса задайте REQUEST_ID из ответа, а перед скачиванием задайте PART_NUMBER для нужной части. Команды выполняйте по этапам, проверяя ответы, а не одним запуском.

B="https://api-metrika.yandex.net/management/v1/counter/$COUNTER_ID"
F='ym:s:visitID,ym:s:dateTime,ym:s:clientID,ym:s:startURL,ym:s:pageViews'

# Необязательная оценка возможности выгрузки.
curl -H "Authorization: OAuth $TOKEN" \
  "$B/logrequests/evaluate?date1=2026-09-01&date2=2026-09-30&source=visits&fields=$F"

# Создайте запрос. Сохраните request_id из ответа в REQUEST_ID.
curl -X POST -H "Authorization: OAuth $TOKEN" \
  "$B/logrequests?date1=2026-09-01&date2=2026-09-30&source=visits&fields=$F"

# Проверяйте статус до processed.
curl -H "Authorization: OAuth $TOKEN" \
  "$B/logrequest/$REQUEST_ID"

# Задайте PART_NUMBER и повторите скачивание для каждой части.
curl -H "Authorization: OAuth $TOKEN" \
  "$B/logrequest/$REQUEST_ID/part/$PART_NUMBER/download" \
  -o "part-$PART_NUMBER"

# После скачивания всех частей освободите квоту.
curl -X POST -H "Authorization: OAuth $TOKEN" \
  "$B/logrequest/$REQUEST_ID/clean"

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

Какие ограничения учитывать при выгрузке

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

Укажите вчерашний день или более раннюю дату. Период одного запроса не должен превышать год, а строка fields ограничена 3000 символами. Общая квота подготовленных логов составляет 10 ГБ на счётчик, включая неочищенные выгрузки. После скачивания вызывайте clean, чтобы освобождать место. Увеличение квоты доступно в Метрике Про. Ограничения Logs API.

Данные визитов могут дообновляться: в среднем 99 % визитов завершаются в течение трёх дней. Кроме того, цифры Logs API могут отличаться от интерфейса, где используются дополнительные алгоритмы обработки. Учитывайте это при сверке свежей выгрузки с отчётом. Особенности данных.

Квоты Logs API: 10 запросов в секунду с одного IP, три параллельных запроса на пользователя и 5000 запросов в сутки на пользователя. Ответ 429 означает превышение квоты; проверьте частоту и число запросов, затем повторите попытку позже. Для API отчётов действует отдельное ограничение: 200 запросов за пять минут. Квоты API.

Как перенести историю без своего скрипта

Мерка сама запрашивает историю через API Метрики.

В кабинете откройте «Импорт из Метрики» и нажмите «Подключить через Яндекс». Доступ нужен только на чтение статистики. Мерка забирает историю отчётов через API отчётов и визиты за последние 90 дней построчно через Logs API. Далее синхронизация идёт каждые шесть часов.

Импорт зависит от того, отвечает ли API Метрики. Если кабинет не открывается, состояние кабинета и API можно проверить на странице статуса. Подробнее о переносе читайте на странице истории Метрики.

Как использовать Logs API самой Мерки

Свой Logs API отдаёт данные счётчика Мерки и импортированную историю Метрики.

Если история уже перенесена, визиты Метрики, которые Мерка забрала построчно (последние 90 дней), попадут в выгрузку вместе с визитами счётчика. Чтобы собирались новые данные, добавьте сайт через «Ваши сайты» → «+ Добавить сайт». На странице «Настройка счётчика» нажмите «Скопировать код» и установите счётчик на сайте. Личный токен создайте на странице «API» в группе «Настройки» кнопкой «Создать токен». Для чтения выберите «Права»: «Чтение»; сохраните токен, поскольку он показывается один раз.

При переключении скрипта замените базовый адрес на https://analog-metriki.ru/api/v1 и токен на токен Мерки. Имена методов сохраняются: logrequests/evaluate, logrequests, logrequest/{request_id}, part/{n}/download, clean; есть также cancel. В пути /counter/{id} укажите id сайта Мерки из адреса /app/projects/<id>. Набор полей частично отличается, поэтому проверьте GET /api/v1/logs/fields и схему OpenAPI перед запуском.

Части выдаются как TSV, то есть текст с разделением столбцов табуляцией, в gzip по 50 000 строк. Заголовок находится в первой строке первой части; параметр ?format=tsv отключает сжатие. Допустимы только завершённые дни, до 366 дней и до 2 млн строк в одном запросе. На сайт можно иметь до пяти активных, неочищенных запросов; готовые части хранятся 72 часа, затем удаляются. Лимиты токена составляют 300 запросов в минуту и 20 000 в сутки.

Каждый визит в выгрузке помечен источником в поле ym:s:merkaOrigin: merka значит визит с нашего счётчика, metrika значит визит из импортированной истории Метрики. Так выглядит начало выгрузки с этим полем:

ym:s:visitID	ym:s:date	ym:s:lastTrafficSource	ym:s:pageViews	ym:s:merkaOrigin
1	2026-10-12	direct	1	merka
2	2026-10-12	direct	4	merka

Эти файлы предназначены для скриптов и баз данных. Значения сырые: Excel может принять ячейку, начинающуюся с «=», за формулу. Для работы в Excel используйте экспорт отчётов Мерки в CSV или XLSX.

Коротко

  • Logs API отдаёт отдельные записи для самостоятельной обработки, API отчётов возвращает статистику в JSON или CSV.
  • Запрос Метрики проходит создание, проверку статуса, скачивание частей и очистку.
  • Текущий день недоступен, а неочищенные выгрузки занимают квоту 10 ГБ на счётчик.
  • Мерка сама переносит визиты за последние 90 дней через Logs API Метрики.
  • Для Logs API Мерки нужны её токен, id сайта и проверка поддерживаемых полей.

Перенесите историю Метрики без своего скрипта

Начать бесплатно

Частые вопросы

Можно ли выгрузить сегодняшний день через Logs API Метрики?

Нет. Выберите вчерашний день или более раннюю дату. Ограничения.

Почему после скачивания не хватает квоты?

Подготовленные логи продолжают занимать место, пока вы их не очистите. Выполните POST .../logrequest/{requestId}/clean для скачанных запросов. Инструкция.

Почему выгрузка отличается от отчёта в кабинете?

Интерфейс применяет дополнительные алгоритмы обработки, а данные визитов могут дообновляться. Совпадение цифр не гарантируется. Описание Logs API.

Можно ли перенести скрипт на API Мерки?

Да, имена методов и сценарий совпадают. Замените адрес, токен и id сайта, затем проверьте поля: их набор меньше, чем у Метрики.

Мерка — бесплатная на базовом тарифе веб-аналитика с переносом истории из Метрики и собственным Logs API для данных своего счётчика и импортированной истории. Вопросы можно задать в Telegram: t.me/nomorefun.

Начать бесплатно

Связаться: Telegram