# Engine status

`GET https://api.dataforgeo.dev/v1/status` · public, no auth

Returns each engine’s current status, its success rate and median latency over the last 24 hours, and its daily availability over the last 30 days. No auth, no charge: check it before sending requests. The public status page reads the same data.

### Example request

```bash
curl "https://api.dataforgeo.dev/v1/status"
```

### Example response

```json
{
  "updated_at": "2026-11-02T05:40:00Z",
  "status": "degraded",
  "engines": [
    {
      "id": "chatgpt",
      "name": "ChatGPT",
      "answer_type": "product",
      "status": "operational",
      "last_24h": {
        "success_rate": 0.987,
        "median_latency_ms": 21400,
        "calls": 1234
      },
      "daily": [
        {
          "date": "2026-10-04",
          "uptime": 0.998
        },
        "… 30 项 …",
        {
          "date": "2026-11-02",
          "uptime": 1
        }
      ]
    },
    {
      "id": "claude",
      "name": "Claude",
      "answer_type": "model",
      "status": "degraded",
      "last_24h": {
        "success_rate": 0.912,
        "median_latency_ms": 9800,
        "calls": 640
      },
      "daily": [
        "…"
      ]
    },
    {
      "id": "grok",
      "name": "Grok",
      "answer_type": "model",
      "status": "unavailable",
      "last_24h": {
        "success_rate": 0.64,
        "median_latency_ms": 7300,
        "calls": 210
      },
      "daily": [
        "…"
      ]
    },
    "…"
  ]
}
```

### engines[].status values

| status | Meaning |
| --- | --- |
| `operational` | Working normally |
| `degraded` | Degraded: success rate under 90% over the last 15 minutes. Requests still go out but may fail more often |
| `unavailable` | Unavailable: answers for this engine return failed / engine_unavailable at no charge |

- The top-level status rolls up all engines: outage when every engine is unavailable, degraded when any engine is degraded or unavailable, otherwise operational.
- last_24h covers real calls over the last 24 hours: success_rate is a 0–1 fraction, median_latency_ms the median latency, calls the call count. The first two are null when there were no calls. A google-aio no_answer counts as a success; cache hits are not counted.
- daily always has 30 entries by UTC date, oldest first, the last one being today. uptime is null on days with no calls.
- No auth, CORS *, responses cached for 30 seconds; data is aggregated every 5 minutes. The web version is at dataforgeo.dev/status.
