Introduction
We collect public data from Twitch, Kick, and YouTube through each platform’s official APIs. We do not buy or scrape third-party analytics databases.
Numbers are estimates of viewership activity from how many people were watching at sample moments — not platform-internal dashboards or unique-people counts unless stated.
Tracked since on each channel profile is the date we first started recording that channel. We cannot show minute-by-minute history from before that date.
Hours watched
Primary ranking metric for “most watched” lists. While a channel is live we add viewer counts over time:
Hours Watched ≈ Σ (concurrent viewers × time between samples)
With ~one sample per minute, each sample contributes roughly viewers ÷ 60 hours. Offline time is excluded.
Average viewers
Average Viewers = Hours Watched ÷ hours live in the selected period. This is a time-weighted average, not an average of daily peaks.
Peak viewers, airtime, stream count
- Peak viewers — highest concurrent count observed in the period.
- Airtime — total live time in the period from platform online signals.
- Stream count — distinct broadcasts that started in the period.
Follower change
When the API provides follower totals, we store snapshots and show the difference over the period. If data is missing, we show “—”.
How often we update (by platform)
| Platform | Sample interval (live) | Status |
|---|---|---|
| Twitch | ~60 seconds | Official API polling while live |
| Kick | ~60–120 seconds | Livestreams poll when API credentials configured; optional webhooks for session boundaries |
| YouTube | ~120 seconds (target) | Official API polling for channels we follow — daily quota limits apply; hidden viewer counts omitted |
Rankings and charts use daily summaries built from samples. Public pages may cache for up to 60 seconds. We do not poll offline channels every minute.
Detailed minute-by-minute samples are kept for about 14 days, then summarized into daily totals. Older detail is not shown on public pages yet.
Who appears in rankings
Public leaderboards include channels that meet all of:
- Actively tracked in our system
- At least 60 minutes of live airtime in the selected period
- Period average viewers at least about 2 concurrent viewers (platform thresholds may differ)
Smaller or newly discovered channels may still have a profile with limited history. We discover from live directories and popular categories — not every account on a platform.
History and tracked since
We only have detailed viewer curves from the day we started tracking a channel forward. Platforms do not expose full lifetime third-party history. Twitch VODs expire after a short window; Kick and YouTube do not provide years of concurrent viewer curves via public APIs.
Discovery (how channels enter the catalog)
- Twitch — global live directory sweep, rotating game-category passes, and reconcile of recently tracked channels (see ADR-0006 for pagination coverage).
- Kick — category discovery from the public API plus tracked livestream polling (≤50 broadcaster IDs per request). Without developer API credentials, discover/poll no-op.
- YouTube — live Gaming streams via the YouTube Data API; coverage is a subset of the site and subject to daily API quota.
Known limitations
- We generally show concurrent viewers and Hours Watched, not unique people.
- Raids and hosts are included in samples during the live window.
- Some Kick or YouTube streams hide viewer counts — we may show gaps.
- YouTube Gaming coverage is a subset, not the entire site; leaderboards may be sparse when quota is tight.
- Other analytics sites use different ingest — numbers may disagree.
Cross-platform, sources, affiliation
Twitch, Kick, and YouTube use separate tables and pages. Do not add Hours Watched across platforms unless explicitly labeled as combined.
Data sources: Twitch Developer API; Kick Developer API; YouTube Data API (when implemented).
OmniCharts is not affiliated with, endorsed by, or sponsored by Twitch, Kick, YouTube, or Google.