Twitch Categories Scraper 🎮
Pricing
Pay per usage
Twitch Categories Scraper 🎮
Extract Twitch category data instantly. Scrape live streams, viewer counts, game categories, and trending content. Perfect for analytics, market research, and gaming insights. Automated, reliable, fast data collection.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Twitch Categories Scraper
Extract live category data from Twitch Directory in a clean, structured format. Collect category names, slugs, viewer counts, tags, and URLs for analytics and monitoring workflows. Built for stable high-volume collection without relying on integrity-blocked cursor calls.
Features
- Directory category extraction - Collects categories from the Twitch directory feed.
- URL-priority source handling - Uses your provided Twitch URL as the primary source.
- Collection URL support - Supports
/directory/collection/{slug}and converts collection streams into category results. - Viewer metrics included - Captures current
viewersCountfor each category. - High-volume expansion - Uses 100-item directory batches plus tag-based expansion to reach larger targets.
- Clean dataset output - Removes null and empty values before saving records.
- Optional tag enrichment - Includes category content tags when available.
Use Cases
Trend Tracking
Monitor which categories are gaining or losing viewers over time. Build daily snapshots and compare category movement across periods.
Market Research
Identify high-traffic niches before launching new streams, campaigns, or sponsorship plans. Focus your strategy on categories with sustained demand.
Competitive Intelligence
Track audience concentration by category to understand where attention is shifting. Use this to prioritize collaboration or content expansion.
Reporting and Dashboards
Feed category metrics into BI tools and custom dashboards. Automate exports for recurring reporting workflows.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | "https://www.twitch.tv/directory" | Twitch URL to scrape (supports /directory and /directory/collection/{slug}). |
results_wanted | Integer | No | 20 | Maximum number of categories to collect. |
proxyConfiguration | Object | No | { "useApifyProxy": false } | Optional proxy settings. |
Output Data
Each item in the dataset contains:
| Field | Type | Description |
|---|---|---|
categoryId | String | Twitch category identifier. |
slug | String | Category slug used in URLs. |
name | String | Category display name. |
internalName | String | Internal category name from source response. |
url | String | Twitch category directory URL. |
avatarUrl | String | Category thumbnail image URL. |
viewersCount | Number | Current viewers in the category. |
originalReleaseDate | String | Release date when available. |
tags | Array | Content tags associated with the category. |
trackingId | String | Tracking identifier from source edge. |
cursor | String | Pagination cursor for the category edge. |
source | String | Source marker for the record. |
sourceUrl | String | Directory URL reference used in run input. |
collectionSlug | String | Collection slug when source URL is a collection path. |
scrapedAt | String | UTC timestamp when record was collected. |
Usage Examples
Basic Extraction
{"results_wanted": 20}
Larger Dataset Run
{"results_wanted": 120}
Proxy-Enabled Run
{"results_wanted": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Collection URL Run
{"startUrl": "https://www.twitch.tv/directory/collection/gaming-streams","results_wanted": 80}
Sample Output
{"categoryId": "509658","slug": "just-chatting","name": "Just Chatting","internalName": "Just Chatting","url": "https://www.twitch.tv/directory/category/just-chatting","avatarUrl": "https://static-cdn.jtvnw.net/ttv-boxart/509658-285x380.jpg","viewersCount": 131692,"tags": [{"id": "2610cff9-10ae-4cb3-8500-778e6722fbb5","localizedName": "IRL"}],"trackingId": "a2c4fb59-fa29-4a00-b6de-954b6ae4756c","cursor": "eyJzIjoxLCJkIjpmYWxzZSwidCI6dHJ1ZX0=","source": "twitch_directory","sourceUrl": "https://www.twitch.tv/directory","scrapedAt": "2026-03-13T10:00:00.000Z"}
Tips for Best Results
Start with QA-Friendly Limits
- Use
results_wanted: 20for quick validation runs. - Increase volume only after confirming your workflow.
Internal Expansion Strategy
- The actor fetches up to 100 categories per directory request.
- For larger targets, it expands results using discovered Twitch content tags.
Enable Tags Only When Needed
- Tags are included automatically for each category record.
- Use downstream filtering if you need a lighter dataset view.
Use Proxies for High-Volume Automation
- For heavy scheduling, configure a proxy setup.
- Residential pools can improve consistency in stricter environments.
Integrations
Connect scraped data with:
- Google Sheets - Build lightweight category trackers.
- Airtable - Maintain searchable category databases.
- Looker Studio - Visualize category trends over time.
- Make - Trigger follow-up automation flows.
- Zapier - Send records to CRMs, alerts, or docs.
- Webhooks - Forward data to internal pipelines.
Export Formats
- JSON - API and developer workflows.
- CSV - Spreadsheet analysis.
- Excel - Business reporting.
- XML - Custom integrations.
Frequently Asked Questions
How many categories can I collect?
The actor is optimized for larger targets by combining a 100-item base directory batch with internal tag-based expansion.
What happens when I provide a collection URL?
The actor prioritizes your URL and extracts categories from that collection source first. If the collection has fewer unique categories than requested, it automatically tops up from directory expansion so your run can still meet results_wanted.
Why are some fields missing in some records?
Fields that are empty or null are intentionally removed from output to keep the dataset clean.
Can I schedule this actor?
Yes. It is suitable for recurring schedules to monitor category movement over time.