Twitch API skill
Read public Twitch data as clean JSON. This Twitch API skill returns a streamer's profile, a single clip, or a channel's video listing — 2 credits each. It is the quick read for creator research on Twitch when you do not want to register an application and manage OAuth tokens.
This skill wraps 3 live Twitch endpoints from the ScraperSocial API. Public data only, returned as clean JSON.
When to use this skill
- You are researching a streamer: their profile, their recent videos, their clips.
- A user pastes a Twitch clip and asks what it is or who made it.
- You are building a cross-platform creator profile that includes Twitch.
Do not use this skill when
- You need live stream status or chat. Not covered here. Twitch's own API and EventSub handle real-time state properly.
- You are building a Twitch integration proper. The official API is free, richer and supports subscriptions to live events.
- You need viewer or revenue analytics. Account-scoped and not public.
Setup
export SCRAPERSOCIAL_KEY=sk_live_... # https://scrapersocial.com/app/keys
Signing up at scrapersocial.com/signup includes 100 free credits, no card required.
Permissions and scope
These scripts do exactly three things and nothing else: read one environment variable (SCRAPERSOCIAL_KEY), send HTTPS requests to https://api.scrapersocial.com (the host is a constant in the code, not configurable), and print JSON. They run as node scripts/<name>.js with no other shell use, no file writes and no persistence. call_endpoint.js accepts only the 3 documented /v1/twitch/ paths in the table below and refuses anything else before a request is made.
Scripts
| Script | What it does | Input | Credits |
|---|---|---|---|
get_clip.js |
Get Twitch clip. | url | handle |
get_profile.js |
Get Twitch profile. | handle | 2 credits |
get_user_videos.js |
List Twitch user videos. | handle | 2 credits per video |
call_endpoint.js |
Call any /v1/twitch/ endpoint directly |
path + params | varies |
Every script also accepts --limit, --cursor, --fields, --format and --fresh. --limit is clamped to 50: above that the API returns an async job instead of data.
Example
node skills/twitch-api/scripts/get_profile.js <streamer-handle>
Every response uses the same envelope:
{ "data": {}, "meta": { "count": 20, "next_cursor": "..." }, "request_id": "a18e4ef88ad4b00b" }
meta appears on paginated endpoints only. Keep request_id — support traces calls with it.
Endpoints
| Endpoint | Input | Returns | Credits | Paginated |
|---|---|---|---|---|
/v1/twitch/clip |
url | handle | clip | 2 credits |
/v1/twitch/profile |
handle | profile | 2 credits | no |
/v1/twitch/user-videos |
handle | video | 2 credits per video | yes |
Costs shown per item for paginated endpoints, per call otherwise. Failed calls are not charged.
FAQ
What can I get from Twitch?
Three endpoints at 2 credits each: get_profile.js for a streamer, get_clip.js for a clip, and get_user_videos.js for a channel's videos.
Can I tell whether someone is live right now?
Not reliably — there is no live-status endpoint here, and responses may be cached. Use Twitch's own API for real-time state.
Is this an official Twitch API?
No. ScraperSocial is independent and not affiliated with Twitch or Amazon. It returns publicly available data only.
Links
Disclaimer
ScraperSocial is an independent product and is not affiliated with, endorsed by, or sponsored by any platform named in this repository. All product names, logos and brands are property of their respective owners. These skills return only publicly available data.
