Interactive Home Entertainment Data: Player Counts, Catalogs and Sales · Head-to-head
Speedrun.com REST API vs SteamSpy API
Which interactive home entertainment data: player counts, catalogs and sales data fits your job: Speedrun.com REST API, or SteamSpy API. API, files, or your warehouse. Daily, weekly, or hourly.
Speedrun.com REST API
SteamSpy API
Where the fields line up
No shared field names. These two answer different questions.
| Field | Speedrun.com REST API | SteamSpy API |
|---|---|---|
id | Alphanumeric resource identifier shared by every entity family - games, runs, users and categories all key on the same scheme. | not in this set |
names.international | International display name of a game or user; arrives exactly as maintained, stray whitespace included until normalized. | not in this set |
names.japanese | Japanese-language name where one is recorded for the game. | not in this set |
abbreviation | Short code a game uses in its leaderboard addresses; the natural fuzzy-match key against other catalogs. | not in this set |
weblink | Human-facing leaderboard page address for the resource, kept for provenance alongside the structured row. | not in this set |
released | Release year of the game. | not in this set |
release-date | Full release date where known, ISO-formatted. | not in this set |
ruleset | Game-level rule flags: whether milliseconds display, whether verification or video proof is required, and the default timing method. | not in this set |
platforms | Identifiers of the platforms the game is raced on, resolvable against the platform reference table. | not in this set |
regions | Regional-release identifiers associated with the game. | not in this set |
genres | Genre identifiers for the game. | not in this set |
developers | Developer identifiers credited for the game. | not in this set |
Coverage, side by side
| Speedrun.com REST API | SteamSpy API | |
|---|---|---|
| Geographic | Global community; player locations recorded as ISO country codes where users provide them | Global Steam population; all prices expressed in US cents |
| Temporal | Runs back to the site's founding era; every run carries a performed-date and a submission timestamp | Playtime aggregates accumulate since March 2009; two-week activity windows roll continuously |
| Granularity | One record per run, grouped under games, categories, levels and leaderboards | One record per Steam application |
What each contains
They tie on 1 attribute. Pick by fit, not by loyalty.
| Speedrun.com REST API | SteamSpy API | |
|---|---|---|
| Publisher | speedrun.com, the community leaderboard for competitive speedrunning | SteamSpy |
| What it measures | Competitive completion times: games, categories, levels, leaderboards, individual runs, runners | Market signals per app: owner ranges, playtime distributions, review counts, price, tags, concurrent players |
| Subject lens | Human performance records: who ran, where, on what hardware, how fast, and how the attempt was adjudicated | Product telemetry estimates: how many own a title, how long they play, what they pay, how it reviews |
| Field dictionary | 42 documented fields across games, categories, runs, users and pagination objects | 20 documented fields per app record |
| Geographic coverage | Global community; player locations recorded as ISO country codes where users provide them | Global Steam population; all prices expressed in US cents |
| Temporal coverage | Runs back to the site's founding era; every run carries a performed-date and a submission timestamp | Playtime aggregates accumulate since March 2009; two-week activity windows roll continuously |
| Granularity | One record per run, grouped under games, categories, levels and leaderboards | One record per Steam application |
| Estimated size | Hundreds of thousands of verified runs across tens of thousands of raced games | The full Steam catalog, tens of thousands of applications deep |
| Best for | World-record trackers, leaderboard apps, speedrun analytics | Sales and ownership estimation, genre and tag analytics, concurrent-player benchmarks |
What each does better
Speedrun.com REST API
Adjudicated fact against labeled estimate. Every run arrives with a moderation state - verified, rejected or pending - and the structure enforcing it: moderators mapped to roles per game, users.role separating moderators from ordinary users, ruleset declaring whether video proof is required. A sample record reads concretely: run mrwnx54y on game m1z32yzd, category xk94qv4d, primary time PT2M10S (130 seconds), performed 2026-04-01, verified at 2026-04-02T01:13:25Z, emulator flag true.
Timing depth no market estimate attempts. Three clock definitions coexist per run - wall-clock realtime, loads removed, in-game timer - next to the primary count in seconds, with ruleset flags deciding whether milliseconds even display. That is sub-second competitive granularity against a finest time axis of median playtime in whole minutes. Every claim carries its evidence onboard too: video links, runner comments and emulator flags travel with each run, so a leaderboard position can be audited down to the recording. An ownership estimate cannot be audited, only cited.
Seventeen resource families beyond the leaderboards. Games, categories, levels, variables, runs, users, series, platforms, regions, genres, engines, developers, publishers and more - enough vocabulary for release dates (one example record: 2002-08-26), Japanese titles, moderator rosters and linked Twitch channels. The Steam-side schema is deliberately flat: twenty fields, one row per app.
SteamSpy API
Playtime distributions instead of single averages. Means and medians arrive in pairs - lifetime (average_forever, median_forever) and rolling two-week windows (average_2weeks, median_2weeks) - so durable engagement separates from whatever trends this fortnight. Add ccu, peak concurrent users yesterday - Apex Legends at 124,262, CS:GO at 1,013,936 - and you have an activity picture a finish-line leaderboard cannot produce; see concurrent player counts.
Popularity ranking built into the schema. Ready-made ranked views cover most played over two weeks, most played all-time and most owned, while tag lookups carry vote weights - CS:GO's FPS tag alone counting 91,172 votes. Speedrun.com catalogs genres and gametypes as reference IDs but ranks nothing by popularity.
Catalog completeness. The full Steam store, tens of thousands of applications deep, against a speedrun universe limited to games somebody chose to race. If your question touches a title nobody speedruns, only one dataset here knows it exists.
Where they're equivalent
More than the domain split suggests. Both field dictionaries were verified during research, both records score 8 out of 10, and both sit in the same Interactive Home Entertainment slice of Datadory's catalog. Both are first-party descriptions - the speedrunning community defining its own competitive canon, a Steam analyst defining the market around Steam - so attribute definitions inherit each operator's vocabulary rather than a neutral standard. Both surface large collections in thousand-record chunks. And both share a provenance caveat worth repeating: speedrun content is community-moderated rather than publisher-sanctioned, while SteamSpy ownership figures are estimates derived from sampled data rather than official Valve numbers.
The verdict
Verdict: sample both, pick by fit - they answer different questions about the same industry.
Accept its frame: every number is an estimate wearing a wide bracket, and a title without a Steam page is invisible.
If your question is engagement quality versus audience size, that is the tell that you need both.
Sample both, pick by fit. See Speedrun.com REST API · See SteamSpy API
Or take both in one feed
Yes, and the seam between them is the game title itself. A practical loop: establish the market on the Steam side first - owner brackets, review ratios and peak concurrency rank which titles matter - then resolve those titles against the speedrun catalog through names.international or abbreviation to see which sustain active racing communities. Category depth and verified run volumes then work as a live-engagement signal that ownership numbers cannot show.
Two cautions keep the merge honest. There is no shared identifier - matching runs through title strings, so abbreviations like _AirHockey_DS need fuzzy handling - and one side publishes adjudicated facts while the other publishes labeled estimates, so an owner range should never become the denominator under a run count. We handle both alignments upstream, delivered daily, weekly, or hourly - your call. Or take both in one feed.
API, files, or your warehouse. Daily, weekly, or hourly.
Fair questions
Do the two datasets cover the same ground?
Only four concepts deep: identity, genre, geography and timestamps. Everything else diverges by design. The speedrun dictionary spends its 42 fields on adjudicated performance - place, verification state, timing methods, evidence links. One proves a performance happened; the other estimates a product's reach.
Which dataset documents more fields per subject?
The speedrun side, by twenty-two: 42 documented fields describing one run against 20 estimating one app. The gap is almost all adjudication and timing - verification states, wall-clock versus loadless versus in-game clocks, video links, ruleset flags - spread over seventeen resource families from developers to regions.
Can Datadory deliver both datasets together?
Yes - matched by game title, normalized into one feed. Expect the market layer from SteamSpy (owner bands, playtime distributions, review ratios, ccu) joined to the performance layer from Speedrun.com (categories, verified run volumes, record times), with the estimate-versus-fact distinction preserved per column. Delivered daily, weekly, or hourly - your call, as files or straight into your warehouse.