Twitch API endpoint
Returns a Twitch channel's profile (partner status, team, last broadcast title) plus its current live status (started time and game/category, when live).
/twitch/channelQuery parameters:
login (required) — a Twitch channel login (the lowercase URL slug,
e.g. caedrel for twitch.tv/caedrel), not the display name.Notable response behavior:
is_live/stream reflect the channel's live status at request time.
stream is omitted when the channel is offline.stream.game is the game/category the channel is currently streaming
under — pass its slug to /twitch/streams to see
other live streams in the same category./twitch/streams, which only exposes viewer counts
on the per-category listing shape.404. A missing login returns 400 before
any upstream request is made.| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| login | Has a value | |
| is_partner | Has a value | true |
| profile_image_url | Has a value | static-cdn.jtvnw.net |
| primary_color_hex | Has a value | |
| primary_team.id | Has a value | |
| primary_team.name | Has a value | |
| last_broadcast_title | Has a value | |
| is_live | Has a value | false |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| login | string | Yes | Twitch channel login (the lowercase URL slug, e.g. caedrel for twitch.tv/caedrel) | caedrel | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/twitch/channel?login=caedrel" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "92038375",
"login": "caedrel",
"is_partner": true,
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/483a37ac-58fd-4e2f-8dc3-2c68a0164112-profile_image-70x70.png",
"primary_color_hex": "8205B3",
"primary_team": {
"id": "1366421358",
"name": "Yume Talent"
},
"last_broadcast_title": "LCK T1 VS DK - T1 HOMEGROUND",
"is_live": true,
"stream": {
"id": "317457454434",
"started_at": "2026-08-14T07:18:46Z",
"game": {
"id": "21779",
"slug": "league-of-legends",
"name": "League of Legends"
}
}
}
}Request schema
No body schema
Response schema
#/definitions/twitch.channelResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | twitch.ChannelResponse | No | ||||
| data.id | string | No | ||||
| data.is_live | boolean | No | true | |||
| data.is_partner | boolean | No | true | |||
| data.last_broadcast_title | string | No | ||||
| data.login | string | No | ||||
| data.primary_color_hex | string | No | 8205B3 | |||
| data.primary_team | twitch.ChannelTeam | No | ||||
| data.primary_team.id | string | No | ||||
| data.primary_team.name | string | No | yumetalent | |||
| data.profile_image_url | string | No | ||||
| data.stream | twitch.ChannelStream | No | ||||
| data.stream.game | twitch.ChannelGame | No | ||||
| data.stream.game.id | string | No | ||||
| data.stream.game.name | string | No | League of Legends | |||
| data.stream.game.slug | string | No | league-of-legends | |||
| data.stream.id | string | No | ||||
| data.stream.started_at | string | No | 2026-08-14T07:18:46Z | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/twitch/channel?login=caedrel" \
-H "x-api-key: $CRAWLORA_API_KEY"