What you get#
Onekey exposes Twitch as 17 endpoints behind one API key: 7 endpoints return one record (data is an object) and 10 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Twitch also works for the rest of the video & streaming category.
Endpoints#
| Endpoint | What it does | Parameters | Credits | Status |
|---|---|---|---|---|
category | A Twitch category (game): viewers, followers, box art. | name* | 1 | stable |
category_streams | Live streams in a Twitch category. | name* | 5 | stable |
channel_search | Search Twitch channels by name. | q* | 5 | stable |
clip | A single Twitch clip by slug. | slug* | 1 | stable |
clips | Top clips of a Twitch channel (all time). | login* | 5 | stable |
live_stream | Current live stream of a Twitch channel (not_found when the channel is offline). | login* | 1 | stable |
profile | Twitch channel profile: display name, bio, followers, avatar, creation date. | login* | 1 | stable |
search_categories | Search Twitch categories (games) by name. | q* | 5 | stable |
search_channels | Search Twitch channels. | q* | 5 | beta |
stream | Live stream status of a Twitch channel. | login* | 1 | beta |
top_categories | Currently most-watched Twitch categories (games). | - | 5 | stable |
top_games | Top games on Twitch by viewers. | - | 5 | beta |
top_streams | Currently most-watched live streams on Twitch. | - | 5 | stable |
user | Twitch user by login. | login* | 2 | beta may need a pack |
user_schedule | Get a Twitch user's stream schedule. | handle* | 2 | beta needs a pack |
video | A single Twitch video (VOD) by numeric id. | id* | 1 | stable |
videos | Recent videos (VODs) of a Twitch channel. | login* | 1 | stable |
A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.
Make a request#
This calls twitch.category (1 credit, stable). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.
curl "https://api.onekey.dev/v1/twitch/category?name=Just%20Chatting" \
-H "x-api-key: YOUR_API_KEY"Fields you get back#
These unified fields come back from Twitch, with the same names as on every other platform. The count is how many of its 17 mapped endpoints return the field; a field the source lacks is null, never missing. 5 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.
| Field | Type | Endpoints |
|---|---|---|
author.username | string | 12 |
media.thumbnailUrl | URL | 10 |
author.displayName | string | 9 |
author.id | string | 9 |
content.createdAt | ISO 8601 date | 9 |
content.id | string | 9 |
content.title | string | 9 |
content.category | string | 8 |
engagement.views | integer | 8 |
entity.id | string | 4 |
entity.name | string | 4 |
media.durationSeconds | number | 4 |
author.avatarUrl | URL | 3 |
content.text | string | 3 |
author.followers | integer | 2 |
content.slug | string | 2 |
entity.stats.followers | integer | 2 |
author.bio | string | 1 |
entity.description | string | 1 |
event.endDate | ISO 8601 date | 1 |
event.startDate | ISO 8601 date | 1 |
The full schema is in Unified schema.
Pricing#
Twitch calls cost 1 to 5 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.