SocialCrawl

Twitch

Twitch streamer profiles, past videos, clip details, and published stream schedules through one unified API

Twitch streamer profiles, a channel's videos and highlights, individual clip details, and the schedule a streamer has published. Every endpoint is a GET and costs 1 credit.

Base URL: /v1/twitch/...

user/videos returns one fixed set of up to 100 rows and that is the whole result. There is no cursor and nothing to page, so use filter_by and sort_by to make those 100 the right 100 rather than expecting to walk a full history.

Quickstart

1. Fetch a profile

cURL
curl "https://www.socialcrawl.dev/v1/twitch/profile?handle=ninja" \
  -H "x-api-key: YOUR_API_KEY"

2. Fetch their content

cURL
curl "https://www.socialcrawl.dev/v1/twitch/user/videos?handle=ninja&sort_by=VIEWS" \
  -H "x-api-key: YOUR_API_KEY"

3. Read computed fields

When an endpoint supports a computed field and the required source inputs are present, the unified response includes that optional field. Depending on the endpoint, optional fields can include engagement_rate, language, content_category, and estimated_reach. See Computed fields for formulas, clamping rules, and null semantics. Where an endpoint supports them, list rows also carry judged labels (computed.labels, computed.relevance) by default at no extra credits; see Labels.

Channels

EndpointCreditsWhat it returnsKey parameters
GET /v1/twitch/profile1Display name, follower count, bio, profile image, broadcast language, partner statushandle
GET /v1/twitch/user/videos1Up to 100 videos: title, URL, view count, duration, language, game, thumbnail, qualitieshandle, filter_by, sort_by
GET /v1/twitch/user/schedule1Each schedule segment's start and end time, title, categories, and cancellation flagshandle

filter_by picks the kind, HIGHLIGHT or UPLOAD, and sort_by is TIME for newest first or VIEWS. Both enums are uppercase.

Archived past broadcasts are not among them. filter_by=ARCHIVE is rejected before billing because the upstream deterministically fails it, so HIGHLIGHT and UPLOAD are what exists.

cURL
curl "https://www.socialcrawl.dev/v1/twitch/user/schedule?handle=kaicenat" \
  -H "x-api-key: YOUR_API_KEY"

Clips

EndpointCreditsWhat it returnsKey parameters
GET /v1/twitch/clip1Title, view count, duration, creator and broadcaster names, game, thumbnail, creation timeurl

user/videos covers past broadcasts, clip covers one shared moment, and user/schedule covers what has not happened yet.

cURL
curl "https://www.socialcrawl.dev/v1/twitch/clip?url=https://www.twitch.tv/ninja/clip/ExampleClipSlug" \
  -H "x-api-key: YOUR_API_KEY"

All endpoints

4 endpoints available.

EndpointPathCredit Tier
Get Twitch clip details/v1/twitch/clipstandard (1cr)
Get Twitch streamer profile/v1/twitch/profilestandard (1cr)
Get a Twitch user's stream schedule/v1/twitch/user/schedulestandard (1cr)
List a Twitch user's videos/v1/twitch/user/videosstandard (1cr)

Platform notes

channel.schedule is null when the streamer has not published one. Plenty of channels never fill it in, so treat a null schedule as normal rather than as an error. The call succeeds and returns nothing; do not branch on it failing.

Nothing on this platform paginates.

Identifiers split two ways. profile, user/videos, and user/schedule take a handle without the @; clip takes the clip url.

Next steps

On this page