Is the OpenAI API reachable right now?
A live probe of api.openai.com from NetOkay’s edge, and the checks that separate an OpenAI outage from your own network.
In short: The card below asks api.openai.com for /v1/models without a key. OpenAI’s edge refuses such requests with a 403 in a few milliseconds, and a 401 means the API itself asked for a key; either way the host answered. If it answers here but your app times out, test your own network’s streaming profile next.
Last updated
Live probe · NetOkay Worker → api.openai.com
Right now, from NetOkay’s edge
Loading the latest observation of api.openai.com…
One keyless GET to https://api.openai.com/v1/models, cached for a minute per
Cloudflare location. On a healthy day this probe sees HTTP 403 within milliseconds, an
edge refusal of a keyless automated request.
What this probe shows, and what it does not
The NetOkay Worker resolves api.openai.com through Cloudflare DNS, opens a TLS connection and sends one GET without credentials, following no redirects. Any HTTP status, including 401, 403 or 405, means the host answered. Several providers refuse keyless automated requests at their edge with a 403 in a few milliseconds; that still proves DNS, TLS and the front door, but it is the provider’s edge answering, not necessarily the API application behind it. The result is one observation from one Cloudflare location, refreshed at most once a minute and never stored.
It cannot see your API key, quota, region, model availability or account state, and it does not travel your network path. A healthy probe and a failing application are compatible; the sections below are for that case.
OpenAI specifics
-
API host:
api.openai.com, HTTPS on port 443. Every model, embedding and file endpoint sits under/v1/on this one host. -
Streaming: Chat Completions and Responses stream as server-sent events.
Each event is a
data:line carrying a JSON chunk; Chat Completions ends the stream withdata: [DONE], the Responses API ends with a typedresponse.completedevent. - Reasoning pauses: Reasoning models (o-series and GPT‑5 reasoning modes) can stay silent for tens of seconds before the first visible token. A proxy that closes idle streams at 30 seconds cuts these responses off before any content arrives.
- Error codes: 403 from OpenAI’s edge for keyless or automated requests (what this probe usually sees); 401 invalid or missing key; 429 rate limit or exhausted quota (the body says which); 500/503 server side or overloaded. All of them are HTTP responses: the host is reachable, the request was refused.
- Official status: status.openai.com reports incidents per product. An incident there and a healthy probe here can both be true at the same time.
Reachable here but failing for you?
- Run the homepage checks from the network where the app fails. The 30‑second idle stream shows whether something on your path closes silent connections, which is what a long model pause looks like to a proxy.
- Read the idle result. Closed during the silence points at a proxy, gateway or NAT idle limit under 30 seconds. Start and done arriving together points at response buffering. Both have fixes in the streaming guide.
- Compare environments. If the browser passes and a container, server or agent fails, compare the public IP each one uses, then run the CLI from the failing environment against api.openai.com.
OpenAI API status FAQ
Why does the probe show 403 or 401 when my key works?
The Worker sends no credentials on purpose. OpenAI’s edge answers a keyless automated request with 403 in milliseconds; a 401 comes from the API itself. Either proves DNS, TLS and the HTTP front door work from Cloudflare’s edge to api.openai.com and says nothing about your key. If your requests fail with 401, the key, project or organization header is the place to look.
My OpenAI stream stops mid‑response. Is that OpenAI?
Usually not. Run the 30‑second idle stream on the homepage. If it fails in your network but passes elsewhere, a proxy or load balancer on your path closes silent connections, which is exactly what a long reasoning pause looks like to it.
Does this page track OpenAI uptime over time?
No. It shows one recent observation cached for a minute per Cloudflare location. There is no history, no percentage and no alerting; use the official status page for incidents.