Twitch Channel Search Scraper avatar

Twitch Channel Search Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Twitch Channel Search Scraper

Twitch Channel Search Scraper

Search Twitch channels by keyword and export profiles, follower counts, live status, stream details, and recent video and clip previews.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Find public Twitch channels by search query. Twitch Channel Search Scraper exports channel identities, names, descriptions, avatars, follower counts and available live-stream information as separate rows.

Discover candidate channels and preserve their source links before deciding which profiles to research in more detail.

At a glanceDetails
📥 InputEnter one search keyword or phrase per item. Each page returns up to 10 channels.
📤 OutputOne channel per success row, with source input retained
📄 PaginationpagesPerSearch limits result pages for each query. Each search request asks for 10 channel results; fewer unique rows can be returned.
🔐 Login requiredNo
⚡ ProcessingUp to 5 HTTP requests concurrently with automatic retries
💾 DeliveryOne Apify dataset view, useful flat columns and complete nested JSON

What the Twitch Channel Search scraper collects 🔎

The Actor collects channel cards from Twitch search. Available live-stream fields describe the state observed during collection.

Data can include:

  • Channel ID, login, display name and profile URL
  • Description and profile image when supplied
  • Public follower count when returned
  • Available current-stream title, category and viewer information
  • Original search query retained in each record

How to collect channel search results from Twitch 🚀

  1. Enter one or more supported inputs in inputList.
  2. Set the result-page budget for each input.
  3. Start the Actor.
  4. Open the Channels dataset view and review the individual records.
  5. Export the dataset or retrieve it from your application.
{
"inputList": [
"gaming"
],
"pagesPerSearch": 1
}

pagesPerSearch limits result pages for each query. Each search request asks for 10 channel results; fewer unique rows can be returned.

Twitch channel search results data and complete output 📦

FieldTypeMeaning
inputstringOriginal submitted input.
statusstringResult status: success or failed.
typestring or nullNormalized result entity type.
idstring or nullIdentifier of this object, preserved as a string.
loginstring or nullTwitch channel login used in its public URL.
display_namestring or nullPublic display name, preserving the source capitalization.
urlstring or nullPublic source URL for this object.
descriptionstring or nullAvailable public description; null when not supplied.
profile_image_urlstring or nullAvailable public channel profile-image URL.
primary_color_hexstring or nullPublic channel theme color in hexadecimal form.
followers_countinteger or nullPublic follower count; not a paid-subscriber count or a follower list.
is_partnerboolean or nullPublic Twitch Partner flag when supplied.
is_participating_djboolean or nullPublic Twitch DJ-program participation flag when supplied.
is_liveboolean or nullWhether a current stream was present in the channel-search response.
broadcast_titlestring or nullAvailable current broadcast title from the channel card.
last_broadcast_idstring or nullIdentifier of the last broadcast reference returned by the source.
last_broadcast_started_atstring or nullAvailable start time of the last broadcast reference.
streamobject or nullCurrent stream metadata when present; null for an absent stream.
stream.idstring or nullIdentifier of this object, preserved as a string.
stream.typestring or nullObject or content type supplied or normalized for this record.
stream.titlestring or nullPublic title supplied for this object.
stream.viewer_countinteger or nullCurrent stream viewer count supplied in the observed response.
stream.preview_image_urlstring or nullAvailable stream preview-image URL.
stream.large_preview_image_urlstring or nullAvailable large stream preview-image URL.
stream.vertical_preview_image_urlstring or nullAvailable vertical stream preview-image URL.
stream.widthinteger or nullAvailable image or media width in pixels.
stream.heightinteger or nullAvailable image or media height in pixels.
stream.is_dual_formatboolean or nullSource flag indicating a dual-format stream when supplied.
stream.gameobject or nullAvailable game or category metadata for the parent object.
stream.game.idstring or nullIdentifier of this object, preserved as a string.
stream.game.slugstring or nullPublic identifier used in this object’s URL.
stream.game.namestring or nullPublic name of this blog or nested object.
stream.game.display_namestring or nullPublic display name, preserving the source capitalization.
stream.game.urlstring or nullPublic source URL for this object.
stream.game.box_art_urlstring or nullAvailable category or game cover-image URL.
stream.tagsarray or nullAvailable tag values associated with the post or interaction.
stream.tags[].idstring or nullIdentifier of this object, preserved as a string.
stream.tags[].namestring or nullPublic name of this blog or nested object.
stream.content_classification_labelsarray or nullPublic classification labels supplied for the channel or stream.
content_classification_labelsarray or nullPublic classification labels supplied for the channel or stream.
recent_videosarray or nullLimited recent-video preview cards from channel search, not a complete archive.
recent_videos[].idstring or nullIdentifier of this object, preserved as a string.
recent_videos[].urlstring or nullPublic source URL for this object.
recent_videos[].titlestring or nullPublic title supplied for this object.
recent_videos[].created_atstring or nullCreation time in an ISO-formatted date string when supplied.
recent_videos[].duration_secondsinteger or nullDuration in seconds, retaining fractional values when supplied.
recent_videos[].view_countinteger or nullVisible view count at collection time; not a unique-viewer estimate.
recent_videos[].preview_thumbnail_urlstring or nullAvailable video preview-thumbnail URL.
recent_videos[].preview_blur_reasonstring or nullPublic reason given for blurring a preview, when supplied.
recent_videos[].gameobject or nullAvailable game or category metadata for the parent object.
recent_videos[].game.idstring or nullIdentifier of this object, preserved as a string.
recent_videos[].game.slugstring or nullPublic identifier used in this object’s URL.
recent_videos[].game.namestring or nullPublic name of this blog or nested object.
recent_videos[].game.display_namestring or nullPublic display name, preserving the source capitalization.
recent_videos[].game.urlstring or nullPublic source URL for this object.
recent_videos[].game.box_art_urlstring or nullAvailable category or game cover-image URL.
top_clipsarray or nullLimited clip preview cards from channel search, not a complete clip list.
top_clips[].idstring or nullIdentifier of this object, preserved as a string.
top_clips[].slugstring or nullPublic identifier used in this object’s URL.
top_clips[].urlstring or nullPublic source URL for this object.
top_clips[].titlestring or nullPublic title supplied for this object.
top_clips[].view_countinteger or nullVisible view count at collection time; not a unique-viewer estimate.
top_clips[].duration_secondsnumber or nullDuration in seconds, retaining fractional values when supplied.
top_clips[].thumbnail_urlstring or nullAvailable thumbnail image URL.
top_clips[].broadcasterobject or nullPublic channel associated with the clip.
top_clips[].broadcaster.idstring or nullIdentifier of this object, preserved as a string.
top_clips[].broadcaster.loginstring or nullTwitch channel login used in its public URL.
top_clips[].broadcaster.display_namestring or nullPublic display name, preserving the source capitalization.
top_clips[].broadcaster.urlstring or nullPublic source URL for this object.
top_clips[].broadcaster.profile_image_urlstring or nullAvailable public channel profile-image URL.
top_clips[].broadcaster.primary_color_hexstring or nullPublic channel theme color in hexadecimal form.
top_clips[].broadcaster.is_partnerboolean or nullPublic Twitch Partner flag when supplied.
top_clips[].gameobject or nullAvailable game or category metadata for the parent object.
top_clips[].game.idstring or nullIdentifier of this object, preserved as a string.
top_clips[].game.slugstring or nullPublic identifier used in this object’s URL.
top_clips[].game.namestring or nullPublic name of this blog or nested object.
top_clips[].game.display_namestring or nullPublic display name, preserving the source capitalization.
top_clips[].game.urlstring or nullPublic source URL for this object.
top_clips[].game.box_art_urlstring or nullAvailable category or game cover-image URL.

recent_videos and top_clips are limited previews included with a search card, with up to five items of each type. They remain nested and are not a complete channel archive. Current-stream fields describe the observed live state and can be absent for an offline channel.

Every top-level output field appears in these complete examples. The success example is normalized from a public response; its values are a snapshot and can change. Nested arrays remain inside their parent result.

Complete representative success result:

{
"input": "gaming",
"status": "success",
"type": "channel",
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"description": "🟣​​CULTURE URBAINE🟣​ 1ere Chaine Live en France sur le ⭐Hip Hop ​🎧 ⭐Urbex 🏚️ ⭐​Paranormal 👁️ 🟣 Chorégraphe de métier et Street Artist customisation en live 🟣 Mes passions en Stream sous 8 formats ! (Cuisine, VLOG, Gaming, Cinéma etc..)",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/4a14ccb2-9985-4e24-a603-a791b534d788-profile_image-150x150.png",
"primary_color_hex": "FF38DB",
"followers_count": 15328,
"is_partner": true,
"is_participating_dj": false,
"is_live": true,
"broadcast_title": "🎮 Les aventures de Miass / Gaming #1145 ❗️Subtember ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"last_broadcast_id": "317725080932",
"last_broadcast_started_at": "2026-09-11T18:23:17.047732Z",
"stream": {
"id": "317725080932",
"type": "live",
"title": "🎮 Les aventures de Miass / Gaming #1145 ❗️Subtember ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"viewer_count": 78,
"preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_scymia-320x180.jpg",
"large_preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_scymia-854x480.jpg",
"vertical_preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_scymia-180x320.jpg",
"width": 1920,
"height": 1080,
"is_dual_format": false,
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
},
"tags": [
{
"id": "fft:CHANNEL:196024159:0",
"name": "Français"
},
{
"id": "fft:CHANNEL:196024159:1",
"name": "Gaming"
},
{
"id": "fft:CHANNEL:196024159:2",
"name": "HipHop"
},
{
"id": "fft:CHANNEL:196024159:3",
"name": "Paranormal"
},
{
"id": "fft:CHANNEL:196024159:4",
"name": "Cinéma"
},
{
"id": "fft:CHANNEL:196024159:5",
"name": "Urbex"
},
{
"id": "fft:CHANNEL:196024159:6",
"name": "horreur"
},
{
"id": "fft:CHANNEL:196024159:7",
"name": "STREETARTIST"
},
{
"id": "fft:CHANNEL:196024159:8",
"name": "IRL"
},
{
"id": "fft:CHANNEL:196024159:9",
"name": "lifestyle"
}
],
"content_classification_labels": []
},
"content_classification_labels": [],
"recent_videos": [
{
"id": "2871432074",
"url": "https://www.twitch.tv/videos/2871432074",
"title": "🎮 [6lX Life] RP event / avec @tasawar_ato / Gaming #1145 ❗️Subtember ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"created_at": "2026-09-11T18:23:17Z",
"duration_seconds": 21434,
"view_count": 0,
"preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
"preview_blur_reason": "BLUR_NOT_REQUIRED",
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "2870630185",
"url": "https://www.twitch.tv/videos/2870630185",
"title": "🎨Street Art / Graffiti Custom Tableau / Instant Hip Hop #422 ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"created_at": "2026-09-10T19:36:27Z",
"duration_seconds": 19596,
"view_count": 3080,
"preview_thumbnail_url": "https://static-cdn.jtvnw.net/cf_vods/d3stzm2eumvgb4/cea18b45a2480f09ae6e_scymia_317729916259_1789068982//thumb/thumb0-320x180.jpg",
"preview_blur_reason": "BLUR_NOT_REQUIRED",
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "2868835248",
"url": "https://www.twitch.tv/videos/2868835248",
"title": "👟 #421 / Hip Hop Cours et Training / émission Instant Hip Hop ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"created_at": "2026-09-08T17:44:38Z",
"duration_seconds": 9416,
"view_count": 1471,
"preview_thumbnail_url": "https://static-cdn.jtvnw.net/cf_vods/d1m7jfoe9zdc1j/2b4a12cc755b02deeeaf_scymia_321447117531_1788889473//thumb/thumb0-320x180.jpg",
"preview_blur_reason": "BLUR_NOT_REQUIRED",
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "2868040830",
"url": "https://www.twitch.tv/videos/2868040830",
"title": "🎮 Gaming #1144 ❗️Subtember ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"created_at": "2026-09-07T19:04:59Z",
"duration_seconds": 27513,
"view_count": 4373,
"preview_thumbnail_url": "https://static-cdn.jtvnw.net/cf_vods/d3stzm2eumvgb4/843d397915ef62bfd91b_scymia_317692872804_1788807894//thumb/thumb0-320x180.jpg",
"preview_blur_reason": "BLUR_NOT_REQUIRED",
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "2863551309",
"url": "https://www.twitch.tv/videos/2863551309",
"title": "🎮 Gaming #1143 ❗️Subtember ❗️HorusX ❗️HTS ❗️WishList ❗️RS ❗️YT ❗️LesCoffres",
"created_at": "2026-09-02T19:50:38Z",
"duration_seconds": 26462,
"view_count": 4130,
"preview_thumbnail_url": "https://static-cdn.jtvnw.net/cf_vods/d3stzm2eumvgb4/8875a21625cf08c0100b_scymia_317662293347_1788378631//thumb/thumb0-320x180.jpg",
"preview_blur_reason": "BLUR_NOT_REQUIRED",
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": "Just Chatting",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
}
],
"top_clips": [
{
"id": "4249233923",
"slug": "EndearingBovineBeaverRuleFive-tTbI-OPiW3WNcEu1",
"url": "https://clips.twitch.tv/EndearingBovineBeaverRuleFive-tTbI-OPiW3WNcEu1",
"title": "🦖​ Vélociraptor imitation réaliste",
"view_count": 48,
"duration_seconds": 30,
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/8ccee86a-3ed8-4a63-97dc-0d32599f0188/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"broadcaster": {
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"profile_image_url": null,
"primary_color_hex": null,
"is_partner": null
},
"game": {
"id": "490948",
"slug": "the-isle",
"name": "The Isle",
"display_name": null,
"url": "https://www.twitch.tv/directory/category/the-isle",
"box_art_url": null
}
},
{
"id": "3977771292",
"slug": "WimpySuaveSalsifyOhMyDog-jNX6VP_3Vo8kNcGs",
"url": "https://clips.twitch.tv/WimpySuaveSalsifyOhMyDog-jNX6VP_3Vo8kNcGs",
"title": "Mais What da ...!!!!",
"view_count": 38,
"duration_seconds": 26,
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/26c5f0ea-e0be-4295-8fcb-de1ffd558113/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"broadcaster": {
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"profile_image_url": null,
"primary_color_hex": null,
"is_partner": null
},
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": null,
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "3534889069",
"slug": "WealthyEntertainingCurlewPupper-KWLRW7RI-5B_qUrI",
"url": "https://clips.twitch.tv/WealthyEntertainingCurlewPupper-KWLRW7RI-5B_qUrI",
"title": "cut de lumiere",
"view_count": 15,
"duration_seconds": 50,
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/1b4032c7-7c13-4223-9d41-d0195bb2db19/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"broadcaster": {
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"profile_image_url": null,
"primary_color_hex": null,
"is_partner": null
},
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": null,
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "1410097939",
"slug": "EmpathicFantasticKittenPMSTwin-6oeURwFQak64Takv",
"url": "https://clips.twitch.tv/EmpathicFantasticKittenPMSTwin-6oeURwFQak64Takv",
"title": "pré ci dantiel shoul chole",
"view_count": 11,
"duration_seconds": 10,
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/34c9ef1f-4f28-40d0-a100-1d20fe4f29dc/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"broadcaster": {
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"profile_image_url": null,
"primary_color_hex": null,
"is_partner": null
},
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": null,
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
},
{
"id": "3164032633",
"slug": "LitigiousCleverMilkBlargNaut-HqvV484rk4VwGTz1",
"url": "https://clips.twitch.tv/LitigiousCleverMilkBlargNaut-HqvV484rk4VwGTz1",
"title": "bruit sable",
"view_count": 6,
"duration_seconds": 10,
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/0c29faf6-7c33-49ce-8564-0c09bbeaff73/landscape/thumb/thumb-0000000000-1920x1080.jpg",
"broadcaster": {
"id": "196024159",
"login": "scymia",
"display_name": "Scymia",
"url": "https://www.twitch.tv/scymia",
"profile_image_url": null,
"primary_color_hex": null,
"is_partner": null
},
"game": {
"id": "509658",
"slug": "just-chatting",
"name": "Just Chatting",
"display_name": null,
"url": "https://www.twitch.tv/directory/category/just-chatting",
"box_art_url": null
}
}
]
}

Complete failed result:

{
"input": "gaming",
"status": "failed",
"type": null,
"id": null,
"login": null,
"display_name": null,
"url": null,
"description": null,
"profile_image_url": null,
"primary_color_hex": null,
"followers_count": null,
"is_partner": null,
"is_participating_dj": null,
"is_live": null,
"broadcast_title": null,
"last_broadcast_id": null,
"last_broadcast_started_at": null,
"stream": null,
"content_classification_labels": null,
"recent_videos": null,
"top_clips": null
}

A failed row preserves input, sets status to failed, and sets every other top-level field to null. The run log records the reason. Optional successful fields can be null or empty when Twitch does not supply them. Object fields are exposed through useful columns in the single Channels view; arrays are not expanded into extra result rows.

Input requirements and pagination settings ⚙️

ParameterTypeRequiredDefaultRules
inputListarray of stringsYesNoneEnter one search keyword or phrase per item. Each page returns up to 10 channels. At least 1 item.
pagesPerSearchintegerNo1Maximum result pages per input. Setup requests do not count as pages. Stops when the source has no next page or repeats a continuation. Actual rows per page can vary. Minimum 1.

Enter plain search queries, not URLs. Search discovers channels rather than the full list of streams in a category.

Enter plain keyword phrases, such as gaming for channel search or minecraft for video search. Search URLs are not accepted. Each value is a separate search input, and only the result type of this Actor is collected.

Duplicate normalized inputs are processed once. Within the collection for one source input, repeated records are removed while distinct interactions or objects remain separate. The same object returned for different source inputs retains its source relationship.

The first result page counts as page 1. Public-page preparation and metadata lookups do not consume result pages. Collection stops at your page budget or the end of the available list. A short page alone does not mean that the list has ended.

Twitch channel search results use cases 🎯

Channel discovery

Create a source-linked candidate list from a topic or name query.

Profile enrichment inputs

Select channel logins for a later Channel Details run.

Live-state research

Review available live titles and categories in the returned channel sample without treating it as a complete live directory.

Pricing and saved-result behavior 💰

Check the Actor’s Pricing tab for the active pricing model and current rate. Store settings can change, so this README does not claim a fixed price or runtime.

Under dataset-item pricing:

  • Each successful result represents one channel for its source input.
  • An invalid or unavailable input, an input with no accessible results, or an exhausted request can produce a failed row.
  • Retry attempts and supporting requests do not create extra dataset rows by themselves.
  • Nested media, profile information and other arrays remain part of their parent row.
  • A normal empty continuation after earlier successes creates no additional row.
  • Saved failed rows are not assumed to be free; check their treatment in the active pricing configuration.

More inputs and larger page budgets can produce more saved rows. Start with a small run and check actual usage before increasing the workload.

Twitch channel search results API 🔌

Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["gaming"],"pagesPerSearch":1}'

Download the dataset in JSON, CSV, Excel or other formats available in the Console, or retrieve it through the Apify API. Use schedules, webhooks and Apify integrations to connect results to Google Sheets, Make, Zapier, cloud storage or your own application. These connections are configured separately by the user.

Reliability, retries, and public-data limits ⚠️

Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or unavailable targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors allow up to five total attempts per request.

Successful earlier pages remain saved if a later request fails. A normal end after saved results is not retried. An input with no accessible results can receive a failed row; that alone does not prove that its underlying source does not exist. An exhausted later request can add a failed row while preserving previous output.

Follower counts are public counters, not follower lists or paid-subscriber counts. Live fields can be null for offline channels. Search ranking and public availability are controlled by Twitch.

Twitch controls public availability, ranking and optional fields. Result counts can be affected by duplicates, removed content and changes during a run. A page budget is a collection limit, not a promise of exhaustive coverage.

An invalid string within a valid input list does not stop other inputs. Invalid overall configuration, such as a non-string list item or a wrong page-count type, exits before source requests. Startup failures, unavailable dataset storage or an unrecoverable result-save error can still stop the whole run. A failed save is not retried as a new scraping request.

Frequently asked questions ❓

Does it collect only live channels?

No. Search can return channels that are currently offline. Available live-stream information remains optional.

Can it return a channel’s followers?

It can return a public follower count when supplied. It does not collect the individual follower list.

Does it require a Twitch account or personal cookies?

No. You do not need to provide a Twitch account, password or personal session cookie. Collection uses HTTP without opening a browser.

What happens to invalid or unavailable inputs?

Invalid individual inputs are recorded as failed without a source request. Confirmed missing or unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts per request; other inputs and earlier saved results remain available.

Can I export results or run the same input again?

Yes. Export the default dataset or retrieve it through the Apify API. You can create an Apify schedule and connect completed runs to your own workflow.

For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, a safe public input, expected behavior and actual result. Include the mode or page budget when relevant. Never share access tokens, personal cookies or proxy credentials.

Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.