DownOrSlow

How we measure

Two kinds of evidence sit side by side here: what each provider's status page says, and how long the way in to the service takes. For the second, probes in several countries send one small request to each host every 15 minutes, and each result is compared with what is usual from that same probe location.

What is timed

HostRequestWhat answers
api.anthropic.comGET /v1/modelsClaude's API and Claude Code send their requests to this address. Our request carries no key, so Anthropic's server refuses it at once. The time covers the network path and that refusal. No model runs.
claude.aiHEAD /Cloudflare answers for claude.ai with a browser check before a request reaches Anthropic. This time shows how fast that front door answers, and nothing about Claude behind it.
api.openai.comGET /v1/modelsOpenAI's API takes requests at this address. Our request carries no key, so OpenAI's server refuses it at once. The time covers the network path and that refusal. No model runs.
chatgpt.comHEAD /The front page of chatgpt.com, answered by OpenAI's servers and not from a cache. We do not sign in or send a message, so this is the way in to ChatGPT, not a conversation.
gemini.google.comHEAD / over HTTP/2The front page of gemini.google.com, answered by Google's servers. We do not sign in or send a prompt, so this is the way in to Gemini, not a conversation. It is the one host here that is not behind Cloudflare.
grok.comHEAD /The front page of grok.com, answered by xAI's servers and not from a cache. We do not sign in or send a prompt, so this is the way in to Grok on its own site. Grok inside X is not timed.

The probes are machines in datacenters, one or two per country, run by the Globalping measurement network. All hosts in a round are timed from the same probes, so one probe's bad moment shows up on every host at once and can be told apart from one host being slow.

The number on the board

The board shows the time to open a connection, complete the TLS handshake and receive the first byte of the answer. The time to look up the host's name is left out: it measures the probe's own name server, which you do not use.

"Usual" is the middle value of that time over the last seven days, for one host from one probe location. It needs at least 5 answers before it exists; until then the board says "Too few samples".

When a country reads "Delayed"

A round counts toward a delay when the time is at least twice the usual time and at least 150 ms longer, and the same probe timed another provider's hosts normally in that round. A country reads "Delayed" when that happens in 2 of the last 3 rounds within 60 minutes. "No answer" follows the same rule for requests that get no answer or a server error.

Hosts of the same provider are never used to check each other, because they can share servers and slow down together.

The provider's status report

We read each provider's public status page every few minutes and keep every report. It is the provider's statement, not ours, and it is never mixed into our timings.

Where one page covers several products, each product is read from its own parts of that page. ChatGPT and the OpenAI API are two reports on OpenAI's page, and one is never shown as the other.

A report describes the present from the moment we read it until the next read, or until it expires a few minutes later. On a band, time that no report covers stays empty: it is unknown, not a sign that all was well. When we fail to read a page, that is our problem, and it is never drawn as trouble at the provider.

Google publishes Gemini's status only as a list of incidents. While that list has no open incident, Gemini's band is a thin bar, because the list does not say that Gemini is available.

Incidents and maintenance

Each service's page lists the incidents and maintenance its provider published in the last 24 hours: the provider's title and status, its own times, the parts it says are affected, and its newest update. "Reported" is when the provider created the record, which is not always when the trouble began. When a provider gives neither a start nor a report time, the incident is placed at its first update.

An incident reads as open only while the provider's newest report or incident list, read within its validity time, still has it unresolved. If the provider stops listing an incident without closing it, we say so rather than guess when it ended. Maintenance planned for the next 24 hours is listed as planned, apart from work under way.

Where one page covers several products, an incident counts for a product only when the provider names one of that product's parts as affected. Beside each incident we say what our probes measured on the way in to the same product at the same time.

The chart on the front page

Each service has one row with two bands over the same 24 hours. The upper band is the provider's report for the service's own product. The lower band is our timing of every host we time for that service, showing at each moment the worst reading among them.

Trouble in another product on the same status page, such as the OpenAI API on ChatGPT's row, is named under the bands rather than drawn on them, and so are the incidents and maintenance the provider listed. Each row opens the service's page, where every product and host has a band of its own.

What the numbers leave out

Your own test

The button on a service page makes your browser send the same kind of request three times to each host. The first includes setting up the connection; the fastest of the others is compared with the first-byte time of probes in the country you choose. Browsers do not let a page read the answer from another site, so the test shows time and whether anything answered, not what was said.

The requests go straight from your browser to the provider, without cookies. The result is not sent to us.