Skip to main content
GET
/
datasets
/
rankings-daily
Daily token totals for top 50 models
curl --request GET \
  --url https://openrouter.ai/api/v1/datasets/rankings-daily \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "date": "2026-05-11",
      "model_permaslug": "openai/gpt-4o-2024-05-13",
      "total_tokens": "12345678"
    },
    {
      "date": "2026-05-11",
      "model_permaslug": "anthropic/claude-3.5-sonnet-20241022",
      "total_tokens": "9876543"
    },
    {
      "date": "2026-05-11",
      "model_permaslug": "other",
      "total_tokens": "4321098"
    }
  ],
  "meta": {
    "as_of": "2026-05-12T02:00:00Z",
    "end_date": "2026-05-11",
    "start_date": "2026-04-12",
    "version": "v1"
  }
}

Authorizations

Authorization
string
header
required

API key as bearer token in Authorization header

Query Parameters

start_date
string

Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before end_date. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in meta.start_date.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-04-12"

end_date
string

End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-05-11"

Response

Up to 51 rows per day — the top 50 public models by total_tokens plus a single aggregated other row covering every model outside that top 50. Sorted by date ascending, then by total_tokens descending, with other pinned last within its date.

data
object[]
required

Up to 51 rows per day — the top 50 public models by total_tokens for each UTC calendar date in the window, plus one aggregated other row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by date ascending, then by total_tokens descending, with other pinned last within its date. Ties between real models break alphabetically on model_permaslug so the order is stable across requests.

meta
object
required
Example:
{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
}