NIM Stats · v1.0.0

NIM Stats API

Measured status of the free NVIDIA NIM inference endpoints.

Read-only JSON API behind NIM Stats. Every number it returns is a measurement taken by sending a real chat-completion request to a free NVIDIA NIM endpoint from outside NVIDIA's network — not a vendor-published status claim.

No authentication, no API key, no rate limit. Probes run on a roughly ten-minute cadence, so polling faster than that returns identical data; responses carry `Cache-Control` reflecting that.

Every page of the site is also available as Markdown at its own URL via `Accept: text/markdown`, which is usually a better fit than this API when you want a summary rather than a series. See https://nimstats.aathil.com/llms.txt.

NIM Stats is an independent project and is not affiliated with NVIDIA Corporation.

Base URL https://nimstats.aathil.com

GET/api/healthgetHealth

Liveness probe. Confirms the API is serving and the telemetry database is reachable, and reports when the collector last recorded a probe. Use `lastProbeAt` to judge whether the fleet data elsewhere is fresh: a timestamp older than about twenty minutes means the collector has stalled, even though this endpoint still answers 200.

Responses

  • 200The API is serving and the database is reachable.Health
  • 405The endpoint is read-only; use GET or HEAD.Error
  • 503The telemetry database is unreachable.Error

Example

curl -s https://nimstats.aathil.com/api/health
GET/api/fleet/trendgetFleetTrend

Time series of fleet-wide averages — time to first token, throughput, and success rate — bucketed across the requested window. Bucket width is chosen per range so the series stays around 70–150 points: 10 minutes for `12h`, 20 minutes for `24h`, 2 hours for `7d`. Points are ordered oldest first. Use this to answer whether the fleet is getting better or worse, not to pick an individual endpoint.

Query parameters

rangestringoptionaldefault 12h
Window to aggregate over. Determines bucket width. One of 12h, 24h, 7d.

Responses

  • 200The requested series.TrendResponse
  • 400`range` was not one of the supported values.Error
  • 405The endpoint is read-only; use GET or HEAD.Error
  • 500The series could not be read.Error

Example

curl -s https://nimstats.aathil.com/api/fleet/trend?range=12h
GET/api/fleet/reliabilitygetFleetReliability

Per-endpoint reliability breakdown: daily uptime for the requested window, a 24-bucket time-of-day profile of latency and success rate, and rolled-up 1-day, 7-day, and 30-day SLA figures. This is the heaviest endpoint here and the slowest-moving; cache it. Uptime fields are null where no samples exist for that bucket rather than zero, so absence of data is distinguishable from total failure.

Query parameters

daysintegeroptionaldefault 90
How many days of daily history to include. Restricted to an allowlist so callers cannot force arbitrarily expensive queries. One of 7, 30, 90, 365.

Responses

  • 200The reliability breakdown for every tracked endpoint.ReliabilityResponse
  • 400`days` was not one of the supported values.Error
  • 405The endpoint is read-only; use GET or HEAD.Error
  • 500The breakdown could not be read.Error

Example

curl -s https://nimstats.aathil.com/api/fleet/reliability?days=90

Health

Liveness of the API and its collector.

FieldTypeDescription
status"ok"Always `ok` on a 200; failures answer 503 with an Error body.
timestampstringWhen this response was generated (UTC).
database"connected"Telemetry database reachability.
lastProbeAtstring | nullWhen the collector last recorded a sample, or null if it has never run.

TrendResponse

A fleet-wide time series over the requested window.

FieldTypeDescription
rangestringThe window that was aggregated.
dataTrendPoint[]Buckets ordered oldest first.

TrendPoint

Fleet-wide averages for one time bucket.

FieldTypeDescription
tstringBucket start (UTC).
ttftMsnumberMean time to first token across the fleet, in milliseconds.
throughputnumberMean sustained decode throughput, in tokens per second.
successRatenumberPercentage of probes that completed successfully.

ReliabilityResponse

Per-endpoint reliability history across the fleet.

FieldTypeDescription
updatedAtstringWhen this breakdown was computed.
daysintegerLength of the daily history window, in days.
modelsModelReliability[]

ModelReliability

Reliability history for a single endpoint.

FieldTypeDescription
idstringNIM model identifier, e.g. `meta/llama-3.1-8b-instruct`.
namestringShort model name.
providerstringPublishing organisation, e.g. `Meta`.
daysDayUptime[]
hoursHourBucket[]24 buckets, one per UTC hour of day, aggregated over the window.
slaobjectRolled-up success rates over fixed trailing windows.

DayUptime

Probe outcomes for one UTC day.

FieldTypeDescription
datestringYYYY-MM-DD (UTC).
totalintegerProbes attempted that day.
okintegerProbes that completed successfully.
uptimenumber | nullSuccess rate as a percentage, or null when no probes ran.

HourBucket

Probe outcomes aggregated by UTC hour of day.

FieldTypeDescription
hourintegerHour of day (UTC).
totalintegerProbes attempted in this hour across the window.
okintegerProbes that completed successfully.
avgTtftnumber | nullMean time to first token in milliseconds, or null when no probes ran.
avgLatencynumber | nullMean end-to-end latency in milliseconds, or null when no probes ran.
uptimenumber | nullSuccess rate as a percentage, or null when no probes ran.

SlaWindow

Success rate over a fixed trailing window.

FieldTypeDescription
totalintegerProbes attempted in the window.
okintegerProbes that completed successfully.
uptimenumber | nullSuccess rate as a percentage, or null when no probes ran.

Error

Every non-2xx response from this API has this shape.

FieldTypeDescription
errorobject