# Changelog of Twitch Scraper — Streams, Games, Channels & Clips API (`logiover/twitch-scraper`) Actor

- **URL**: https://apify.com/logiover/twitch-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/twitch-scraper.md

## Changelog

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Declared 20 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 34 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.
- Added source-emitted channelName and integer viewCount fields for videos/clips to the top-level dataset contract.

### 2026-07-18

- Maintenance & reliability pass — re-verified end-to-end against live data via the Apify API; confirmed the Actor completes successfully and returns non-empty, well-formed results within the 5-minute quality window on its default input.
- Refreshed build so the latest version is current; no change to inputs, output fields or scraping logic.

### 2026-07-12

- **Zero-config runs**: no field is required anymore. Running with empty input `{}` now returns data immediately — it defaults to the high-volume `topStreams` mode and sweeps the top games for live streams.
- **Safer long runs**: the multi-game sweeps (`topStreams`, `streamsByGame`) now respect a ~4-minute time budget — they push everything collected so far and exit successfully rather than risking a timeout on very large sweeps.
- Confirmed every finite-choice field (game sort, video sort, clip period, clip sort, search target) is a proper dropdown; free-text fields (game, channel login, search query) remain text.

### 2026-07-01

- Initial release. Twitch Scraper v1.0 with seven modes: top live streams, top games, streams by game, channel/streamer profiles, videos (VODs), clips, and channel/game search.
- Powered by Twitch's public guest GraphQL endpoint (public web Client-ID) — no API key, no OAuth login, no headless browser.
- The high-volume `topStreams` default sweeps the top games and pulls up to 100 live streams per game, aggregating the live directory into one dataset (Twitch caps `first` at 100 and integrity-gates guest cursor pagination, so volume comes from fan-out across games/channels).
- Flattened, CSV/Excel-friendly output with six dataset views (Overview, Streams, Games, Channels, Videos, Clips) and a `_mode` tag on every row.
