RuneScape Wiki

Community Powered

Bestiary APIs

These APIs return JSON strings. For more information, particularly about using this information in a gadget, see 278-279-312-64548325.

Beast Data

../../m=itemdb_rs/bestiary/beastData.json?beastid=49

  • This returns the details of this particular NPC from its ID as a JSON string. In this case, 49 is a Hellhound.
  • For example with a beast ID of
    49
    as above the string will be:

    {"animations":{"death":6576,"attack":6562},"slayercat":"Hellhounds","xp":"361.5","size":2,
    "lifepoints":3300,"weakness":"Slashing","id":49,"poisonous":false,"magic":1,"attackable":true,
    "level":132,"defence":66,"description":"Hello, nice doggy...","name":"Hellhound","ranged":1,
    "areas":["RuneScape Surface","Taverley Dungeon","Wilderness Dungeons",
    "Ardougne Underground","Ancient cavern"],"attack":66,"aggressive":false,"members":false}
    

The details are as follows:

  • name = (string) the name of the beast
  • id = (int) the beast's ID
  • description = (string) the Examine description for the beast
  • weakness = (string) the beast's specific weakness
  • attackable = (bool) true if the beast is attackable; false otherwise
  • aggressive = (bool) true if the beast is aggressive; false otherwise
  • poisonous = (bool) true if the beast is poisonous; false otherwise
  • xp = (string) the base xp for the beast
  • lifepoints = (int) the amount of lifepoints for the beast
  • level = (int) the combat level for the beast
  • defence = (int) the defence level for the beast
  • attack = (int) the attack level for the beast
  • magic = (int) the magic level for the beast
  • ranged = (int) the range level for the beast
  • slayerlevel = (int) the slayer level required to kill this beast, this value can be omitted
  • size = the size of the beast
  • members = (bool) true if the best is members only; false otherwise
  • slayercat = (string) the slayer category that the beast belongs to
    • ie: grotworm, ganodermic
  • areas = a group of locations the beast is found in
    • [ LocationName (string), ... , LocationName (string) ]
    • - ie: [RuneScape Surface,Dwarven Mines]
  • animations = the different 3D animations available for the beast
    • { AnimationName (string) : AnimationID (int), ... ,AnimationName (string) : AnimationID (int) }
    • - ie: {"death":12793,"attack":12791}

Searching Names

In order to get the details on a beast, you will need to know the ID of that specific beast. There are a number of ways you can obtain the ID of a beast. One method is to use the search API:

../../m=itemdb_rs/bestiary/beastSearch.json?term=sheep+cow ( searches all beast names for the terms "sheep" and "cow" )

Search results are returned in a json string.

  • This returns the details of all NPCs that match the search terms as a JSON string.
  • For example with search terms of
    sheep+cow
    as above the string will be:

    [{"value":42,"label":"Sheep"},{"value":43,"label":"Sheep"},{"value":81,"label":"Cow (6)"},
    {"value":397,"label":"Cow (6)"},{"value":1763,"label":"Sheep"},{"value":1767,"label":"Cow (6)"},
    {"value":3579,"label":"Sheep"},{"value":5162,"label":"Sheep"},{"value":5163,"label":"Sheep"},
    {"value":1271,"label":"Golden sheep"},{"value":1272,"label":"Golden sheep"},
    {"value":1691,"label":"Undead cow (6)"},{"value":1998,"label":"Plague cow"},
    {"value":1999,"label":"Plague cow"},{"value":2310,"label":"Cow calf (4)"},
    {"value":2311,"label":"Sheepdog"},{"value":5172,"label":"Golden sheep"},
    {"value":5173,"label":"Golden sheep"},{"value":5603,"label":"Unicow (82)"},
    {"value":5986,"label":"Armoured cow thing (96)"},{"value":6048,"label":"Armoured cow thing (96)"},
    {"value":1886,"label":"Cowardly Bandit"},{"value":5097,"label":"Coward in armour (120)"},
    {"value":6049,"label":"Coward with bow (150)"}]
    

The "value" in each item group represents the beast's ID, and the "label" represents the name of the beast.

Beasts A to Z

You can obtain various lists of beasts and their ID using different API requests, such as the A to Z interface:

../../m=itemdb_rs/bestiary/bestiaryNames.json?letter=Y ( Searches for all beast names that start with the letter "Y" )

  • This returns the details of all NPCs that begin with the letter stated as a JSON string.
  • For example with the letter
    Y
    as above the string will be:

    [{"value":5529,"label":"Yak (60)"},{"value":2102,"label":"Yellow Fortune Director"},
    {"value":2093,"label":"Yellow Fortune Secretary"},
    {"value":11872,"label":"Yk'Lagor the Thunderous (140)"},{"value":5803,"label":"Young 'un"},
    {"value":15461,"label":"Young grotworm (40)"}]
    

The "value" in each item group represents the beast's ID, and the "label" represents the name of the beast.

Beasts by Area

You can obtain beast names and ID's for specific areas by using the Areas API interfaces. There are two interfaces required for this, one to obtain the list of area names, and one to obtain the list of beasts in that area.

areaNames

To get a list of areas names, call areaNames (you don't need to add any search terms or IDs):

../../m=itemdb_rs/bestiary/bestiary/areaNames.json

  • This returns the details of all areas listed in the Bestiary as a JSON string.
  • For the link above the string will be:

    ["Ancient cavern","Ardougne Underground","Asgarnia Ice Dungeon","Braindeath Island","Chaos Tunnels",
    "Dorgesh-Kaan","Dwarven Mines","Fremennik Slayer Dungeon","God Wars Dungeon","Jadinko Lair",
    "Kalphite Hive","Karamja Underground","Keldagrim","Lair of Tarn Razorlor","Lava Flow Mine",
    "Living Rock Caverns","Miscellania Underground","Misthalin Underground","Mole Hole",
    "Morytania Underground","Mos Le'Harmless Cave","Ourania Altar","Pollnivneach Slayer Dungeon",
    "RuneScape Surface","Spirit Plane","Stronghold of Player Safety","Stronghold of Security",
    "Taverley Dungeon","Tolna's Rift","Troll Stronghold","Waterbirth Island Dungeon",
    "White Wolf Mountain Underground","Wilderness Dungeons","Yanille Dungeon","Zanaris"]
    

Each entry consists of the name of the area.

Once you have a list of area names, you can then use the areaBeasts interface to obtain a list of beasts in that area.

areaBeasts

To get a list of beasts by areas, call areaBeasts:

../../m=itemdb_rs/bestiary/areaBeasts.json?identifier=Mole+Hole ( Searches for all beasts that are in the area "Mole Hole" )

  • This returns the details of all beasts in the area listed as a JSON string.
  • For example with the area
    Mole Hole
    as above the string will be:

    [{"value":3341,"label":"Baby Mole"},{"value":3340,"label":"Giant Mole (110)"}]
    

The "value" in each item group represents the beast's ID, and the "label" represents the name of the beast.

Beasts by Slayer Category

You can obtain beast names and ID's for specific categories by using the SlayerCat API interfaces. You'll first need a list of the Slayer categories.

slayerCatNames

To get a list of slayer categories, call slayerCatNames (you don't need to add any search terms or IDs):

../../m=itemdb_rs/bestiary/bestiary/slayerCatNames.json

  • This returns the details of all slayer categories listed in the Bestiary as a JSON string.
  • For the link above the string will be:

    {"Aberrant spectres":41,"Abyssal demons":42,"Ankou":79,"Aquanites":95,"Banshees":38,"Basilisks":43,
    "Bats":8,"Bears":13,"Birds":5,"Black demons":30,"Black dragons":27,"Bloodveld":48,"Blue dragons":25,
    "Brine rats":84,"Bronze dragons":58,"Catablepon":78,"Cave bugs":63,"Cave crawlers":37,
    "Cave horrors":80,"Cave slimes":62,"Cockatrice":44,"Cows":6,"Crawling hands":39,"Crocodiles":65,
    "Cyclopes":108,"Dagannoth":35,"Dark beasts":66,"Desert lizards":68,"Desert strykewyrms":104,
    "Dogs":22,"Dust devils":49,"Dwarves":57,"Earth warriors":54,"Elves":56,"Fever spiders":69,
    "Fire giants":16,"Fleshcrawlers":77,"Fungal magi":99,"Ganodermic creatures":96,"Gargoyles":46,
    "Gelatinous Abominations":111,"Ghosts":12,"Ghouls":23,"Goblins":2,"Goraks":82,"Greater demons":29,
    "Green dragons":24,"Grifolapines":97,"Grifolaroos":98,"Grotworms":112,"Harpie bug swarms":70,
    "Hellhounds":31,"Hill giants":14,"Hobgoblins":21,"Ice giants":15,"Ice strykewyrms":105,
    "Ice warriors":19,"Icefiends":75,"Infernal mages":40,"Iron dragons":59,"Jellies":50,"Jungle horrors":81,
    "Jungle strykewyrms":103,"Kalphite":53,"Killerwatts":73,"Kurask":45,"Lesser demons":28,
    "Living rock creatures":106,"Minotaurs":76,"Mithril dragons":94,"Mogres":67,"Molanisks":87,"Monkeys":1,
    "Moss giants":17,"Mutated jadinkos":109,"Mutated zygomites":74,"Nechryael":52,"Ogres":20,
    "Otherworldly beings":55,"Polypore creatures":100,"Pyrefiends":47,"Rats":3,"Red dragons":26,
    "Rockslugs":51,"Scabarites":85,"Scorpions":7,"Sea snakes":71,"Shades":64,"Shadow warriors":32,
    "Skeletal wyverns":72,"Skeletons":11,"Spiders":4,"Spiritual mages":91,"Spiritual rangers":90,
    "Spiritual warriors":89,"Steel dragons":60,"Suqahs":83,"Terror dogs":86,"Trolls":18,"Turoth":36,
    "TzHaar":101,"Vampyres":34,"Volcanic creatures":102,"Vyrewatch":110,"Wall beasts":61,
    "Warped terrorbirds":93,"Warped tortoises":92,"Waterfiends":88,"Werewolves":33,"Wolves":9,"Zombies":10}
    

Each group consists of the name of the category, and the category ID.

Once you have a list of slayer categories, you can then use the slayerBeasts interface to obtain a list of beasts.

slayerBeasts

To get a list of beasts by slayer category, call slayerBeasts:

../../m=itemdb_rs/bestiary/slayerBeasts.json?identifier=96 ( Searches for all beasts that are in the slayer category "96" )

  • This returns the details of all beasts in the slayer category listed as a JSON string.
  • For example with the slayer category ID of
    96
    as above the string will be:

    [{"value":14696,"label":"Ganodermic beast (160)"},{"value":14697,"label":"Ganodermic beast (135)"},{"value":14698,"label":"Ganodermic runt (160)"},{"value":14699,"label":"Ganodermic runt (150)"}]
    

The "value" in each item group represents the beast's ID, and the "label" represents the name of the beast.

Beasts by Weakness

You can obtain beast names and ID's that have specific weaknesses using the Weakness API interfaces. There are two interfaces for this, one to obtain the list of weakness categories, and one to obtain the list of beasts with that specific weakness.

weaknessNames

To get a list of the weakness names, call the weaknessNames interface (you don't need to add any search terms or IDs):

../../m=itemdb_rs/bestiary/bestiary/weaknessNames.json

  • This returns the details of all weaknesses listed in the Bestiary as a JSON string.
  • For the link above the string will be:

    {"Air":1,"Arrow":8,"Bolt":9,"Crushing":7,"Earth":3,"Fire":4,"None":0,"Slashing":6,"Stabbing":5,
    "Thrown":10,"Water":2}
    

Each group consists of the name of the category, and the category ID.

Once you have a list of weakness categories, you can then use the weaknessBeasts interface to obtain a list of beasts in that category.

weaknessBeasts

To get a list of beasts by weakness, call weaknessBeasts:

../../m=itemdb_rs/bestiary/weaknessBeasts.json?identifier=10 ( Searches for all beasts that have the weakness "10" )

  • This returns the details of all beasts that have that weakness listed as a JSON string.
  • For example with the weakness ID of
    10
    as above the string will be:

    [{"value":1604,"label":"Aberrant spectre (104)"},{"value":16692,"label":"Bandosian ork (98)"},
    {"value":9612,"label":"Corpse mage (30)"},{"value":9613,"label":"Corpse mage (30)"},
    {"value":9614,"label":"Corpse mage (30)"},{"value":9615,"label":"Corpse mage (30)"},
    {"value":9616,"label":"Corpse mage (30)"},{"value":9617,"label":"Corpse mage (30)"},
    {"value":9618,"label":"Corpse mage (30)"},{"value":9619,"label":"Corpse mage (30)"},
    {"value":9620,"label":"Corpse mage (30)"},{"value":9621,"label":"Corpse mage (30)"},
    {"value":3497,"label":"Gelatinnoth Mother (130)"},{"value":103,"label":"Ghost (36)"},
    {"value":104,"label":"Ghost (36)"},{"value":4388,"label":"Ghost (60)"},
    {"value":5342,"label":"Ghost (36)"},{"value":5344,"label":"Ghost (36)"},
    {"value":5345,"label":"Ghost (36)"},{"value":5347,"label":"Ghost (36)"},
    {"value":5348,"label":"Ghost (36)"},{"value":3816,"label":"Gnome Mage (68)"},
    {"value":8567,"label":"Greater reborn mage (118)"},{"value":16689,"label":"Guthixian moss giant (98)"},
    {"value":15210,"label":"Har-Aken (Magic Tentacle) (152)"},{"value":7714,"label":"Icefiend (50)"},
    {"value":7715,"label":"Icefiend (50)"},{"value":3064,"label":"Lesser Demon Champion (162)"},
    {"value":8565,"label":"Lesser reborn mage (98)"},{"value":8348,"label":"Local mage (24)"},
    {"value":222,"label":"Monk (20)"},{"value":188,"label":"Monk of Zamorak (62)"},
    {"value":189,"label":"Monk of Zamorak (66)"},{"value":190,"label":"Monk of Zamorak (78)"},
    {"value":6471,"label":"Mosschin (44)"},{"value":194,"label":"Necromancer (56)"},
    {"value":126,"label":"Otherworldly being (90)"},{"value":6472,"label":"Redeyes (52)"},
    {"value":16690,"label":"Saradominist knight (98)"},{"value":5385,"label":"Skeleton (114)"},
    {"value":6473,"label":"Strongbones (52)"},{"value":3752,"label":"Torcher (54)"},
    {"value":4810,"label":"Vyrelady (140)"},{"value":4811,"label":"Vyrelady (140)"},
    {"value":4812,"label":"Vyrelady (140)"},{"value":4821,"label":"Vyrelady (140)"},
    {"value":4822,"label":"Vyrelord (140)"},{"value":4823,"label":"Vyrelord (140)"},
    {"value":4824,"label":"Vyrelord (140)"},{"value":4845,"label":"Vyrelord (140)"},
    {"value":6367,"label":"Zamorak mage (98)"},{"value":6368,"label":"Zamorak mage (98)"},
    {"value":16691,"label":"Zamorakian werewolf (98)"}]
    

The "value" in each item group represents the beast's ID, and the "label" represents the name of the beast.

Beasts by Level

You can obtain beast names and ID's that are within specific levels by using the levelGroup API interface:

../../m=itemdb_rs/bestiary/levelGroup.json?identifier=200-300 ( Searches for all beasts that are between the levels "200-300" )

  • This returns the details of all beasts that have the levels listed as a JSON string.
  • For example with the level group of
    200-300
    as above the string will be:

    [{"value":1158,"label":"Kalphite Queen (200)"},{"value":1160,"label":"Kalphite Queen (200)"},
    {"value":16707,"label":"Exiled Kalphite Queen (200)"},
    {"value":16708,"label":"Exiled Kalphite Queen (200)"},{"value":16732,"label":"Demon boss (200)"},
    {"value":10532,"label":"Forgotten warrior (202)"},{"value":10533,"label":"Forgotten warrior (202)"},
    {"value":10534,"label":"Forgotten warrior (202)"},{"value":10535,"label":"Forgotten warrior (202)"},
    {"value":6203,"label":"K'ril Tsutsaroth (210)"},{"value":6222,"label":"Kree'arra (210)"},
    {"value":6247,"label":"Commander Zilyana (210)"},{"value":6260,"label":"General Graardor (210)"},
    {"value":8133,"label":"Corporeal Beast (210)"},{"value":13447,"label":"Nex (220)"},
    {"value":15454,"label":"Queen Black Dragon (220)"},{"value":15506,"label":"Queen Black Dragon (220)"},
    {"value":15507,"label":"Queen Black Dragon (220)"},{"value":16697,"label":"Kalphite King (230)"},
    {"value":12491,"label":"World-gorger Shukarhazh (258)"},{"value":3334,"label":"WildyWyrm (300)"}]
    

Report a wiki page

If you have identified content on the wiki that breaches the wiki policies or RuneScape rules it is possible for you to resolve this by editing/updating the content.

However if you feel that a user has seriously breached our rules or editing policy and this requires urgent attention from a member of staff, then please specify the issue from the below categories: