Runescape API

Application programming interface

https://runescape.fandom.com/wiki/Application_programming_interface

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

Contents

[show]

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=Xwhere 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}]}


VariableDescriptionData type

letter

The first letter of an item

string
items

The number of items

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"}]}


VariableDescriptionData 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

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%"}}}


VariableDescriptionData 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}}


VariableDescriptionData 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 https://secure.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"}]


VariableDescriptionData 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 https://secure.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.

VariableDescriptionData 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 https://secure.runescape.com/m=hiscore/index_lite.ws?player=X where X is the player's name.

VariableDescriptionData 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 https://secure.runescape.com/m=hiscore_ironman/index_lite.ws?player=X where X is the player's name.

VariableDescriptionData 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 https://secure.runescape.com/m=hiscore_hardcore_ironman/index_lite.ws?player=X where X is the player's name.

VariableDescriptionData 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.

VariableDescriptionData 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.

VariableDescriptionData 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.

VariableDescriptionData 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.

VariableDescriptionData type

displayName

The player's name

string
clanName

The clan's name

string
clanRank

The clan's rank

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.

VariableDescriptionData 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.

VariableDescriptionData 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.

VariableDescriptionData 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.

VariableDescriptionData 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"
});

VariableDescriptionData 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.

VariableDescriptionData 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 (deprecated)

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.

Can also bring up the avatar picture by using http://secure.runescape.com/m=avatar-rs/X/chat.png where X is the player's name. Use %20 for players names with spaces.

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.

VariableDescriptionData 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

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 endpoints to grab its data from the server. This opens up the possibility to directly pull data from said endpoints in your own application.

Since these endpoints 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.

VariableDescriptionData type

name

The player's name

string
rank

The player's overall rank

string
totalskill

The player's total skill level

int
totalxp

The player's total experience

int
combatlevel

The player's combat level

int
magic

The player's magic experience

int
melee

The player's melee experience

int
ranged

The player's ranged experience

int
questsstarted

The amount of quests the player has started

int
questscomplete

The amount of quests the player has completed

int
questsnotstarted

The amount of quests the player has not started

int
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

Monthly xp

/xp-monthly returns the monthly exp gains for the specified player and skill. This data includes the amount of exp gotten in the last 12 months, the average exp for the selected skill, the total amount of exp gained within the last 12 months and the total exp in the selected skill. The URL ishttps://apps.runescape.com/runemetrics/xp-monthly?searchName=X&skillid=Y where X is the player's name and Y is the id of the skill.

The response contains the object monthlyXpGain which will be explained below and a boolean for loggedIn which is only present when not signed in to Runemetrics (This does not indicate whether a player is online or not).

VariableDescriptionData type

averageXpGain

The average xp gotten over a period of 12 months

int
monthlyData

The xp that was achieved each month

array
skillId

The id of the skill

int
totalGain

The total amount of exp earned within the last 12 months

int
totalXp

The total amount of exp earned

int

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

VariableDescriptionData 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 (deprecated)

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.









Text Only

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


Contents

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.


The URL for obj_big queries is http://services.runescape.com/m=itemdb_rs/obj_big.gif?id=X where X is the ItemID.

The URL for obj_sprite queries is http://services.runescape.com/m=itemdb_rs/obj_sprite.gif?id=X where X is the ItemID.

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 https://secure.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 https://secure.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 https://secure.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 https://secure.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 https://secure.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 (deprecated)

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.


Can also bring up the avatar picture by using http://secure.runescape.com/m=avatar-rs/X/chat.png where X is the player's name. Use %20 for players names with spaces.


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

9 Hands

10 Feet

11

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 endpoints to grab its data from the server. This opens up the possibility to directly pull data from said endpoints in your own application.


Since these endpoints 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 int

totalxp The player's total experience int

combatlevel The player's combat level int

magic The player's magic experience int

melee The player's melee experience int

ranged The player's ranged experience int

questsstarted The amount of quests the player has started int

questscomplete The amount of quests the player has completed int

questsnotstarted The amount of quests the player has not started int

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

Monthly xp

/xp-monthly returns the monthly exp gains for the specified player and skill. This data includes the amount of exp gotten in the last 12 months, the average exp for the selected skill, the total amount of exp gained within the last 12 months and the total exp in the selected skill. The URL is https://apps.runescape.com/runemetrics/xp-monthly?searchName=X&skillid=Y where X is the player's name and Y is the id of the skill.


The response contains the object monthlyXpGain which will be explained below and a boolean for loggedIn which is only present when not signed in to Runemetrics (This does not indicate whether a player is online or not).


Variable Description Data type

averageXpGain The average xp gotten over a period of 12 months int

monthlyData The xp that was achieved each month array

skillId The id of the skill int

totalGain The total amount of exp earned within the last 12 months int

totalXp The total amount of exp earned int

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 (deprecated)

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.


http://content.runescape.com/downloads-info/windows/RuneScape-Setup.exe.json

http://content.runescape.com/downloads-info/osx/RuneScape.dmg.json