yandex-metrica
✓Clean|
⭐ 0 stars🍴 0 forks↓ 0 installs
Install Command
npx skills add elsvv/yandex-metrica-skillAuthor
elsvvRepository
elsvv/yandex-metrica-skillDiscovered via
github topicWeekly installs
0Quality score
10/100Last commit
2/23/2026SKILL.md
---
name: yandex-metrica
description: |
РабоÑа Ñ Yandex Metrica API: аналиÑика, оÑÑÑÑÑ, Ñели, логи.
Use when the user needs web analytics data from Yandex Metrica â
traffic stats, conversion reports, goal management, raw log exports,
counter management, segments, filters, or grants.
Triggers: меÑÑика, metrica, аналиÑика, ÑÑÑÑÑик, визиÑÑ, конвеÑÑии,
оÑÑÑÑ Ð¿Ð¾ ÑÑаÑикÑ, иÑÑоÑники ÑÑаÑика, Logs API, ÑкÑпоÑÑ Ð»Ð¾Ð³Ð¾Ð².
---
# yandex-metrica
Yandex Metrica API â web analytics: counters, reports, goals, logs export.
## Config
Requires `YANDEX_METRICA_TOKEN` in `config/.env`.
See `config/README.md` for token setup (OAuth, permissions: `metrika:read`, `metrika:write`).
## Quick Start
**IMPORTANT:** Always run scripts with `bash` prefix and **absolute paths** from the skill directory. Scripts use bash-specific features and will not work if sourced from zsh. Do NOT `source scripts/common.sh` directly â use the wrapper scripts below.
```bash
# 1. Setup token
bash scripts/get_token.sh --client-id YOUR_CLIENT_ID
# 2. Check connection
bash scripts/check_connection.sh
# 3. List counters
bash scripts/counters.sh --action list
# 4. Get traffic stats
bash scripts/stats.sh --counter 12345678 --preset traffic
# 5. Export raw logs
bash scripts/logs.sh --action create --counter 12345678 --date1 2025-01-01 --date2 2025-01-31
```
## API Overview
Base URL: `https://api-metrika.yandex.net`
Auth header: `Authorization: OAuth TOKEN`
| API | Purpose | Base Path |
|-----|---------|-----------|
| Management | Counters, goals, filters, grants, segments | `/management/v1/` |
| Reporting | Aggregated stats, dimensions, metrics | `/stat/v1/` |
| Logs | Raw visit/hit data export | `/management/v1/counter/{id}/logrequests` |
## Scripts
### check_connection.sh
Verify API token and list available counters.
```bash
bash scripts/check_connection.sh
```
### counters.sh
Manage counters: list, get details, get full info with goals/filters.
```bash
bash scripts/counters.sh --action list
bash scripts/counters.sh --action list --search "mysite.com"
bash scripts/counters.sh --action info --counter 12345678
```
### stats.sh
Pull reporting data with presets or custom metrics/dimensions.
```bash
# Traffic overview
bash scripts/stats.sh --counter 12345678 --preset traffic
# Traffic sources breakdown
bash scripts/stats.sh --counter 12345678 --preset sources
# Top pages
bash scripts/stats.sh --counter 12345678 --preset content
# Custom report with filters
bash scripts/stats.sh --counter 12345678 \
--metrics "ym:s:visits,ym:s:users,ym:s:bounceRate" \
--dimensions "ym:s:lastTrafficSource" \
--filters "ym:s:trafficSource=='organic'" \
--date1 2025-01-01 --date2 2025-01-31
# Time-series report
bash scripts/stats.sh --counter 12345678 --type bytime \
--metrics "ym:s:visits" --date1 2025-01-01 --date2 2025-01-31
# Export to CSV
bash scripts/stats.sh --counter 12345678 --preset sources --csv report.csv
```
| Param | Default | Description |
|-------|---------|-------------|
| `--counter` | env var | Counter ID (required) |
| `--metrics` | visits,pageviews,users | Comma-separated metrics |
| `--dimensions` | â | Comma-separated dimensions |
| `--date1` | 30 days ago | Start date YYYY-MM-DD |
| `--date2` | today | End date YYYY-MM-DD |
| `--filters` | â | Filter expression |
| `--sort` | â | Sort field (prefix `-` for desc) |
| `--limit` | 100 | Max rows |
| `--preset` | â | traffic, sources, geo, content, technology |
| `--type` | data | data, bytime, drilldown, comparison |
| `--csv` | â | Export to CSV file |
### goals.sh
List and get goals for a counter.
```bash
bash scripts/goals.sh --action list --counter 12345678
bash scripts/goals.sh --action get --counter 12345678 --goal-id 999
```
### logs.sh
Raw data export via Logs API.
```bash
# Check if export is possible
bash scripts/logs.sh --action evaluate --counter 12345678 \
--date1 2025-01-01 --date2 2025-01-31
# Create log request
bash scripts/logs.sh --action create --counter 12345678 \
--source visits --date1 2025-01-01 --date2 2025-01-31
# Check status
bash scripts/logs.sh --action status --counter 12345678 --request-id 777
# Download when ready
bash scripts/logs.sh --action download --counter 12345678 \
--request-id 777 --output ./exports
# Clean up server-side
bash scripts/logs.sh --action clean --counter 12345678 --request-id 777
# List all log requests
bash scripts/logs.sh --action list --counter 12345678
```
## Key Metrics Quick Reference
| Metric | Description |
|--------|-------------|
| `ym:s:visits` | Sessions |
| `ym:s:users` | Unique visitors |
| `ym:s:pageviews` | Total pageviews |
| `ym:s:bounceRate` | Bounce rate % |
| `ym:s:avgVisitDurationSeconds` | Avg session duration |
| `ym:s:newUsers` | New visitors |
| `ym:s:goal<ID>reaches` | Goal completions |
| `ym:s:goal<ID>conversionRate` | Goal conversion rate |
| `ym:s:ecommerceRevenue` | E-commerce revenue |
## Key Dimensions Quick Reference
| Dimension | Description |
|-----------|-------------|
| `ym:s:trafficSource` | Traffic source type |
| `ym:s:lastTrafficSource` | Last traffic source |
| `ym:s:<attr>UTMSource` | UTM source |
| `ym:s:<attr>UTMMedium` | UTM medium |
| `ym:s:startURL` | Landing page |
| `ym:s:regionCountry` | Country |
| `ym:s:regionCity` | City |
| `ym:s:browser` | Browser |
| `ym:s:deviceCategory` | Device type |
| `ym:s:operatingSystem` | OS |
`<attr>` = attribution model: `last`, `first`, `lastsign`, etc.
## Filter Syntax
```
ym:s:trafficSource=='organic' # equals
ym:s:trafficSource!='organic' # not equals
ym:s:trafficSource=.('organic','direct') # in list
ym:s:pageViews>5 # greater than
ym:s:startURL=@'product' # contains
ym:s:startURL=~'.*product.*' # regex
ym:s:trafficSource=='organic' AND ym:s:isRobot=='No' # combine
```
## Rate Limits
| Limit | Value |
|-------|-------|
| General API | 30 req/sec per IP |
| Logs API | 10 req/sec per IP |
| Parallel requests | 3 per user |
| Daily limit | 5,000 req/day |
| Reports API | 200 req/5 min |
## Detailed Reference
For comprehensive API documentation including all endpoints, field lists, curl examples, and advanced features, see:
[references/api-reference.md](references/api-reference.md)
Covers: Management API (counters, goals, filters, operations, grants, labels, segments, user params), Reporting API (data, bytime, drilldown, comparison, presets, full metrics/dimensions), Logs API (visits/hits fields).