# Sleepless Steam Index — feature and data coverage

Evaluated against SteamDB on 7 September 2026. **Full SteamDB parity is not achieved.** This index uses Valve data directly. SteamDB does not offer a public data API or permit automated scraping, and its historical archive is not available to import.

| Area | Sleepless Index coverage | Remaining difference |
|---|---|---|
| Catalog search | Union of Valve Store app names/IDs and confirmed public Steam client records, including demos, tools, playtests and restricted-name entries; resumable initial scan with progress, minute-level client changes, hourly Store updates and weekly reconciliation | Initial client scan may still be in progress; ownership-restricted details and SteamDB-only historical records are unavailable; packages are separate and not indexed |
| Aggregate charts | Steam-wide online-user timeline from Valve, top-100 in-game sum, tracked-app player sum, coverage counts, interactive ranges and downloads | In-game sums are scoped to the listed games, not all Steam or deduplicated unique people |
| Patches | Searchable latest 1,000 public builds (up to 100 matches displayed), tracked-game patch announcements, per-app branch/build/depot details and observed build changes | Initial scan gradually populates builds; old patch history and manifest file contents are unavailable |
| Player charts | Top 100, featured apps and member-bookmarked apps; target 5–6 minutes at current scale; list sparklines and detailed charts | No pre-collection history, no complete catalog-wide player history, no special ownership access for advance-access games |
| Prices | US prices target 15 minutes; 43 additional requested country stores target hourly; regional comparisons and price-change timelines | No currency conversion or guaranteed coverage of every Steam pricing region/package/bundle; source may withhold regional prices |
| Records | Measured 24-hour and 90-day peaks and US lows; explicit observation timestamps | These are observed records, not SteamDB all-time records |
| Reviews | Positive/negative totals, percentage and ranking for tracked apps, checked every 6 hours | No historical review archive or SteamDB-specific rating algorithm |
| News | Latest publisher community announcements, hourly | Announcements are not a complete build/depot patch history |
| App information | Developers, publishers, genres, platforms, release date, supported languages, store features, achievement totals, controller support, DLC IDs | No full achievement definitions, normalized user tags or engine detection; public client appinfo is downloadable, restricted fields need ownership |
| Change history | Observed changes in tracked store fields with before/after JSON; public PICS app changelists, branch build changes and current public depot manifest IDs | No pre-collection client history, package changes, manifest file lists or archived full manifest contents |
| Discovery | Charts, featured deals/new releases, upcoming tracked games, free offers, tracked review rankings, filters and pagination | No complete SteamDB global/weekly sales archive, wishlist/follower rankings, release calendar or bundle/package database |
| Accounts | Existing Sleepless sign-in; private synced watchlists; explicit guest import | No Steam library calculator, ownership/DLC comparison or wishlist import |
| Other tools | Downloadable collected history and collection-health JSON | Steam status services, browser extension, badge/inventory database, Twitch/ownership estimates and notification alerts are not implemented |

## Capture policy

The scheduler wakes every minute, permits one collector process, and gives network work a 45-second target per run with a 110-second hard process timeout. Individual requests time out after 12 seconds. Work resumes on subsequent runs. CPU priority is reduced, and collection pauses below 1 GB of free storage.

Requests are paced separately for Valve's Web API and Store. Durable rolling counters cap this collector at 50,000 Web API requests and 5,000 Store requests across the last 25 hourly buckets, leaving room below Valve's 100,000/day API allowance for other website services. These caps are ceilings, not claimed Steam Store limits. Rate limits honor Retry-After; repeated server/network failures open a persistent circuit breaker. Missing app data is retried less often. Growing watchlists lengthen the player target automatically to keep the planned player workload around 45,000 requests/day, with separate planning allowances for news, metadata, US and regional prices.

Player, price, catalog, news and metadata schedules are independent. A feed outage retains the last valid feed. Failed measurements preserve a clearly timestamped last-known value and record a missing reading. Scheduled skips do not become observations. Full catalog publication happens only after a complete valid scan. Public JSON files are individually replaced atomically; they are not a single transactional multi-file snapshot.

Interactive player and US-price charts retain 90 days; older raw observations are archived privately by day. Regional price histories retain changes plus the last successful identical check, with the latest 90 days shown. No observations before tracking began are fabricated. Guests can bookmark locally; signing in and saving a catalog app requests ongoing server collection.

The separate anonymous Steam client worker is capped at half a CPU, 768 MB memory, one request per two seconds and 6,000 requests across 25 hourly buckets. It stores compressed appinfo in SQLite, resumes its cursor after restart, persists pending changes, backs off on failures, and pauses below 2 GB free storage. Catalog export streams records to keep memory bounded. It collects no account credentials or user access tokens.

## Requirements for further parity

1. Complete the bounded initial Steam client app scan and extend ingestion to packages; obtain appropriate Steam ownership for restricted fields and depot file manifests.
2. Build long-term catalog-wide historical storage and coverage metrics before expanding high-frequency tracking beyond the current request budget.
3. Obtain legitimate historical/licensed sources for pre-collection prices, player counts and third-party estimates; a fresh collector cannot reconstruct that archive.
4. Implement and verify the remaining tools, rankings, package/bundle data, calendar and library integrations individually. They must not be labelled complete based on similar page styling.

Sources: [SteamDB FAQ](https://steamdb.info/faq/), [Valve Store API](https://partner.steamgames.com/doc/webapi/IStoreService), [Steam Web API terms](https://steamcommunity.com/dev/apiterms), [Current player API](https://partner.steamgames.com/doc/webapi/ISteamUserStats#GetNumberOfCurrentPlayers).
