Discover/Twitch API
live

Twitch APItwitch.tv

Access Twitch streamer profiles, search channels, and browse live streams by category. Get followers, partner status, viewer counts, and stream tags.

Endpoint health
verified 6d ago
get_streamer_profile
get_live_streams
search_streamers
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Twitch API?

This API exposes 3 endpoints covering Twitch streamer profiles, channel search, and live stream discovery. The get_streamer_profile endpoint returns over 10 fields per channel including follower count, partner/affiliate status, social links, and real-time stream info when the user is live. search_streamers lets you query across channel names and game names, while get_live_streams supports filtering by category slug and pagination via cursor.

Try it
Twitch username/login (e.g., 'ninja', 'shroud')
api.parse.bot/scraper/58a628f7-dce2-4ee3-9adc-7acd8397acd9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/58a628f7-dce2-4ee3-9adc-7acd8397acd9/get_streamer_profile?username=ninja' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace twitch-tv-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Twitch Streamer Profiles API — discover streamers, browse live streams."""
from parse_apis.twitch_streamer_profiles_api import Twitch, Sort, NotFoundError

client = Twitch()

# Get a specific streamer's full profile by username.
streamer = client.streamers.get(username="ninja")
print(streamer.display_name, streamer.followers_count, streamer.is_partner)

# Search for streamers matching a query; limit caps total items fetched.
for summary in client.streamers.search(query="valorant", limit=3):
    print(summary.display_name, summary.followers_count, summary.is_live)

# Drill into a search result's full profile via .details().
first = client.streamers.search(query="minecraft", limit=1).first()
if first:
    full = first.details()
    print(full.display_name, full.description, full.is_affiliate)

# Browse live streams in a category sorted by viewer count.
for stream in client.streams.list(category="just-chatting", sort=Sort.VIEWER_COUNT, limit=3):
    print(stream.title, stream.viewers_count, stream.broadcaster.display_name)

# Typed error handling for a non-existent streamer.
try:
    client.streamers.get(username="thisuserdoesnotexist99999")
except NotFoundError as exc:
    print(f"not found: {exc}")

print("exercised: streamers.get / streamers.search / details / streams.list")
All endpoints · 3 totalmissing one? ·

Get detailed profile information for a Twitch streamer including followers, description, partner status, social links, and current live stream details if streaming. Returns null for stream when offline and populates last_broadcast with the most recent game played.

Input
ParamTypeDescription
usernamerequiredstringTwitch username/login (e.g., 'ninja', 'shroud')
Response
{
  "type": "object",
  "fields": {
    "id": "string - Twitch user ID",
    "login": "string - lowercase login name",
    "stream": "object|null - current stream info (id, viewers_count, started_at, game) when live",
    "is_live": "boolean - whether currently streaming",
    "is_partner": "boolean - whether the streamer is a Twitch partner",
    "description": "string|null - channel description",
    "display_name": "string - display name with original casing",
    "is_affiliate": "boolean - whether the streamer is a Twitch affiliate",
    "social_links": "array|null - array of social media link objects with name, title, url",
    "last_broadcast": "object|null - last broadcast info (game) when offline",
    "followers_count": "integer|null - total follower count",
    "banner_image_url": "string|null - URL to banner image",
    "primary_color_hex": "string|null - hex color code without hash",
    "profile_image_url": "string - URL to profile image"
  }
}

About the Twitch API

Streamer Profiles

The get_streamer_profile endpoint accepts a Twitch username (login) and returns a full channel record. When the streamer is live, the stream object includes viewers_count, started_at, and the current game. When offline, stream is null and last_broadcast is populated with the most recent game played. Additional fields cover is_partner, is_affiliate, description, display_name, and social_links — an array of objects with name, title, and url for each linked external profile.

Channel Search

search_streamers takes a query string and matches against channel names, stream titles, and game names. Each result in the channels array includes id, login, display_name, profile_image_url, is_live, followers_count, is_partner, and description. The total field tells you how many channels matched the query.

Live Stream Discovery

get_live_streams returns currently active streams. Filter by category using a game or category slug such as just-chatting, fortnite, or pokemon-pokopia. The limit parameter accepts 1–100. Each stream object in the streams array includes title, viewers_count, started_at, broadcaster, game, tags, and type. Use the cursor field from each response to request the next page; has_next_page tells you whether more results exist.

Reliability & maintenanceVerified

The Twitch API is a managed, monitored endpoint for twitch.tv — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when twitch.tv changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official twitch.tv API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track whether a specific streamer is live and how many viewers they currently have using is_live and stream.viewers_count
  • Build a streamer directory by searching for channels in a genre and ranking by followers_count
  • Monitor category leaderboards by pulling top live streams in a game with get_live_streams filtered by category slug
  • Check partner and affiliate status across a list of creators to qualify influencer outreach candidates
  • Aggregate social media links from social_links to map a streamer's cross-platform presence
  • Track what game a streamer last played when offline via the last_broadcast.game field
  • Paginate through all live streams in a category using the cursor and has_next_page fields for bulk data collection
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Twitch have an official developer API?+
Yes. Twitch provides the official Twitch API at https://dev.twitch.tv/docs/api/. It requires registering an application and obtaining OAuth tokens to access most endpoints.
What does `get_streamer_profile` return when a streamer is offline?+
When a streamer is offline, is_live is false, stream is null, and last_broadcast is populated with an object containing the most recent game they streamed. Static profile fields like description, social_links, is_partner, and is_affiliate are always returned regardless of live status.
Can I retrieve historical VODs or past broadcast recordings?+
Not currently. The API covers live stream status, channel profiles, and current broadcast data. You can fork this API on Parse and revise it to add an endpoint that fetches VOD or past broadcast listings.
How does pagination work with `get_live_streams`?+
Each response from get_live_streams includes a cursor string and a has_next_page boolean. Pass the cursor value in your next request to retrieve the following page of results. When has_next_page is false, you have reached the end of the result set.
Does the API return subscriber counts or subscription tier data?+
No subscriber counts are exposed. The API returns followers_count for channel search results and is_partner/is_affiliate status on profile endpoints. Subscription data is not covered. You can fork this API on Parse and revise it to surface additional monetization fields if Twitch exposes them.
Page content last updated . Spec covers 3 endpoints from twitch.tv.
Related APIs in Streaming VideoSee all →
kick.com API
Discover all active livestreams from any Kick.com category and access detailed information about each channel, including viewer counts, tags, language, and creator profiles. Monitor live content across specific categories to find streamers and trending broadcasts in real-time.
app.channelcrawler.com API
Search and discover YouTube channels across a database of 22M+ channels to find creators, communities, and content in your areas of interest. Get detailed channel information including stats and metadata to research creators and understand their audience.
viewstats.com API
viewstats.com API
fishtank.live API
Access clips, episodes, contestant information, and live stream updates from Fishtank.live to browse content, check leaderboard rankings, and track live broadcast status. Get detailed information about specific clips and episodes, or discover random clips and current stox data.
rocketleague.tracker.network API
Retrieve Rocket League player profiles, historical season statistics, playlist rankings, and recent match session data from Tracker Network. Search for players across platforms and compare performance metrics, rank ratings, and progression across seasons.
justwatch.com API
Search for movies and TV shows, retrieve streaming availability and detailed metadata, browse trending content, and discover similar titles — all via JustWatch.
patreon.com API
Search for Patreon creators and discover their membership tiers, pricing, patron counts, and detailed profile information. Find the creators you want to support or research with comprehensive details about their offerings and community size.
fortnitetracker.com API
Track Fortnite competitive tournaments by browsing upcoming events, viewing detailed information about specific competitions, and checking player leaderboards to see rankings and performance stats. Monitor the esports calendar and follow how top competitors are performing across official Fortnite events.