# Network Stats API

> Public aggregate network analytics — total tokens processed, top models by token consumption, and 24h/7d/30d activity trends. No authentication required.


# Network Stats API

The `/api/v1/analytics/network` endpoint returns aggregate statistics about token consumption across the AnyRouter network. No authentication is required.

## What is included

- **Total tokens processed** — input, output, cached, and reasoning tokens over the last 30 days
- **Token burns** — the top 15 models ranked by total token consumption (30-day window)
- **Activity trends** — hourly token volumes for the last 24 hours, daily volumes for 7 days and 30 days

## Privacy guarantee

All data in this endpoint is **purely aggregate**. No per-user, per-workspace, or per-key data is ever returned. Model identifiers (`model_id`) are public catalog identifiers visible on the models page.

## Endpoint

```
GET /api/v1/analytics/network
```

No request parameters. No authentication headers required.

## Response

```json
{
  "generated_at": "2026-06-26T12:00:00.000Z",
  "totals": {
    "tokens": 1234567890,
    "requests": 50000,
    "prompt_tokens": 800000000,
    "completion_tokens": 400000000,
    "cached_tokens": 30000000,
    "reasoning_tokens": 4567890
  },
  "top_models": [
    {
      "model_id": "openai/gpt-4o",
      "model_name": "GPT-4o",
      "provider": "OpenAI",
      "rank": 1,
      "tokens": 500000000,
      "requests": 25000,
      "share": 0.4051
    }
  ],
  "trend": {
    "24h": [
      { "bucket": "2026-06-26 11:00", "tokens": 5000000, "requests": 200 }
    ],
    "7d": [
      { "bucket": "2026-06-25", "tokens": 80000000, "requests": 3200 }
    ],
    "30d": [
      { "bucket": "2026-06-01", "tokens": 40000000, "requests": 1600 }
    ]
  }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `generated_at` | string \| null | ISO 8601 timestamp of when the snapshot was computed. `null` before the first run. |
| `totals.tokens` | number | Total tokens processed in the last 30 days |
| `totals.requests` | number | Total inference requests in the last 30 days |
| `totals.prompt_tokens` | number | Input tokens |
| `totals.completion_tokens` | number | Output tokens |
| `totals.cached_tokens` | number | Cached (prompt cache hit) tokens |
| `totals.reasoning_tokens` | number | Reasoning (chain-of-thought) tokens |
| `top_models[].model_id` | string | Public catalog model identifier |
| `top_models[].model_name` | string | Human-readable model name |
| `top_models[].share` | number | Fraction of total tokens consumed (0–1, 4 dp) |
| `trend["24h"]` | array | Hourly buckets for the last 24 hours (`"YYYY-MM-DD HH:00"`) |
| `trend["7d"]` | array | Daily buckets for the last 7 days (`"YYYY-MM-DD"`) |
| `trend["30d"]` | array | Daily buckets for the last 30 days (`"YYYY-MM-DD"`) |

## Caching

The snapshot is computed every 10 minutes by a background workflow and served with:

```
Cache-Control: public, max-age=600, s-maxage=600
```

The `generated_at` field shows exactly when the data was last refreshed.

## Public page

A visual representation of this data is available at [anyrouter.dev/network](/network) — a live dashboard showing the total-token counter, token-burn bar chart, and trend sparklines.
