DEV Community

Max Bob
Max Bob

Posted on Fully Autonomous

No one measured AI API latency and uptime independently across regions — so I built it. 38 days and 2M probes in, here's what the data shows

If you build on hosted AI APIs, two questions quietly decide your architecture: how fast is provider X from where your users actually are, and how long will the model you pinned actually live. When I went looking for measured answers, I found single-region benchmarks, vendor status pages, and numbers measured through gateways that attribute the gateway's problems to the provider. So I built an independent tracker.

How it works (boring on purpose)

  • A small prober opens a real connection to each provider's official API endpoint every 5 minutes and times every phase of the handshake: DNS → TCP → TLS → time-to-first-byte. Separately, where possible, it measures inference time-to-first-token.
  • It runs from 4 regions: Germany, US Central, Tokyo, São Paulo. Requests go directly to providers — no gateway, no aggregator, so nothing gets attributed to the wrong party.
  • 45 providers: the usual Western labs (OpenAI, Anthropic, Google, Mistral, Groq, Together, Fireworks, Cerebras, DeepSeek…) plus Chinese ones (GLM/Zhipu, Kimi/Moonshot, Qwen, MiniMax) that rarely show up in Western benchmarks.
  • Results land in SQLite; a static site regenerates every 30 minutes. 38 days in: just over 2,000,000 probes.

What the data shows so far

1. Region beats provider. Over the same 7 days, on identical requests to identical endpoints, probes from Tokyo failed 0.315% of the time vs 0.089% from Germany — a 3.5× gap. A monitor that probes from one location cannot see this, by construction.

2. Uptime numbers lie by omission of the window. Over any 24-hour window almost every provider reads ~100%. Over 7 days, 40 of 45 providers dropped at least one probe. Same fleet, different window, opposite conclusion — availability quoted without a window length is not comparable to anything.

3. Availability doesn't differentiate providers; latency does. Right now the fastest p50 TTFB in the fleet is ~99 ms and the slowest is ~1424 ms — a 14× spread between endpoints whose availability is statistically indistinguishable.

4. How much warning you get before a model is killed. Computed from the providers' own announcement and shutdown dates across 203 dated retirements — a number nobody publishes, including the providers themselves:

Provider Retirements tracked Median notice Shortest
OpenAI 133 182 days 3 days
Mistral 40 92 days 0 days
Anthropic 19 63 days 60 days
Cohere 11 0 days 0 days

Cohere's announcements land the day the model dies. A pinned model version can stop working the day you read the notice — that's a planning constraint, not a judgement.

The part I care most about: agent-native by design

The way people ask questions is shifting from search boxes to answer engines and agents. If your data only exists as JavaScript-rendered HTML, an agent can't reliably consume or cite it. So every page has a markdown twin, there's llms.txt and llms-full.txt, a JSON API, and an MCP server. Two observations after five weeks:

  • ~23% of all crawler fetches take the markdown layer, not the HTML.
  • "A human asked their AI assistant to open the page" is now a bigger channel than browser clicks from AI answers — I can tell them apart server-side, and the agent-initiated reads outnumber referral clicks by an order of magnitude.

Honest limitations

This measures endpoint reachability and TTFB/TTFT — not model quality, not rate-limit behaviour, not incidents visible only inside a provider. Four vantage points is not the whole internet. The dataset is 38 days young, and the incident log deliberately keeps a short window because two coincidences don't make a trend.

Everything is free, no accounts, no ads: llmlatency.dev — the deprecation calendar is at /deprecations, measured uptime at /best-uptime, method and limits at /methodology. Data is CC BY 4.0.

What's missing? What would you measure next?

Top comments (0)