Введение

API сервиса Яндекс Метрика позволяет:

  • Управлять счетчиками, их настройками и правами доступа, не используя веб-интерфейс.
  • Получать информацию о посещаемости сайта и другие данные.
  • Формировать отчеты, в том числе с помощью сегментации и параметризации.

Для использования API Яндекс Метрики необходима авторизация с помощью OAuth-токена.

Структура API

API включает в себя следующие разделы:

  • API управления — позволяет управлять счетчиками, целями, фильтрами и другими объектами Яндекс Метрики (создать счетчик, отредактировать его настройки, создать цель, выдать права доступа и т. п.).
  • API отчетов:
    • API отчетов — поддерживает все возможности отчетов Яндекс Метрики: сегментацию, полный набор группировок и метрик, сравнение сегментов и т. п.
    • API, совместимый с Google Analytics Core Reporting API — поддерживает все возможности Google Analitics Core Reporting API (v3), но набор группировок и метрик ограничен.

Версионирование

Все разделы API Яндекс Метрики поддерживают версионирование. У каждой версии есть определенный идентификатор (v1, v2 и т. п.). При выходе новой версии API предыдущая версия продолжает работать для поддержания обратной совместимости.

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

При формировании запроса к API всегда указывайте версию, с которой вы хотите работать.

https://api-metrika.yandex.net/stat/v1/data?id=...
https://api-metrika.yandex.net/stat/v2/data?id=...

Ресурсы

API Яндекс Метрики построен по REST-принципам.

Все, чем можно управлять через API, представлено в виде ресурсов: статистика, список счетчиков, собственно счетчик, цели счетчика и каждая конкретная цель, доступы к счетчику и т. д.

То есть ресурс — это некая целостная часть системы, с которой можно работать:
  • читать содержимое и текущее состояние ресурса (GET);
  • изменять содержимое и состояние и записывать его в ресурс (PUT);
  • удалять ресурс (DELETE);
  • выполнять специальные действия ― например, добавлять новые элементы в список (POST).

У каждого ресурса есть свой уникальный URL. Все действия выполняются соответствующими методами протокола HTTP на URL'ы ресурсов.

Например, чтобы получить информацию о счетчике, необходимо сделать GET-запрос на URL счетчика. А чтобы создать новый счетчик, необходимо сделать POST-запрос с телом счетчика на URL ресурса «список счетчиков».