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

Как выгрузить данные из Яндекс Метрики

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

Данные из Метрики выгружают по разным причинам: для отчёта клиенту, для своей таблицы или BI, для резервной копии или перед переходом на другой инструмент.

Какой способ вам подходит

Какой способ вам подходит

1Что нужно?
2Есть разработчик или аналитик?
3Как часто обновлять?

Ответьте на вопросы, и мы подскажем способ. Коротко:

  • Экспорт из интерфейса — Откройте отчёт, выберите период и скачайте файл. Подходит для разовых задач.
  • API отчётов — Агрегаты по запросу программы, удобно для регулярной выгрузки.
  • Logs API — Сырые визиты и просмотры для своего хранилища.
  • Импорт в Мерку — Копия базовых отчётов за всю историю без кода, обновление каждые 6 часов.

Есть три способа самого Яндекса и четвёртый, без кода. Способы Яндекса это экспорт из интерфейса, API отчётов и Logs API. Они сильно отличаются по объёму данных и по усилиям. Разберём каждый, а в конце коротко покажем, как перенести историю без кода.

Способ 1. Экспорт отчёта из интерфейса

Самый простой вариант. Откройте нужный отчёт в Метрике, выберите период и группировки и воспользуйтесь кнопкой экспорта в отчёте. Файл скачается в табличном формате, который открывается в Excel или Google Таблицах.

Когда подходит:

  • нужен один-два отчёта за понятный период,
  • не нужна регулярная выгрузка,
  • нет разработчика под рукой.

Ограничения: это ручная работа. Для истории за несколько лет и по нескольким отчётам придётся выгружать много файлов и потом склеивать их. Кроме того, на больших объёмах Метрика может строить отчёт по выборке, а не по всем данным. Это видно в интерфейсе по настройке точности.

Способ 2. API отчётов

API отчётов отдаёт те же агрегированные данные, что вы видите в интерфейсе, но по запросу программы. Ответ приходит в формате JSON или CSV. В запросе указываются метрики (например, визиты) и группировки (например, дата или источник).

Пример запроса из документации Метрики выглядит так:

https://api-metrika.yandex.net/stat/v1/data.csv?ids=<номер счётчика>&metrics=ym:s:visits&dimensions=ym:s:date

Когда подходит:

  • нужна регулярная автоматическая выгрузка,
  • нужны агрегаты по дням, источникам, страницам, устройствам,
  • есть человек, который напишет скрипт или настроит коннектор.

Что учесть: для запросов нужен OAuth-токен, действуют квоты на число запросов. В ответе API есть признаки выборки (поле sampled) и ограниченных данных (contains_sensitive_data), их стоит проверять, чтобы не получить неточные цифры.

Способ 3. Logs API: сырые данные

Logs API отдаёт неагрегированные данные: отдельные визиты или просмотры со всеми полями, которые вы выбрали. Это самый полный способ, им пользуются аналитики, которые собирают своё хранилище, например в ClickHouse.

Как работает: вы создаёте запрос логов за период, ждёте, пока Метрика подготовит файлы, скачиваете их частями и затем очищаете подготовленные логи.

Что учесть:

  • нужен разработчик или аналитик, который умеет работать с API,
  • данные за текущий день недоступны, запрашивать нужно прошлые периоды,
  • по документации есть общая квота на объём подготовленных логов, поэтому большие выгрузки делают частями и очищают после скачивания,
  • сырые данные ещё нужно обработать, чтобы получить привычные отчёты.
  1. Создать запроспериод и поля
  2. ПодготовкаМетрика собирает файлы
  3. Скачать частифайлы по частям
  4. Очиститьосвободить квоту
Как работает Logs API: четыре шага.

Как сравнить способы

Сравнение способов

СпособЧто получаетеНужен кодРегулярностьОграничения
Экспорт из интерфейсаОдин отчёт за период, файлНетВручнуюМного файлов для длинной истории, возможна выборка
API отчётовАгрегаты: визиты, источники, страницы и т. д.ДаАвтоматическиOAuth-токен, квоты, признак выборки
Logs APIСырые визиты и просмотрыДаАвтоматическиНужен аналитик, квота на объём логов
Импорт в МеркуБазовые отчёты за всю историюНетКаждые 6 часовТолько базовые отчёты, без сырых визитов

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

Способ 4. Перенести историю в Мерку без кода

Мерка сама забирает данные через официальный API Метрики. Это бесплатная веб-аналитика с импортом истории. Путь короткий:

  1. Зарегистрируйтесь в Мерке.
  2. Подтвердите почту: откройте письмо и перейдите по ссылке. До подтверждения подключение Метрики и установка счётчика недоступны.
  3. Создайте проект. Он не создаётся сам, название необязательно.
  4. Нажмите «Подключить через Яндекс», войдите через Яндекс с доступом только на чтение (Вебмастер по желанию) и выберите счётчик: импорт стартует сразу. Ручная вставка OAuth-токена — запасной вариант.

Сразу после подключения Мерка выгружает базовые отчёты за всю историю, которую отдаёт API: визиты, посетители, источники, страницы, география, устройства. Потом данные синхронизируются каждые 6 часов, а история лежит в одном кабинете с данными нового счётчика Мерки.

Каждый шаг со скриншотами, запасной вариант ручной вставки OAuth-токена, что переносится и что нет: как перенести историю из Метрики. Все возможности на главной.

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

Копия всей истории без кода и без ручных выгрузок

Перенести историю

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

Можно ли выгрузить данные из Метрики бесплатно?

Да. Экспорт из интерфейса и оба API доступны владельцу счётчика и пользователям с доступом к нему. Перенос в Мерку на базовом тарифе тоже бесплатный.

Чем API отчётов отличается от Logs API?

API отчётов отдаёт готовые агрегаты, как в интерфейсе. Logs API отдаёт сырые визиты и просмотры, которые нужно обрабатывать самостоятельно.

За какой период можно выгрузить данные?

За тот, который доступен в вашем счётчике и отдаётся API. Мерка при подключении забирает всю доступную историю базовых отчётов.

Нужен ли программист, чтобы перенести историю в Мерку?

Нет. Достаточно зарегистрироваться, подтвердить почту, создать проект, нажать «Подключить через Яндекс», войти через Яндекс и выбрать счётчик: импорт стартует сразу. Код писать не нужно.

Как удалить аккаунт и перенесённые данные?

Напишите в Telegram (Связаться: Telegram), мы удалим их в течение 30 дней.

Связаться: Telegram