Live AI model benchmark data as JSON. Free, keyed, and versioned.
These endpoints used to be open, and plenty of people built genuinely good things on them — status bars, dashboards, monitoring bots. That open access also got used to re-publish the rankings wholesale as other people's leaderboards, with no attribution and no way for us to tell one from the other.
A key fixes exactly that: it costs nothing, takes about thirty seconds, and turns an anonymous user-agent string into something we can rate-limit, contact and — if it turns out to be a mirror rather than a client — revoke. If you were using the old open endpoints, create a key and add one header. Nothing else changes.
Send your key in the Authorization header. An X-API-Key header works too if a bearer token is awkward in your client.
curl -H "Authorization: Bearer asl_live_your_key_here" \
"https://aistupidlevel.info/api/v1/models?period=latest&sortBy=combined"https://aistupidlevel.info/api/v1| Endpoint | Description | Query |
|---|---|---|
| GET /api/v1/models | Current rankings with scores, trends and confidence intervals. | period, sortBy |
| GET /api/v1/models/:id | Detail for one model, including per-axis breakdown. | — |
| GET /api/v1/models/:id/history | Score time-series for one model. | period |
| GET /api/v1/index | Global intelligence index — the aggregate score across all tracked models, with history. | — |
| GET /api/v1/alerts | Active performance alerts for models scoring below their baseline. | — |
| GET /api/v1/incidents | Recorded degradation incidents. | period, limit |
| GET /api/v1/providers | Provider-level availability and status. | — |
| GET /api/v1/analytics/degradations | Models currently degrading, with magnitude and direction. | period |
| GET /api/v1/analytics/recommendations | Which model to use right now, by task type. | period |
| GET /api/v1/analytics/provider-reliability | Reliability scoring per provider. | period |
| GET /api/v1/analytics/transparency | Full scoring transparency data. | period |
| GET /api/v1/drift/:id | CUSUM drift signature for one model. | — |
| GET /api/v1/me | Your key, its tier, and your current quota. | — |
period — one of latest, 24h, 7d, 1m. Defaults to latest.
sortBy — one of combined, reasoning, speed, price, coding, 7axis, tooling. Defaults to combined.
Every successful response uses the same envelope.
{
"success": true,
"version": "1.0.0",
"generated_at": "2026-09-04T07:48:00.000Z",
"license": "Attribution required — cite aistupidlevel.info as the source.",
"period": "latest",
"sort_by": "combined",
"count": 152,
"data": [
{
"id": "275",
"name": "gpt-5.6-sol",
"provider": "openai",
"currentScore": 75,
"trend": "up",
"status": "good",
"confidenceLower": 76.2,
"confidenceUpper": 84.6,
"lastUpdated": "2026-09-04T06:54:01.041Z"
}
]
}| Tier | Per day | Per minute | How to get it |
|---|---|---|---|
| Free | 10 | 1 | Sign up and create a key |
| Pro | 10,000 | 60 | Included with a Pro subscription |
| Enterprise | 250,000 | 1,000 | By arrangement — see below |
Free is an evaluation tier. Ten calls a day is enough to wire a client up and see real data come back — it is not enough to poll on a schedule. Anything that refreshes by itself needs Pro.
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. The daily quota resets at 00:00 UTC. Over quota returns 429 with a JSON body explaining which limit you hit.
Scores update roughly hourly, so cache on your side rather than polling. One request an hour is plenty to stay current, and it keeps a Pro key nowhere near its ceiling.
Enterprise is not sold through a checkout — there is nothing to buy on this page. If you need volume beyond Pro, a commercial redistribution licence, or a guarantee we will not change something under you, get in touch and we will sort out limits that fit what you are actually building.
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_model_id | The model id in the path is malformed. |
| 401 | api_key_required | No key was sent. |
| 401 | invalid_api_key | The key is unknown or has been revoked. |
| 404 | model_not_found | No such model. |
| 429 | quota_exceeded | Daily quota spent. Resets at 00:00 UTC. |
Attribution is required. Anywhere you display this data, cite aistupidlevel.info as the source with a link.
Do not republish the rankings as your own leaderboard, and do not resell the data. Use one key per application rather than sharing a key across products. Keys that behave like a mirror rather than a client can be revoked without notice.
Building something that needs to run on a schedule? That is what Pro is for. Building something bigger than Pro, or that redistributes the data? Talk to us first — we would much rather agree terms with you than find out from the logs.