Speedrun.com Scraper avatar

Speedrun.com Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Speedrun.com Scraper

Speedrun.com Scraper

Scrape Speedrun.com â€" the largest speedrunning leaderboard and community. Search games, browse leaderboard runs, and look up world records. Returns game details, run times, runners, video proof links, and platform info.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape Speedrun.com — the world's largest speedrunning leaderboard platform with thousands of games, millions of verified runs, and active communities for every genre. Search for games, pull leaderboard positions, or browse the most recent verified submissions.

Features

  • Three data modes: game search, category leaderboards, or recent verified runs
  • Full run metadata: time in seconds and formatted string, place on leaderboard, runner name, video proof, platform, and submission date
  • Rich game data: release year, platforms, genres, community Discord, and direct links
  • Human-readable time format: run times displayed as h:mm:ss.mmm or m:ss.mmm alongside raw seconds
  • No authentication required: uses the public Speedrun.com REST API v1

Use Cases

  • Monitor world records and top-10 leaderboard positions for popular games
  • Track speedrunning community activity and new verified submissions
  • Research game popularity across the speedrunning community
  • Analyze run time distributions for specific categories (Any%, 100%, etc.)
  • Build speedrunning news feeds and record-tracker applications

Input

FieldTypeDescriptionDefault
modeSelectData mode: searchGames, leaderboard, or recentRunssearchGames
keywordTextGame search keyword (mode=searchGames)mario
gameIdTextGame abbreviation or ID for leaderboard/recentRuns (e.g. sm64, oot, celeste)sm64
categoryIdTextCategory ID for leaderboard mode (auto-detected if blank)
maxItemsIntegerMaximum number of records to return (1–500)20

Output

Game Record

FieldTypeDescription
recordTypeStringAlways "game"
gameIdStringUnique game ID on Speedrun.com
gameNameStringOfficial game name
gameAbbreviationStringShort game abbreviation used in URLs
gameUrlStringDirect link to the game's Speedrun.com page
releaseYearIntegerYear the game was released
releaseDateStringFull release date (YYYY-MM-DD)
platformsArrayPlatform names (e.g., Nintendo 64, PC)
genresArrayGenre tags (e.g., Platformer, Action)
discordStringCommunity Discord invite URL
scrapedAtStringISO 8601 scrape timestamp

Run Record

FieldTypeDescription
recordTypeStringAlways "run"
runIdStringUnique run ID
runUrlStringDirect link to the run page
gameIdStringGame ID
gameNameStringGame name
categoryIdStringCategory ID
categoryStringCategory name (e.g., Any%, 120 Star)
timeSecondsNumberRun time in seconds (raw float)
timeStringFormatted run time (e.g., 1:39:32.000)
placeIntegerLeaderboard position (leaderboard mode only)
runnerNameStringRunner username(s), comma-separated for co-op
runnerIdStringRunner user ID
platformIdStringPlatform ID the run was submitted on
emulatedBooleanWhether the run used emulation
videoUrlStringVideo proof URL (YouTube, Twitch, etc.)
submittedAtStringISO 8601 submission timestamp
statusStringRun status: verified, new, or rejected
commentStringRunner's submission comment
scrapedAtStringISO 8601 scrape timestamp

Example Output

{
"recordType": "run",
"runId": "run12345",
"runUrl": "https://www.speedrun.com/run/run12345",
"gameId": "o1y9wo6q",
"gameName": "Super Mario 64",
"categoryId": "cat001",
"category": "120 Star",
"timeSeconds": 6039.0,
"time": "1:40:39.000",
"place": 1,
"runnerName": "Cheese05",
"runnerId": "player1",
"platformId": "n64",
"emulated": false,
"videoUrl": "https://www.twitch.tv/videos/123456",
"submittedAt": "2026-05-01T10:00:00Z",
"status": "verified",
"scrapedAt": "2026-06-04T15:30:00.000000+00:00"
}

FAQs

Does this require an API key? No. The Speedrun.com API (www.speedrun.com/api/v1) is fully public and requires no authentication for read-only data.

What game abbreviations can I use? Common examples: sm64 (Super Mario 64), oot (Ocarina of Time), celeste (Celeste), minecraft (Minecraft: Java Edition), portal2 (Portal 2). You can find a game's abbreviation in its Speedrun.com URL.

What is the difference between leaderboard and recentRuns modes? leaderboard returns the top N ranked runs for the first (or specified) category of a game, ordered by time. recentRuns returns the most recently verified runs across all games, ordered by submission date.

How are co-op runs handled? Co-op runs list all runner names joined by a comma in the runnerName field.

Are all times comparable? Only runs within the same game and category are directly comparable. Times use the primary timing method set by the game's moderators (real time, in-game time, etc.).

What is the rate limit? The Speedrun.com API enforces a rate limit with HTTP 420 responses. This scraper automatically waits and retries when rate-limited.