runescape hiscores api
v3.1.0
A PHP implementation to request player data in a nice format from:
composer require bert-w/runescape-hiscores-api
Note: It is important to define a user-agent as seen below, since the RuneScape website might throw errors if none is given.
// OSRS
$hiscores = new BertWRunescapeHiscoresApiOSRSHiscores([
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36',
],
]);
// RS3
$hiscores = new BertWRunescapeHiscoresApiRS3Hiscores([
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36',
],
]);
$player = $hiscores->player('someplayer');
$totalLevel = $player->totalLevel();
// Returns (int).
$skills = $player->skills();
// Only available for OSRS:
$minigames = $player->minigames();
Results in the following array:
Array
(
[0] => BertWRunescapeHiscoresApiHiscoreRow Object
(
[icon] =>
[name] => Overall
[rank] => 1
[level] => 2898
[experience] => 5600000000
[score] =>
[type] => skill
)
[1] => BertWRunescapeHiscoresApiHiscoreRow Object
(
[icon] =>
[name] => Attack
[rank] => 263
[level] => 99
[experience] => 200000000
[score] =>
[type] => skill
)
...
)
// Case insensitive skill or minigame search. To be certain, use the
// exact name as used on the OSRS Hiscores page.
$player->get('agility')->level;
$player->get('Clue Scrolls (all)')->rank;
// Returns a BertWRunescapeHiscoresApiHiscoreRow object.
All properties on this HiscoreRow
object are:
$player->get('agility')->icon
(string|null)
$player->get('agility')->name
(string)
$player->get('agility')->rank
(int) {
$player->get('agility')->level
(int|null)
null
for minigames).$player->get('agility')->experience
(int|null)
null
for minigames).$player->get('agility')->score
(int|null)
null
for skills).$player->get('Overall')->level;
$player->get('Attack')->level;
$player->get('Defence')->level;
$player->get('Strength')->level;
$player->get('Hitpoints')->level; // (differs from RS3 "Constitution")
$player->get('Ranged')->level;
$player->get('Prayer')->level;
$player->get('Magic')->level;
$player->get('Cooking')->level;
$player->get('Woodcutting')->level;
$player->get('Fletching')->level;
$player->get('Fishing')->level;
$player->get('Firemaking')->level;
$player->get('Crafting')->level;
$player->get('Smithing')->level;
$player->get('Mining')->level;
$player->get('Herblore')->level;
$player->get('Agility')->level;
$player->get('Thieving')->level;
$player->get('Slayer')->level;
$player->get('Farming')->level;
$player->get('Runecraft')->level; // (differs from RS3 "Runecrafting")
$player->get('Hunter')->level;
$player->get('Construction')->level;
$player->get('Overall')->level;
$player->get('Attack')->level;
$player->get('Defence')->level;
$player->get('Strength')->level;
$player->get('Constitution')->level; // (differs from OSRS "Hitpoints")
$player->get('Ranged')->level;
$player->get('Prayer')->level;
$player->get('Magic')->level;
$player->get('Cooking')->level;
$player->get('Woodcutting')->level;
$player->get('Fletching')->level;
$player->get('Fishing')->level;
$player->get('Firemaking')->level;
$player->get('Crafting')->level;
$player->get('Smithing')->level;
$player->get('Mining')->level;
$player->get('Herblore')->level;
$player->get('Agility')->level;
$player->get('Thieving')->level;
$player->get('Slayer')->level;
$player->get('Farming')->level;
$player->get('Runecrafting')->level; // (differs from OSRS "Runecraft")
$player->get('Hunter')->level;
$player->get('Construction')->level;
$player->get('Summoning')->level;
$player->get('Dungeoneering')->level;
$player->get('Divination')->level;
$player->get('Invention')->level;
$player->get('Archaeology')->level;