Get model historical stats
Returns historical latency, availability, tool-call, structured-output and effective user pricing statistics for a specific model, in two units: auto counts each request that left the provider choice to the gateway by the result the caller received, and each provider counts every upstream attempt it was sent. Only rates, percentiles, shares and prices are published, never request or token counts. Each number is null until it rests on enough samples: rates and shares need at least 20 samples, means, percentiles and weighted prices at least 30.
creator*stringModel creator namespace (e.g. openai, anthropic)
model*stringModel slug (e.g. gpt-4o, claude-sonnet-4)
period?stringHistorical stats window.
"30d""7d""30d""90d"Successful response
application/json- response
auto*Every request for this model, whoever chose the provider, by the result the caller received. The gateway moves a failed request to another provider when it can, so a request succeeds when any provider serves it: these numbers are not an average of the providers and cannot be derived from them.
model_id*stringperiod*string"7d""30d""90d"providers*array<>curl -X GET 'https://api.ohmygpt.com/v1/models/string/string/stats'{ "auto": { "latency_ms": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "throughput_tokens_per_second": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "ttft_ms": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "avg_latency_ms": 0, "effective_pricing": { "cache_hit_rate": 0, "credits_per_million_tokens": 0, "discount_pct": 0, "list_credits_per_million_tokens": 0 }, "structured_output_error_rate": 0, "tool_call_error_rate": 0, "uptime_pct": 0 }, "model_id": "string", "period": "7d", "providers": [ { "latency_ms": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "throughput_tokens_per_second": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "ttft_ms": { "p50": 0, "p75": 0, "p90": 0, "p95": 0, "p99": 0 }, "avg_latency_ms": 0, "effective_pricing": { "cache_hit_rate": 0, "credits_per_million_tokens": 0, "discount_pct": 0, "list_credits_per_million_tokens": 0 }, "provider": "string", "structured_output_error_rate": 0, "token_share": 0, "tool_call_error_rate": 0, "uptime_daily": [ { "date": "2019-08-24", "uptime_pct": 0 } ], "uptime_pct": 0 } ]}Get model rankings GET
Every public model with traffic over the last 7 days, ranked by tokens served: rank, share of tokens, success rate and median time to first token. Success rate and TTFT are null until the model has at least 100 samples in the window: models are compared against each other here, so the floor is higher than for a single model's stats. Samples follow the model uptime rules (one per request, final outcome, caller errors excluded); token share counts the same requests.
Get weekly model usage GET
Each public model's share of the tokens served in each ISO week (Monday 00:00 UTC start) for a stacked "top models" chart, plus this week's leaderboard. The chart draws the 10 models with the most tokens over the window and folds every other public model into other_share. The leaderboard lists the 20 models with the most tokens this week so far, with their rank and share, each compared with last week over the same span (Monday 00:00 UTC up to as_of), so a week in progress is not mistaken for a decline. change_pct is null until both spans have at least 20 requests. Same scope as /v1/rankings/models. Refreshed about once an hour.