From Archiveteam
Revision as of 20:06, 21 October 2020 by Znak (talk | contribs) (Fix a command typo; v1 not v2.)
Jump to navigation Jump to search
URL https://www.speedrun.com/
Status Online!
Archiving status Unknown
Archiving type Unknown
IRC channel #archiveteam-bs (on hackint)

Speedrun.com[IAWcite.todayMemWeb] hosts video game speedrun leaderboards, as well as forums and other resources related to speedrunning. It is the main repository of speedrunning records for most games that do not have their own dedicated leaderboard site.

Acquisition by Elo

On 2020-10-13, site creator Pac[IAWcite.todayMemWeb] announced that the site had been acquired by Elo[IAWcite.todayMemWeb], a data analytics and advertising company.

Some users have expressed concern that the change in ownership may result in features disappearing or requiring payment.

oh fuck SRC didn't just get obtained by some random org, they got obtained by the guys behind dotabuff, aka "steadily locking features behind a paywall until the site is entirely barebones" the company

dotabuff was the go to source for match history/competitive stuff in dota for years, and then they slowly started shoving features behind the paywall until some competitors got in (opendota and stratz) and the only reason to use it is that you dont know the others exist

I actually have a question since I just noticed it. On your website you sell(?) access to an API for all of your websites, but SRC's API is already free and open source-ish. Is this due to change, or are you just selling the easy to access all in one API? A lot of community resources rely on this API. I'm not familiar enough with your other sites to find a definite answer to if those also have individual free APIs or not.


Speedrun.com has an HTTP and JSON API[IAWcite.todayMemWeb] for querying information about users, games, runs, and more[IAWcite.todayMemWeb]. Most of the API is read-only and anonymous, and does not require an account to access. Access is rate-limited to 100 requests per minute per IP address[IAWcite.todayMemWeb]. On 2020-10-16, a mod for the site said that the API would remain unchanged "right now"[IAWcite.todayMemWeb].


Get a list of all users (paginated).
Get information about one user.
Get a list of all games.
Get the leaderboard for SM64 70 stars.

Archiving a game

Quick and dirty archival of a single game using Wget and jq. Warning: Does not handle pagination; i.e., only saves up to the first 20 results of each API request.

Do a search for the game name (here, crystal caves) to find its id.

wget -O - 'https://www.speedrun.com/api/v1/games?name=crystal caves' | jq '.data[]|{id:.id,name:.names.international,weblink:.weblink}'

The output will be something like the following. In this example, we will use the id 268m87dp.

  "id": "k6qgzxdg",
  "name": "Crystal Caves 2: Slugging It Out",
  "weblink": "https://www.speedrun.com/crystalcaves2"
  "id": "268m87dp",
  "name": "Crystal Caves 1: Troubles with Twibbles",
  "weblink": "https://www.speedrun.com/crystalcaves1"
  "id": "j1nxzldp",
  "name": "Crystal Caves 3: Mylo Versus the Supernova",
  "weblink": "https://www.speedrun.com/crystalcaves3"

Download the main JSON document for the game.

wget --no-clobber --force-directories --no-host-directories https://www.speedrun.com/api/v1/games/268m87dp

Rename the main JSON document. This is because the game id is used by the API as if it were both a directory name and a file name. The next Wget command would overwrite this JSON file if it were not renamed.

mv api/v1/games/268m87dp api/v1/games/268m87dp.json

Download the JSON documents and graphics cross-referenced by the game:

jq -r '.data|((.assets[]|values),(.links[]|select(.rel!="self"))).uri' api/v1/games/268m87dp.json | wget --wait=1 --no-clobber --force-directories --no-host-directories -i -

Download the JSON documents for every run and player:

jq -r '.data[]|(@uri "https://www.speedrun.com/api/v1/runs/\(.id)",.players[].uri)' 'api/v1/runs?game=268m87dp' | sort | uniq | wget --wait=1 --no-clobber --force-directories --no-host-directories -i -

Download player avatar graphics:

jq -r '@uri "https://www.speedrun.com/themes/user/\(.data.names.international)/image.png"' api/v1/users/* | sort | uniq | wget --wait=1 --no-clobber --force-directories --no-host-directories -i -