How to get Twitch profile
GET request to /v1/twitch/profile with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit).How to get Twitch profile (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Twitch Profile API
Send an authenticated GET request to /v1/twitch/profile with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/twitch/profile?url=https%3A%2F%2Fwww.twitch.tv%2Fshroud" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "twitch",
"id": "37402112",
"displayName": "shroud",
"url": "https://www.twitch.tv/shroud",
"followers": 11290546,
"isPartner": true,
"isAffiliate": false,
"isLive": false,
"recentVideos": [
{
"platform": "twitch",
"id": "2827992810",
"url": "https://www.twitch.tv/videos/2827992810",
"embedUrl": "https://player.twitch.tv/?video=2827992810&parent=captapi.com",
"title": "ME N THE GIRLS R GONNA POP OFF IN THIS 100K TWITCH RIVALS",
"createdAt": "2026-07-24T17:56:52Z",
"durationSeconds": 20988,
"views": 246850,
"thumbnail": "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/c43d1ce993fae5a15f69_shroud_317074350583_1784915807//thumb/thumb0-320x180.jpg",
"thumbnailTemplate": "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/c43d1ce993fae5a15f69_shroud_317074350583_1784915807//thumb/thumb0-{width}x{height}.jpg",
"animatedPreviewUrl": "https://d2nvs31859zcd8.cloudfront.net/c43d1ce993fae5a15f69_shroud_317074350583_1784915807/storyboards/2827992810-strip-0.jpg",
"broadcastType": "ARCHIVE",
"game": "VALORANT",
"gameId": "516575",
"gameSlug": "valorant",
"gameBoxArtUrl": "https://static-cdn.jtvnw.net/ttv-boxart/516575-144x192.jpg",
"language": "en"
},
{
"platform": "twitch",
"id": "2827192082",
"url": "https://www.twitch.tv/videos/2827192082",
"embedUrl": "https://player.twitch.tv/?video=2827192082&parent=captapi.com",
"title": "HALO CE REMAKE! TIME TO CO-OP LEGENDARY AND GET OUR MEAT BEAT",
"createdAt": "2026-07-23T18:19:36Z",
"durationSeconds": 20254,
"views": 176103,
"thumbnail": "https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/43c3501090df2005acdf_shroud_319635395040_1784830770//thumb/thumb0-320x180.jpg",
"thumbnailTemplate": "https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/43c3501090df2005acdf_shroud_319635395040_1784830770//thumb/thumb0-{width}x{height}.jpg",
"animatedPreviewUrl": "https://d2vi6trrdongqn.cloudfront.net/43c3501090df2005acdf_shroud_319635395040_1784830770/storyboards/2827192082-strip-0.jpg",
"broadcastType": "ARCHIVE",
"game": "Halo: Campaign Evolved",
"gameId": "796500915",
"gameSlug": "halo-campaign-evolved",
"gameBoxArtUrl": "https://static-cdn.jtvnw.net/ttv-boxart/796500915_IGDB-144x192.jpg",
"language": "en"
}
],
"topClips": [
{
"platform": "twitch",
"id": "2358589597",
"slug": "TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ",
"url": "https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ",
"embedUrl": "https://clips.twitch.tv/embed?clip=TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ",
"title": "F Shroud",
"views": 562324,
"createdAt": "2023-06-02T11:41:50Z",
"thumbnail": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5696a6a8-e053-4c2e-a54c-5ca62c48102e/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"game": "Diablo IV",
"gameBoxArtUrl": "https://static-cdn.jtvnw.net/ttv-boxart/515024-144x192.jpg"
},
{
"platform": "twitch",
"id": "3663533447",
"slug": "SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q",
"url": "https://www.twitch.tv/shroud/clip/SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q",
"embedUrl": "https://clips.twitch.tv/embed?clip=SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q",
"title": "it's gonna be over",
"views": 561935,
"createdAt": "2023-08-05T10:53:38Z",
"thumbnail": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/05f80190-90b4-4569-94ce-36a01d87b191/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"game": "Baldur's Gate 3",
"gameBoxArtUrl": "https://static-cdn.jtvnw.net/ttv-boxart/512923_IGDB-144x192.jpg"
}
],
"schedule": [
{
"id": "eyJzZWdtZW50SUQiOiI4OTdjMTZjNy1jYTYyLTQ4OGItODI4ZS0wY2Q1OTdjMzEyNzUiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjozM30=",
"startAt": "2026-08-16T18:00:00Z",
"endAt": "2026-08-17T02:00:00Z",
"isRecurring": false,
"isCancelled": false
},
{
"id": "eyJzZWdtZW50SUQiOiJkNDYzZDJmNy1jNGQ3LTQ0ZTgtYWU0OS01OTlkNjI1Y2RkMTMiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjozNH0=",
"startAt": "2026-08-17T18:00:00Z",
"endAt": "2026-08-18T02:00:00Z",
"isRecurring": true,
"isCancelled": false,
"firstOccurrenceAt": "2025-11-24T19:00:00Z"
}
],
"socials": [
{
"platform": "link",
"url": "https://shroud.gg/"
},
{
"platform": "link",
"url": "https://streamelements.com/shroud/tip"
}
],
"createdAt": "2012-11-03T15:50:32.87847Z",
"bio": "I'm back baby",
"avatar": "https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-300x300.png",
"banner": "https://static-cdn.jtvnw.net/jtv_user_pictures/dbee25e8-55b7-4565-87f0-e9d4661dcc66-profile_banner-480.jpeg",
"lastBroadcast": {
"title": "ME N THE GIRLS MAY BE OUT! BUT WE HAD FUN!",
"game": "VALORANT",
"gameBoxArtUrl": "https://static-cdn.jtvnw.net/ttv-boxart/516575-144x192.jpg",
"startedAt": "2026-07-24T23:46:43.553428Z"
},
"handle": "shroud"
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| cache | boolean | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
Frequently asked questions
What does the Twitch Profile API do?
The Twitch Profile API lets you fetch profile or page details and audience stats from a public Twitch profile or page using one GET request to /v1/twitch/profile. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Twitch Profile API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Twitch API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Where did login / username / name go?
Dropped. handle == login == username and displayName == name on every channel we sampled (shroud / ninja / kaicenat). handle and displayName cover both meanings.
Why is stream missing when the channel is offline?
isLive:false already said it. A null stream object claimed a live block we failed to read. Empty bio is omitted the same way.
Is the Twitch Profile API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get Twitch profile?
Start free with 100 credits — no credit card required.
Get your free API key