---
title: "Get dashboard stats"
method: GET
path: "/stats"
tags: ["Stats"]
---

# Get dashboard stats

`GET /stats`

Returns homepage-style stats — reports last 30 min, trend, today/month totals, cities affected, timeline, and service breakdown.

## Response `200`

Dashboard stats

- StatsResponse
  - `data` DashboardStats
    - `reportsLast30Min` integer
    - `trend` 'up' | 'down' | 'stable'
    - `reportsToday` integer
    - `reportsThisMonth` integer
    - `citiesAffected` integer
    - `status` 'all_clear' | 'issues'
    - `timeline` object[]
      - `hour` string
      - `count` integer
    - `breakdown` object
      - `internet` integer
      - `tv` integer
      - `phone` integer
      - `all` integer
    - `latestReports` OutageReport[]
      - `id` integer
      - `zipCode` string
      - `serviceType` 'internet' | 'tv' | 'phone' | 'all'
      - `startedWhen` 'just_now' | 'last_hour' | 'few_hours' | 'today' | 'yesterday' | 'days_ago'
      - `note` string, nullable
      - `createdAt` string, date-time
    - `topAreas` object[]
      - `zipCode` string
      - `count` integer
    - `lastUpdated` string, date-time

## Other responses

- `401` — Missing Authorization header
- `403` — Invalid API key
- `429` — Rate limit exceeded (100 req/min)
- `500` — Server error

---

[API](https://skmtc.net/spectrumoutage/apis/spectrumoutage-api.md) · [All operations](https://skmtc.net/spectrumoutage/apis/spectrumoutage-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spectrumoutage/spectrumoutage-api/versions/d07b09c81945/schema)
