Twitch Channel API: profile, videos and stream schedule as JSON

You can read a public Twitch channel by handle with three REST calls: the profile with identity and social links, up to 100 of its videos, and its stream schedule with start time, end time and title for each event. Responses are JSON and each successful call is billed on its own, so you do not need to register a Twitch application or manage OAuth tokens.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/twitch/userProfile1$0.0017
/v1/twitch/user_videosUser Videos1$0.0017
/v1/twitch/user_scheduleUser Schedule1$0.0017

Endpoint details

/v1/twitch/user

Profile 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
handlestringyesTwitch handle
cache_max_agestringnoIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp).

Sample response (trimmed):

{
 "id": "220476955",
 "is_live": true,
 "current_viewers_count": 6293,
 "last_broadcast": {
  "started_at": "2026-10-15T20:11:51.586296Z",
  "title": "🔴LET’S HAVE FUN 🤩 + Speed Vs. Cole Palmer ⚽️🏴🥶"
 },
 "handle": "ishowspeed",
 "stream": {},
 "display_name": "IShowSpeed",
 "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-150x150.png",
 "banner_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/983dc814-a78c-4e5a-9d22-e6e7595c76e1-profile_banner-480.png",
 "description": "YouTube:IShowSpeed Instagram:IShowSpeed: Snapchat:wishowspeed Twitter: ishowspeedsui I luv y’all🐐💕",
 "followers": 3830874,
 "is_partner": true,
 "recent_broadcasts": [
  {
   "id": "2761014301",
   "title": "BALLER LEAGUE WEEK 7 ⚽️ SPEED UTD VS FOR THE WIN FC 🔥",
   "preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
   "published_at": "2026-04-30T21:38:06Z",
   "view_count": 702,
   "length_seconds": 13895,
   "animated_preview_url": "https://d2vi6trrdongqn.cloudfront.net/1dfa1f8c049eaa77fe54_ishowspeed_318481977952_1777585080/storyboards/2761014301-strip-0.jpg",
   "resource_restriction": null,
   "content_tags": [],
   "self": {
    "is_restricted": false,
    "viewing_history": null,
    "typename": "VideoSelfEdge"
   },
   "game": {
    "id": "423594505",
    "slug": "baller-league",
    

/v1/twitch/user_videos

User Videos 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
handlestringyesTwitch handle
filter_bystringnoFilter by
sort_bystringnoSort by

/v1/twitch/user_schedule

User Schedule 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
handlestringyesTwitch handle

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/twitch/user"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/twitch/user",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

Do I need a Twitch developer app to use this?

No. You only need a Scrapall API key in the request header. There is no Twitch app registration, client secret or OAuth flow, and only public channel data is read.

What does the profile endpoint return?

It returns the public profile of a Twitch user by handle, including identity fields, social links and content. Use cache_max_age if a recent cached copy is good enough for you. The handle is the same channel name you see at the end of the Twitch channel URL.

How many videos can I get for a channel?

The user videos endpoint returns up to 100 videos with id, slug, URL, embed URL and title. You can filter with filter_by and order with sort_by.

Can I read a stream schedule?

Yes. The schedule endpoint takes a handle and returns the scheduled events with start time, end time and title for each event, so you can plan around when a streamer goes live.

How is it billed?

Each successful call is billed from your credit balance. The exact cost per endpoint is shown in the cost table on this page and comes from the live price list.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all twitch endpoints.