Is the Google Gemini API reachable right now?
A live probe of generativelanguage.googleapis.com from NetOkay’s edge, and how Gemini streaming differs from the OpenAI-style SSE most clients expect.
In short: The card below asks generativelanguage.googleapis.com for /v1beta/models without a key. Google answers 403 to keyless requests; that is the host responding. If it responds here but your app cannot connect, the difference is on your side of the path.
Last updated
Live probe · NetOkay Worker → generativelanguage.googleapis.com
Right now, from NetOkay’s edge
Loading the latest observation of generativelanguage.googleapis.com…
One keyless GET to https://generativelanguage.googleapis.com/v1beta/models,
cached for a minute per Cloudflare location. On a healthy day this probe sees HTTP 403,
Google’s answer to any request without a valid API key.
What this probe shows, and what it does not
The NetOkay Worker resolves generativelanguage.googleapis.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.
Gemini specifics
-
API host:
generativelanguage.googleapis.comfor the Gemini Developer API. Vertex AI uses regional*-aiplatform.googleapis.comhosts instead, so a probe of one says nothing about the other. -
Streaming: Gemini streams through
streamGenerateContent. By default the response is a JSON array delivered in chunks; add?alt=sseto receive server-sent events withdata:lines. Clients that expect SSE without settingalt=ssesee one large JSON body arrive at the end. - Long requests: Large context windows and video or audio inputs can take a long time before the first chunk. That first‑byte wait, not the streaming itself, is what most idle timeouts cut off.
-
Error codes: 403 missing or invalid key, or the API is
not enabled for the project; 429 quota exhausted;
503 model overloaded. Google returns a JSON
error.statusstring such asRESOURCE_EXHAUSTEDthat is more specific than the HTTP code. - Official status: Gemini API incidents appear on the Google Cloud status dashboard, which covers many services; filter for the Gemini or Vertex AI entries.
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 generativelanguage.googleapis.com.
Gemini API status FAQ
Why do I get the whole answer at once instead of a stream?
You are probably calling streamGenerateContent without alt=sse, so the response is a chunked JSON array that many HTTP clients buffer until it closes. Switch to alt=sse, or read the array incrementally.
The probe returns 403. Is Gemini blocking NetOkay?
No. Google returns 403 to any request without a valid API key. The response proves the host is reachable and the API front end is serving.
Does this cover Vertex AI?
No. Vertex AI uses different regional hosts and IAM authentication. This page only observes the Gemini Developer API host.