---
title: Live endpoints
slug: live
eyebrow: Live
nav_group: Live
nav_label: Live
nav_order: 140
nav_expanded: true
---

# Live endpoints

A real-time snapshot of who is streaming right now. The live channels list returns every channel currently broadcasting across **every platform in the API**, refreshed on a **5-minute pull interval**. Query one platform or several at once.

> [!INFO] 5-minute refresh
> Live data is captured every 5 minutes (`pull_interval_seconds: 300`). Each response carries a `captured_at` timestamp — use it to page through a consistent snapshot and to know how fresh the data is. Available for every platform in the API. Pass a single platform with `platform={name}`, or several at once as a comma-separated list, e.g. `platform=twitch,kick,youtube`. Omit it to return all platforms.

## Live channels list {#live-channels}

Every channel that is live right now, across every platform in the API — one platform or several at once in a single call. Same shape and pagination model as the [list of channels](/api/docs/lists#list-channels) — the difference is that this list is a real-time snapshot rather than an aggregated time window.

```endpoint
GET /api/v2/live/channels
```

| Filter tier | Cost / page |
| --- | --- |
| No filter (all live channels) | 10 |
| Language | 10 |
| Game / category | 10 |
| Country | 20 |

```curl REQUEST
curl -X GET https://streamscharts.com/api/v2/live/channels?platform=twitch,kick&lang=en&game=rocket-league \
  -H 'Client-ID: XXXXXXXXXXXX' -H 'Token: YYYYYYYYYYYYYY'
```

```json RESPONSE
{
  "data": [
    {
      "platform": "twitch",
      "channel_id": "57781936",
      "display_name": "RocketLeague",
      "avatar_url": "https://static-cdn.jtvnw.net/.../300x300.png",
      "country": "US",
      "language": "en",
      "current_category": "Rocket League",
      "current_stream_title": "FURIA vs NRG | Playoffs | Paris Major | RLCS 2026",
      "live_viewers": 48213,
      "current_airtime_in_m": 210,
      "broadcast_started_at": "2026-05-22T11:15:00Z",
      "captured_at": "2026-05-22T14:45:03Z"
    }
  ],
  "links": {
    "first": ".../live/channels?captured_at=2026-02-18T17%3A58%3A16Z&page=1",
    "last": ".../live/channels?captured_at=2026-02-18T17%3A58%3A16Z&page=189",
    "prev": null,
    "next": ".../live/channels?captured_at=2026-02-18T17%3A58%3A16Z&page=2"
  },
  "meta": {
    "captured_at": "2026-02-18T17:58:16Z",
    "pull_interval_seconds": 300,
    "current_page": 1,
    "from": 1,
    "to": 100,
    "per_page": 100,
    "total": 18854
  },
  "filters": {
    "platforms": "all",
    "languages": [ "en" ],
    "categories": "all"
  }
}
```

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| platform | string | Any active platform slug — `twitch`, `youtube`, `kick`, `rumble`, `nimo`, `bigo`, `afreecatv`, `chzzk`, `steam`. |
| channel_id | string | Platform channel identifier. |
| display_name | string | Channel display name. |
| country | string | ISO 3166 Alpha-2 (user-contributed). |
| language | string | ISO 639-1 broadcast language. |
| current_category | string | Game or category being streamed right now. |
| current_stream_title | string | Current broadcast title. |
| live_viewers | integer | Concurrent viewers at the moment of capture. |
| current_airtime_in_m | integer | Minutes the current broadcast has been live, as of capture. |
| broadcast_started_at | string | ISO 8601 UTC start time of the broadcast. |
| captured_at | string | ISO 8601 UTC time this snapshot was pulled. |

### Filters

Everything else works exactly like the [list of channels](/api/docs/lists#list-channels) — pagination (100 rows/page), sorting, and value exclusion with a `!` prefix. Live channels support three filters:

| Filter | Parameter | Accepted values |
| --- | --- | --- |
| Language | `lang={code}` | ISO 639-1, e.g. `en`, `es` |
| Game / category | `game={slug}` | e.g. `rocket-league` |
| Country | `country={code}` | ISO 3166 Alpha-2, e.g. `US` |

> [!INFO] Snapshot pagination
> The `links` block pins `captured_at` so every page you fetch belongs to the same 5-minute snapshot. Follow `links.next` rather than incrementing `page` by hand to avoid mixing two snapshots as the data refreshes underneath you. Minimum viewership thresholds follow Streams Charts platform-wide rules.

> [!WARNING] No business contacts here
> The [`business_contacts=true`](/api/docs/lists#list-emails) parameter is not supported on the live list. Business emails and socials are available on the aggregated channel lists only — list of channels, top by subscribers, top by bits.