Is the DeepSeek API reachable right now?
A live probe of api.deepseek.com from NetOkay’s edge, and why DeepSeek’s reasoning models are the most common way to discover an idle timeout on your own path.
In short: The card below asks api.deepseek.com/models without a key and expects a 401. If it answers here but your reasoning requests die after half a minute, the likely cause is a proxy closing silent connections during the model’s think phase.
Last updated
Live probe · NetOkay Worker → api.deepseek.com
Right now, from NetOkay’s edge
Loading the latest observation of api.deepseek.com…
One keyless GET to https://api.deepseek.com/models, cached for a minute per
Cloudflare location. On a healthy day this probe sees HTTP 401, the API asking for a key.
What this probe shows, and what it does not
The NetOkay Worker resolves api.deepseek.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.
DeepSeek specifics
-
API host:
api.deepseek.com, HTTPS on port 443, OpenAI‑compatible. The/v1prefix is optional;/modelsand/v1/modelsreach the same endpoint. -
Streaming: OpenAI‑style server-sent events. For
deepseek-reasoner, chunks carryreasoning_contentbefore the finalcontent, and the stream ends withdata: [DONE]. Clients that ignorereasoning_contentsee a long apparent silence. - Think phases: Reasoning can run for a minute or more. If your client does not consume reasoning chunks, or a middlebox counts them as idle because it buffers them, the connection is cut at the middlebox’s idle limit. The homepage idle stream check reproduces this without a key.
- Error codes: 401 invalid key; 402 insufficient balance, which is DeepSeek‑specific; 429 rate limit; 500/503 server side or overloaded. DeepSeek also returns 400 for an invalid request body.
- Official status: DeepSeek publishes service status at status.deepseek.com.
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.deepseek.com.
DeepSeek API status FAQ
My deepseek-reasoner request closes after about 30 seconds with no output. Is DeepSeek down?
Probably not. That timing matches common idle limits on proxies, gateways and some cloud load balancers. Run the homepage idle stream check from the same network; if it fails at a similar time, the limit is on your path.
What does 402 mean?
Insufficient balance on your DeepSeek account. The host is reachable and answered; top up or check billing.
Is the probe result specific to my region?
No. It comes from whichever Cloudflare location served your page request, refreshed at most once a minute. Your own route to api.deepseek.com can differ; that is why the browser checks exist.