Better Fetch

Twitch Scraper

Retrieve public Twitch profiles, channel videos, schedules, and clips from Twitch's rendered pages and anonymous page data.

Socialv0.1.0~1 credit/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Public Twitch username or channel URL for profile, user_videos, and user_schedule modes.

Public Twitch clip URL or clip slug for clip mode.

Sign in and run
~1 credit/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

clipmodecountvideosprofileschedulesource_url

Overview

Twitch Scraper opens Twitch's public pages in Better Fetch's browser and normalizes the anonymous data Twitch sends to those pages. It supports creator profiles, public videos, schedules, and individual clips without requiring a private Twitch account.

Last validated: Jul 15, 2026

Input

mode"profile" | "user_videos" | "user_schedule" | "clip"required
handlestring

Public Twitch username or channel URL for profile, user_videos, and user_schedule modes.

clip_urlstring

Public Twitch clip URL or clip slug for clip mode.

max_resultsintegerdefault: 10

Output

clipobject
clip.urlstring
clip.slugstring
clip.titlestring
clip.viewsnumber
clip.creatorstring
clip.thumbnailstring
clip.created_atstring
clip.broadcasterstring
clip.duration_secondsnumber
modestringrequired
countintegerrequired
videosobject[]required
profileobject
profile.idstring
profile.urlstring
profile.loginstring
profile.avatarstring
profile.is_liveboolean
profile.descriptionstring
profile.display_namestring
profile.followers_textstring
scheduleobject[]required
source_urlstringrequired

Examples

profile-openai

{
  "mode": "profile",
  "handle": "openai"
}

openai-videos

{
  "mode": "user_videos",
  "handle": "openai",
  "max_results": 5
}

cohhcarnage-schedule

{
  "mode": "user_schedule",
  "handle": "cohhcarnage",
  "max_results": 5
}

public-clip

{
  "mode": "clip",
  "clip_url": "https://www.twitch.tv/openai/clip/BlatantTubularLatteSeemsGood"
}

Use cases

Creator research

Resolve a public channel to its display name, description, avatar, follower label, and live status when exposed.

Video monitoring

Collect recent public broadcasts, highlights, and uploads from a creator page.

Streaming intelligence

Inspect scheduled streams and enrich public clip URLs with normalized metadata.

FAQ

Does this require Twitch login?

No. The implemented operations use data available to an anonymous visitor on Twitch's public web pages.

Does it download streams or videos?

No. It returns public metadata and canonical URLs, not media files.

Why use a browser?

Twitch loads most structured channel data after the initial HTML response, so the tool captures the public requests made by Twitch's own page.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Twitch Scraper"
2. Call run_tool with:
   name: "twitch_scraper"
   input: {"mode":"profile","handle":"openai"}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/twitch_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"mode":"profile","handle":"openai"}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/twitch-scraper && cd twitch-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"profile","handle":"openai"}'