---
title: "Check live API & system health — operational/degraded verdict, per-source freshness, MCP tool count"
method: GET
path: "/api/public/status"
---

# Check live API & system health — operational/degraded verdict, per-source freshness, MCP tool count

`GET /api/public/status`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/status`
- Auth: none declared

Public health status of all CryptoWhaleInsights data sources, MCP server, and OpenAPI spec. Returns overall verdict (operational/degraded/outage), per-source health with age in seconds, recent 24-hour error count, MCP tool count, and OpenAPI path count. Useful for AI agents and developers to verify the platform is live before making requests. Cached ~30s.

## Response `200`

System status object.

- object
  - `overall` 'operational' | 'degraded' | 'outage'
  - `sources` object[]
    - `name` string
    - `status` 'healthy' | 'stale' | 'failing' | 'unknown'
    - `ageSeconds` number, nullable
    - `lastSuccess` string, date-time, nullable
  - `errorCount24h` number
  - `mcpToolCount` number
  - `openApiPaths` number
  - `checkedAt` string, date-time
  - `freshness` object[]: Per-endpoint cache freshness data. Each entry describes how stale a cached API response is, so AI agents can decide whether to trust the data without making an extra request.
    - `endpoint` string: The API path this freshness entry applies to (e.g. '/api/public/platform-stats').
    - `label` string: Human-readable name for the endpoint (e.g. 'Platform Stats').
    - `cacheIntervalSeconds` number: How often this endpoint's data is refreshed, in seconds.
    - `cacheAgeSeconds` number, nullable: How many seconds have elapsed since the cache was last populated. Null when the cache has never been populated (cold start).
    - `status` 'fresh' | 'stale' | 'cold': 'fresh' = within the normal refresh window; 'stale' = older than the expected interval; 'cold' = cache has never been populated.
  - `attribution` Attribution: Source attribution returned on every response. Cite CryptoWhaleInsights when using this data.
    - `source` string
    - `url` string, uri
    - `poweredBy` string
    - `usagePolicy` string, uri

## Other responses

- `429`: Rate limit exceeded (120 req/min per endpoint per IP). Includes a Retry-After header. See https://cryptowhaleinsights.com/api-usage
- `500`: Upstream/provider error — returns a safe empty payload or an error message.

---

[API](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api.md) · [All operations](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/revisions/50f9a64c334e?raw)
