RuneScape Wiki
Advertisement

Application programming interfaces, or APIs, are what developers, fansite operators and bots use to retrieve information about the game and the wiki.

The RuneScape Wiki

The RuneScape Wiki's API can be accessed here. The API Explorer special page can be used in addition to the documentation that MediaWiki has. Some features are limited to logged in users, administrators, bureaucrats and Wikia staff. For more information, Wikia Inc. provides a wiki about their API and developer program here.

Bestiary API

Main article: RuneScape Bestiary

Grand Exchange Database API

The Grand Exchange Database, like the Bestiary API, is vast. It encompasses the Item Database which shows images of items not purchasable on the Grand Exchange itself and the catalogue information on tradeable items within the Grand Exchange. Queries in the API return JSON (JavaScript Object Notation).

Configuration

info returns the runedate of when the Grand Exchange Database was last updated. The URL for the info query is https://secure.runescape.com/m=itemdb_rs/api/info.json.

Catalogue

category

category returns the number of items determined by the first letter. The URL for category queries is http://services.runescape.com/m=itemdb_rs/api/catalogue/category.json?category=X where X is the category identification number as listed below for all possible types. For example, if we want to find all tradeable summoning familiars, we'd go to http://services.runescape.com/m=itemdb_rs/api/catalogue/category.json?category=9, which would result in

{"types":[],"alpha":[{"letter":"#","items":0},{"letter":"a","items":6},{"letter":"b","items":8},{"letter":"c","items":1},{"letter":"d","items":3},{"letter":"e","items":2},{"letter":"f","items":3},{"letter":"g","items":5},{"letter":"h","items":2},{"letter":"i","items":5},{"letter":"j","items":0},{"letter":"k","items":1},{"letter":"l","items":2},{"letter":"m","items":5},{"letter":"n","items":1},{"letter":"o","items":1},{"letter":"p","items":4},{"letter":"q","items":0},{"letter":"r","items":3},{"letter":"s","items":27},{"letter":"t","items":2},{"letter":"u","items":1},{"letter":"v","items":5},{"letter":"w","items":2},{"letter":"x","items":0},{"letter":"y","items":0},{"letter":"z","items":0}]}


Variable Description Data type
letter The first letter of an item string
items The number of items int

items

items returns the first 12 items in the category given as shown below determined by the first letter. The URL for items queries are http://services.runescape.com/m=itemdb_rs/api/catalogue/items.json?category=X&alpha=Y&page=Z where X is the category identification number, Y is the starting letter (lower case) for the items and Z is the page number beginning at 1. Note that any items that start with a number must instead use "%23" instead of "#".

For example, if we want to find all tradeable summoning familiars that begin with "c", we'd go to http://services.runescape.com/m=itemdb_rs/api/catalogue/items.json?category=9&alpha=c&page=1, which would result in

{"total":89,"items":[{"icon":"http://services.runescape.com/m=itemdb_rs/4856_obj_sprite.gif?id=12091","icon_large":"http://services.runescape.com/m=itemdb_rs/4856_obj_big.gif?id=12091","id":12091,"type":"Familiars","typeIcon":"http://www.runescape.com/img/categories/Familiars","name":"Compost mound pouch","description":"I can summon a compost mound familiar with this.","current":{"trend":"neutral","price":873},"today":{"trend":"neutral","price":0},"members":"true"}]}


Variable Description Data type
total The number of items int
items List of items [string...] (array of strings)
icon The item sprite image string
icon_large The item detail image string
id The ItemID of the item int
type The item category string
typeIcon The item image category string
name The item name string
description The item examine string
current The item trade history over the past day [string...] (array of strings)
today The item trade history for today [string...] (array of strings)
trend The positive, negative or neutral change in price string
price The item trade price string
members If the item is a member's only item boolean
ID No. Category Name
0 Miscellaneous
1 Ammo
2 Arrows
3 Bolts
4 Construction materials
5 Construction projects
6 Cooking ingredients
7 Costumes
8 Crafting materials
9 Familiars
10 Farming produce
11 Fletching materials
12 Food and drink
13 Herblore materials
14 Hunting equipment
15 Hunting produce
16 Jewellery
17 Mage armour
18 Mage weapons
19 Melee armour - low level
20 Melee armour - mid level
21 Melee armour - high level
22 Melee weapons - low level
23 Melee weapons - mid level
24 Melee weapons - high level
25 Mining and smithing
26 Potions
27 Prayer armour
28 Prayer materials
29 Range armour
30 Range weapons
31 Runecrafting
32 Runes, Spells and Teleports
33 Seeds
34 Summoning scrolls
35 Tools and containers
36 Woodcutting product
37 Pocket items

detail

detail returns current price and price trends information on tradeable items in the Grand Exchange, the category, item image and examine for the given item. The URL for detail queries is http://services.runescape.com/m=itemdb_rs/api/catalogue/detail.json?item=X where X is the ItemID.

For example, if we want the information on steadfast boots, we'd go to http://services.runescape.com/m=itemdb_rs/api/catalogue/detail.json?item=21787, which would result in

{"item":{"icon":"http://services.runescape.com/m=itemdb_rs/4856_obj_sprite.gif?id=21787","icon_large":"http://services.runescape.com/m=itemdb_rs/4856_obj_big.gif?id=21787","id":21787,"type":"Miscellaneous","typeIcon":"http://www.runescape.com/img/categories/Miscellaneous","name":"Steadfast boots","description":"A pair of powerful-looking boots.","current":{"trend":"neutral","price":"17.0m"},"today":{"trend":"negative","price":"-897.2k"},"members":"true","day30":{"trend":"positive","change":"+27.0%"},"day90":{"trend":"positive","change":"+30.0%"},"day180":{"trend":"positive","change":"+8.0%"}}}


Variable Description Data type
item Lists the data for the item string
icon The item sprite image string
icon_large The item detail image string
type The item category string
typeIcon The item image category string
name The item name string
description The item examine string
members If the item is a member's only item boolean
trend The positive, negative or neutral change in price string
price The item trade price string
change The item fluctuation over the past 30 days string
current The item trade history over the past day [string...] (array of strings)
today The item trade history for today [string...] (array of strings)
day30 The item trade history over 30 days [string...] (array of strings)
day90 The item trade history over 90 days [string...] (array of strings)
day180 The item trade history over 180 days [string...] (array of strings)

Images

The Grand Exchange Database can return item images with obj_big and obj_sprite. These images can sometimes be skewed since it includes items that might not necessarily be seen ingame such as placeholder graphics for most cosmetic overrides from Solomon's General Store, use the mtx pet icon for various pets and the achievement banner in other cases. Many items from Treasure Hunter and Solomon's General Store can be seen before being released in-game by sometimes over a month ahead.

For example, if we want to see the image for Mod Daze's homework, we'd go to http://services.runescape.com/m=itemdb_rs/obj_big.gif?id=34775 for a detailed image or http://services.runescape.com/m=itemdb_rs/obj_sprite.gif?id=34775 for the inventory icon. Unlike the images as seen in the game, the Grand Exchange Database images have a completely solid line surrounding items, which is different from ingame since there are breaks in images for borders.

Note that item images retrieved outside of the above place the most recent runedate before obj_big and obj_sprite. When the next system update occurs and info.json is updated, the link no longer operates for those that had a runedate in the link.

Graph

Graph shows the prices each day of a given item for the previous 180 days. The timecode is the number of milliseconds that has passed since 1 January 1970 and the price is the market value of the item for the given day. When no price information is available, then a value of zero is returned.

The URL for a graph is http://services.runescape.com/m=itemdb_rs/api/graph/X.json where X is the ItemID. For example, if we want to know the last 180 days for steadfast boots, we'd go to http://services.runescape.com/m=itemdb_rs/api/graph/21787.json, where the previous three days, truncated for this article, would start out as

{"daily":{"1419897600000":15633853,"1419984000000":15475988,"1420070400000":15379017},"average":{"1419897600000":14708793,"1419984000000":14764787,"1420070400000":148288055}}


Variable Description Data type
daily The item trade history over the past day [string...] (array of strings)
average The item trade history for today [string...] (array of strings)
timecode The first number showing the milliseconds since 1 January 1970 int
price The second number showing the exact price and the average price int

Hiscores

The hiscores can show a players current ranking in their clan, any skill or activity and active and past seasonal events.

Skills and Activites

ranking

ranking returns up to the top 50 players in a given skill or activity. The URL for ranking is http://services.runescape.com/m=hiscore/ranking.json?table=X&category=Y&size=Z where X is the current skill, overall level or activity, Y are skills or activities and Z is the amount requested up to the top 50 players.

For example, if we want to know the top 2 players in the Woodcutting skill we would go to http://services.runescape.com/m=hiscore/ranking.json?table=9&category=0&size=2, which would result in

[{"name":"Elfinlocks","score":"200,000,000","rank":"1"},{"name":"Cow1337killr","score":"200,000,000","rank":"2"}]


Variable Description Data type
name The player's name string
score The player's experience or score int
rank The player's rank int

userRanking

userRanking returns the current logged in player's rank in the overall hiscores table. The URL for userRanking is http://services.runescape.com/c=0/m=hiscore/userRanking.json where /c=0/ needs to be the current session of the player to view their overall rank.

Variable Description Data type
userRank The player's overall rank string
displayName The player's name string

Hiscores Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Ironman Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore_ironman/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Hardcore Ironman Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore_hardcore_ironman/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Seasonal

getRankings

getRankings returns the player's current or previous scores in one or more Seasonal HiScores. The URL for getRankings is http://services.runescape.com/m=temp-hiscores/getRankings.json?player=X where X is the player's name. It can also be used to view previous scores for past seasonals with the URL http://services.runescape.com/m=temp-hiscores/getRankings.json?player=X&status=archived.

Variable Description Data type
startDate The seasonal start date string
endDate The seasonal end date string
rank The player's rank int
title The title of the seasonal string
score_formatted The player's score int
score_raw The player's raw score int
hiscoreId The id of the seasonal int

getHiscoreDetails

getHiscoreDetails returns the current or previous Seasonal events. The URL for getHiscoreDetails is http://services.runescape.com/m=temp-hiscores/getHiscoreDetails.json and http://services.runescape.com/m=temp-hiscores/getHiscoreDetails.json?status=archived for previous events.

Variable Description Data type
startDate The seasonal start date string
endDate The seasonal end date string
daysRunning The number of days the seasonal is on for int
monthsRunning The number of months the seasonal is on for int
recurrence The number of times the seasonal has ran for int
title The title of the seasonal string
name The literal name of the seasonal string
description The description of the seasonal string
status The current status of the seasonal string
type The length of the seasonal string
id The id of the seasonal int

Clans

clanRanking

clanRanking returns the top three clans. The URL for clanRanking is http://services.runescape.com/m=clan-hiscores/clanRanking.json.

Variable Description Data type
rank The rank of the clan int
clan_name The name of the clan string
clan_mates The number of players in the clan int
xp_total The total experience of the clan int

userClanRanking

userClanRanking returns the current logged in player's clan and the rank of the clan. The URL for userClanRanking is http://services.runescape.com/c=0/m=clan-hiscores/userClanRanking.json where /c=0/ needs to be the current session of the player to view their clan's rank.

Variable Description Data type
displayName The player's name string
clanName The clan's name string
clanRank The clan's rank int

Clan Members Lite

members_lite.ws returns a CSV file with a list of clan members, their rank in the clan, their total experience and total kills. The URL for members_lite.ws is http://services.runescape.com/m=clan-hiscores/members_lite.ws?clanName=X where X is the name of the clan. The list is sorted by clan ranking starting with Owner and ending with Recruit.

Old School Hiscores

Hiscores Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Ironman Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore_oldschool_ironman/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Ultimate Ironman Lite

index_lite returns a player's rank, level and experience or score in an activity. The URL for index_lite is http://services.runescape.com/m=hiscore_oldschool_ultimate/index_lite.ws?player=X where X is the player's name.

Variable Description Data type
rank The player's rank in a skill or activity int
level The player's level in a skill int
experience The player's experience or score int

Solomon's General Store

Solomon's General Store's configuration API lists every past, current and upcoming items for the store. The URL for the configuration query is https://secure.runescape.com/m=mtxn_rs_shop/api/config?context%5B0%5D=0 where context[0]=0 allows players to view the media in the store. It is unsorted without help from secondary programs such as Google Chrome's developer tools to organize the list.

The version number in the API represents the last time the store was updated in milliseconds since 1 January 1970. There are several other API's that the store uses, however as they require players to be logged in to the RuneScape site.

Variable Description Data type
_type The type of action that the store uses to view the object string
version The latest update in milliseconds since 1 January 1970 int
url The list of links that the store uses [string...] (array of strings)
phrasebook Similar to MediaWiki's i18n pages [string...] (array of strings)
media The list of objects that appear in the store [string...] (array of strings)
number The id number that the store uses to show the object int
imageUrl The image link to display the icon or a gallery image string
posterUrl The image link to display a still image if MP4 is unsupported string
videoUrl The video link to display the MP4 of an item in the store string

Website Data

Website data can provide information on a player's friends, their titles and what clan they are in.

playerDetails

playerDetails returns multiple players' titles, their clan, their name and if the clan they are in is recruiting. The URL for playerDetails is http://services.runescape.com/m=website-data/playerDetails.ws?names=%5B%22X%22%5D&callback=jQuery000000000000000_0000000000&_=0 where X is the first players name and addition names can be provided by using a comma after X and surrounding them with quotes inside the brackets.

If the request is performed as a JSONP object on the RuneScape site, it can give the world the player is on if the online status is true.

$.ajax({
  url:"http://services.runescape.com/m=website-data/playerDetails.ws?names=[%22Name%22]",
  dataType: "jsonp"
});
Variable Description Data type
isSuffix Determines if the player title is before the name boolean
title The player's title string
clan The clan's name string
name The player's name string
recruiting If the clan is recruiting players boolean
world The world or lobby a player is in string
online Determines if the player is online boolean

playerFriendsDetails

playerFriendsDetails returns the logged-in player's own friends list. The URL for playerFriendsDetails is http://services.runescape.com/c=0/m=website-data/playerFriendsDetails.json?resultsPerPage=24&currentPage=1&callback=jQuery000000000000000_0000000000&_=0 where you must be logged in to view, the max results per request is 24 and the current page shows up to 24 players. It cannot be viewed as a web page. Depending on in-game settings, even when a player is online they might not appear to be online if Private is set to off.

Variable Description Data type
allFriends Shows the total number of players a friend has int
friends The player's title [string...] (array of strings)
number Friends list sorted by most recently online int
status Shows if a player is online or offline string
name The player's name string
world The world or lobby a player is in string
offline The amount of friends offline int
online The amount of friends online int
pageFriends The amount of friends on the page int
resultsPerPage The amount of results per page int
totalPages The total pages the friends list span int

avatardetails

avatardetails returns a player's item information worn when taking a picture at the Photo booth for their Adventurer's Log. The URL for avatardetails is http://services.runescape.com/m=adventurers-log/avatardetails.json?details=X where X is the content of the appearance.dat for the player being viewed. The URL for appearance.dat is http://services.runescape.com/m=avatar-rs/X/appearance.dat where X is the player's name.

NPCs

Using appearance.dat, players can view the appearances of Jagex Moderators and other players easily. It allows anyone to see any monster, override, equipable items and the item information as an indirect item API. Strings are in the form of bits from 0 to 63 where the order is A-Z, a-z, 0-9, then - and *.

When an NPC is viewed, there is no information in avatardetails.json and the animation for the NPC. In a javascript console, players can view any NPC that is in the game with:

Module.avatar.module.ccall("SetAppearance", "void", ["string"], ["AP--AAA-----------------"]);

Where AAA is the NPC ID starting at 0 (Hans) and the next NPC starting at AAE as each NPC takes up four bits. The seventeen dashes following the ID are necessary to prevent from getting bad request messages in their console.

In a javascript console, when clicking on 'Idle' does not work, players can fix the animation of any NPC by using:

Module.avatar.SetAnimID(0)

Where 0 is the default structure of every NPC. It can sometimes be substituted for the animation IDs for that NPC if they are shown in their bestiary entry. Players might have to re-enter the SetAppearance string again to correct any issues.

Players

In a javascript console, players can view any other player with:

avatarViewer.avatarChange("X")

Where X is the other players' character name. This allows a player to view Jagex Moderators and other players that have privacy settings activated. Regardless of privacy settings, along with the full character image and chathead for the forums, the appearance.dat file is always viewable.

Each string can be changed to show equipable items that were not worn during the usage of the Photo Booth. The only way to use a custom string is in a javascript console by using:

Module.avatar.module.ccall("SetAppearance", "void", ["string"], ["AAAAAAABcgABHAEmAWEBIgEqA*SzIwAAAAAAABAQyAAAAAAAAAAAAAAAAAAAAAAKiwAAAA"]);

Where the string of letters and numbers can be modified to show different hair styles, default clothing, and worn items.

The only item worn in this string is an aura, Daemonheim aura 4, noted by the string zIw. Not all strings are four letters and numbers as many are three letters and numbers. It changes the more items that are visible and whether or not they are recolourable can add complexity to the string.

Variable Description Data type
leftAnims List of animations [string...] (array of strings)
rightAnims List of animations [string...] (array of strings)
attackAnim Attack animation int
attackAnimLegacy Legacy attack animation int
attackAnimOverride Attack animation override int
attackAnimOverrideLegacy Legacy attack animation override int
defendAnim Defence animation int
defendAnimLegacy Legacy defence animation int
defendAnimOverride Defence animation override int
worn Lists the worn items [string...] (array of strings)
desc Item examine string
members If the item is a member's only item boolean
name Item name string
tradeable If the item is tradeable boolean
weight The weight of the item int
magicAttack Magic accuracy int
meleeAttack Melee accuracy int
rangedAttack Ranged accuracy int
meleeStrength Melee damage int
magicDefence Defence against magic int
meleeDefence Defence against melee int
rangedDefence Defence against ranged int
playerArmour The armour value int
combatAppearance - string
combatBas Lists basID for EoC and Legacy [string...] (array of strings)
basID - int
basIDLegacy - int
ID No. Worn Slot
0 Head
1 Cape
2 Neck
3 Main-hand (unsheathed)
4 Body
5 Off-hand (unsheathed)
6 Two-handed (unsheathed)
7 Legwear
8 N/A
9 Hands
10 Feet
11 N/A
12 Ring
13 Ammunition
14 Aura
15 Main-hand (sheathed)
16 Off-hand (sheathed)
17 Pocket
18 Wings

Runemetrics

Since Runemetrics is an Angular application, it uses public end-points to grab it's data from the server. This opens up the possibility to directly pull data from said end-points in your own application.

Since these end-points are not official API URL's, they don't seem to have the strict request throttling that the regular API has.

Profile

/profile returns a player's Runemetrics profile data. This includes name, total experience, skill levels, combat experience and activity. The URL is https://apps.runescape.com/runemetrics/profile/profile?user=X&activities=20 where X is the player's name.

Variable Description Data type
name The player's name string
rank The player's overall rank string
totalskill The player's total skill level string
totalxp The player's total experience string
combatlevel The player's combat level string
magic The player's magic experience string
melee The player's melee experience string
ranged The player's ranged experience string
questsstarted The amount of quests the player has started string
questscomplete The amount of quests the player has completed string
questsnotstarted The amount of quests the player has not started string
activities The player's last 20 activity logs array
skillvalues The player's level, experience and rank in each skill array
loggedIn Determines if the player is online boolean

Quest

/quests returns a player's quest data. This includes a list of all quests, their completion status, difficulty and quest point reward. The URL is https://apps.runescape.com/runemetrics/quests?user=X where X is the player's name

The response is an array of Objects. Each object has the following structure

Variable Description Data type
title The quest's title string
status The completion status of this quest for the player string
difficulty The quest's difficulty integer
members Determines if a quest is members content boolean
questPoints Amount of quest points it rewards integer
userEligible Determines if the player is eligible to start this quest boolean

Other

player_count

player_count returns the number of players currently online in RuneScape, Old School RuneScape, and RuneScape Classic. The URL for player_count is http://www.runescape.com/player_count.js?varname=iPlayerCount&callback=jQuery000000000000000_0000000000&_=0 where the varname is always iPlayerCount.

rsusertotal

rsusertotal returns the current amount of accounts created that can access any form of RuneScape. This includes accounts made on FunOrb or a particular version of RuneScape. The URL for rsusertotal is http://services.runescape.com/m=account-creation-reports/rsusertotal.ws?callback=jQuery000000000000000_0000000000&_=0.

NXT

changelog returns the latest changes to the NXT client. The URL for changelog is http://content.runescape.com/downloads/changelog.json.

There is also the JSON for the OSX and Windows installers detailing the current size of the installer and the cycling redundancy check code.

Advertisement