Twitch scraper API
Pull public Twitch channel cards, live state, VOD lists, stream schedules, and clip metadata over REST. Same JSON envelope as every other Social Fetch platform.
Why teams use Social Fetch for Twitch
Twitch creator databases need more than a display name. Sponsorship desks and agency CRMs care whether a channel is live right now, what the last VODs look like, whether a public schedule exists, and whether a shared clip URL still resolves — usually across a roster that also includes YouTube and TikTok.
Helix and EventSub are the right stack for chat bots, overlays, and apps that act as a Twitch client. They are awkward when you only need public enrichment for streamers who never authorized your app, and they leave you with a second auth scheme next to Instagram and TikTok scrapers.
Social Fetch exposes Twitch as ordinary GET routes. Pass a login or clip URL, get structured JSON with `data.lookupStatus`, `meta.requestId`, and `meta.creditsCharged`. Failed lookups surface as typed statuses — not an empty 200 that looks like a deleted channel. The same API key covers the rest of the marketplace catalog, so a multi-platform streamer row does not need a Twitch-only SDK.
What Twitch data can you get?
- Profile cards by login — bio, avatar, partner flag, followers, social links.
- Live signals on the profile card (`isLive`, current viewer count when available).
- Channel VOD / video lists for recent broadcast history.
- Public stream schedule for upcoming slot planning.
- Clip lookup by public URL — title, views, duration, broadcaster, playable qualities.
Twitch API endpoints
Grouped by capability from the live API catalog. Open an endpoint page for parameters and examples — credit notes come from OpenAPI pricing extensions.
Profiles & channels
1Lists & graphs
2Content
1How to call the Twitch API
1. Create an API key
Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits — enough to exercise profile, videos, schedule, and a clip URL against live data.
2. Call a Twitch route
Start with `GET /v1/twitch/profiles/{handle}` (login with or without `@`). Add `/videos` or `/schedule` for lists and calendar data, or `GET /v1/twitch/clips?url=…` for a share link. Pass `x-api-key`.
3. Read the shared envelope
Branch on `data.lookupStatus` before writing rows. Log `meta.requestId` for support. Bill against `meta.creditsCharged` — that field is the source of truth for what the call cost.
How much does the Twitch API cost?
Twitch routes charge credits per completed lookup. Profile, videos, schedule, and clip operations document costs in the API reference (typically 1 credit on success for these paths). Credits never expire on pay-as-you-go packs. Check `meta.creditsCharged` on every response.
Social Fetch vs the official Twitch API
Twitch Helix is the official REST API for apps registered in the Twitch developer console. EventSub covers realtime subscriptions (goes live, follows, chat events). Use Helix/EventSub when you need chat bots, overlays, or Twitch-native write paths. Social Fetch is public enrichment: login or clip URL in, normalized JSON out, no Twitch client ID or creator OAuth — built for multi-platform creator pipelines that already use one Social Fetch key.
Twitch API FAQ
Is there a Twitch scraper API that works without a Twitch client ID?
Yes. Social Fetch Twitch routes read public channel and clip data. You authenticate to Social Fetch with an API key (`x-api-key`). You do not register a Twitch application or OAuth as the streamer whose public data you are fetching.
What Twitch data does Social Fetch cover?
Public profiles by login (including live signals and follower metrics), channel video / VOD lists, public stream schedules, and clip metadata by public URL. Exact paths live under `/docs/api` and on this hub's endpoint list.
How do I get a Twitch profile by handle via API?
Call `GET /v1/twitch/profiles/{handle}` with your Social Fetch key. Pass the channel login with or without a leading `@`. Read `data.lookupStatus`, then `data.profile` and `data.metrics` when the channel is available.
Can I tell if a Twitch channel is live?
The profile route returns live-oriented fields on the public card when Twitch exposes them (for example `isLive` and current viewer count). Use that for enrichment and roster checks. For low-latency go-live webhooks, use Twitch EventSub directly.
How do I list a channel's VODs?
Use `GET /v1/twitch/profiles/{handle}/videos`. Paginate with the cursors documented on the operation page until the list is exhausted or your job hits its limit. Call the profile route first when you need an explicit `lookupStatus` before interpreting an empty list.
Can I fetch a Twitch stream schedule via API?
Yes. `GET /v1/twitch/profiles/{handle}/schedule` returns the public schedule when Twitch exposes one for that channel. Missing or empty schedules still come back in the shared envelope — branch on lookup status and the schedule payload rather than inventing slots.
How do I resolve a Twitch clip URL?
Pass the public clip link to `GET /v1/twitch/clips` as the `url` query param. On `found`, `data.clip` can include title, view count, duration, broadcaster and curator refs, and playable quality URLs when available.
Twitch Helix vs Social Fetch — which should I use?
Use Helix and EventSub for Twitch-native apps, bots, chat, and realtime subscriptions. Use Social Fetch when Twitch is one public enrichment source among many (YouTube, TikTok, Instagram) and you want the same credit-metered envelope without a Twitch client ID.
How much does the Twitch API cost on Social Fetch?
You buy credit packs (or use the 100 free signup credits). Per-route costs are listed in the API reference; check `meta.creditsCharged` after each call. There is no required monthly subscription for pay-as-you-go packs.
Is scraping Twitch data legal?
Social Fetch returns publicly visible data. You are responsible for how you use it under Twitch's terms, applicable law, and your own compliance review. We do not give legal advice.
Start with Twitch data
Create an account, spend the 100 free credits on live Twitch routes, then buy a pack when the JSON fits your pipeline. Credits do not expire on pay-as-you-go packs.