Hiscores
About this module¶
The Hiscore system tracks players' statistics and assigns them a rank against their peers. We host multiple instances of it for different games and player types.
Tables¶
RuneScape and Old School both have their own sets of Hiscore tables, but they broadly follow the same rules. Each table fits into one of three categories:
| Type | Purpose | Data recorded |
|---|---|---|
| Overall | Track players' progress across all skills | Total Level, Total XP |
| Skill | Track player's progress within a specific skill | XP in the skill |
| Activity | Track a specific value such as Clue Scrolls completed, boss kills or RuneScore | The value in question |
There is only one Overall table. New Skill and Activity tables are added as needed.
Hiscore will automatically assign a rank to the top 2,000,000 players in each table. If multiple players have the same value, the one that got there first will be ranked higher. Players below that point will still have the value stored, but no rank will be assigned.
API¶
Each instance exposes the same API, but the base URL varies; for example...
https://secure.runescape.com/m=hiscore/is the main instance for RuneScapehttps://secure.runescape.com/m=hiscore_oldschool/is the main instance for Old School
See Instances for the names that you can use.
| API | Endpoint | Purpose |
|---|---|---|
| Index Lite | /index_lite.json |
Get the stats and ranks corresponding to a specific player |
Note
More APIs will be documented in the near future as we tidy things up.
Update delays¶
Hiscores will update within a couple of seconds when any of these events occurs:
- Player logs out
- Player hops to a different world
- Player loses eligibility for a specific Hiscore instance (e.g. Hardcore Ironman losing their last life, or an Old School skill pure levelling up a combat skill)
Quirks¶
Partial data¶
Prior to a major update in November 2025, Hiscore would only save values where the player had a rank.
Contrived example: If a player had 250,000 kills of Hespori and only 3 kills on the Hueycoatl (which is too low to rank), Hiscore would remember the 250,000 Hespori KC, but not the 3 Huey KC.
Following these changes, both of these KC values will be saved and returned by the APIs when this player is queried. This data is however only available for records saved after this update, so some older records (especially for ex-Iron, ex-Skiller, etc. accounts) will still have specific missing values.