Bestiary
Usage
from rs3_api import Bestiary
bestiary = Bestiary()
Functions
get_beast(id: int)
Retrieve a beasts information by id
Parameter
Type
id
int
response = bestiary.get_beast(89)
print(response)
{
"magic": 11,
"defence": 11,
"level": 15,
"description": "Horse with a horn.",
"areas": [
"RuneScape Surface"
],
"poisonous": false,
"weakness": "Arrow",
"size": 2,
"ranged": 1,
"attack": 1,
"members": false,
"animations": {
"death": 6377,
"attack": 6376
},
"name": "Unicorn",
"xp": "32.1",
"lifepoints": 550,
"id": 89,
"aggressive": false,
"attackable": true
}
get_beast_by_term(term: str)
Look up every occurrence of a term in the bestiary
Parameter
Type
term
str
response = bestiary.get_beast_by_term("cow")
# Look up more than one term by separating with + e.g "cow+rabbit"
print(response)
[
{
'label': 'Cow (4)',
'value': 81
},
{
'label': 'Cow (4)',
'value': 397
},
{
'label': 'Cow (1)',
'value': 3309
},
{
'label': 'Cow (1)',
'value': 14999
},
{
'label': 'Cow (4)',
'value': 20969
},
{
'label': 'Cow (4)',
'value': 20970
},
{
'label': 'Cow (4)',
'value': 20971
},
{
'label': 'Cow (4)',
'value': 20974
},
{
'label': 'Cowardly Bandit',
'value': 1886
},
# ... 15+ more items
]
get_beast_by_first_letter(letter: str)
Look up every monster which starts with a certain letter
Parameter
Type
letter
str
response = bestiary.get_beast_by_first_letter("C")
print(response)
[
{
'label': 'Cabbage',
'value': 22836
},
{
'label': 'Cabbage archer (0)',
'value': 21455
},
{
'label': 'Cabbagemancer (105)',
'value': 25157
},
{
'label': 'Cabbageomancer (0)',
'value': 21456
},
{
'label': 'Cabin boy',
'value': 4539
},
{
'label': 'Cadarn herald',
'value': 19857
},
{
'npcs': [
{
'label': 'Cadarn magus (122)',
'value': 19818
},
{
'label': 'Cadarn magus (122)',
'value': 19820
}
],
'dupe': 'Cadarn magus'
},
{
'label': 'Cadarn musician',
'value': 20303
}
# ...200+ more items
]
get_areas()
List of all areas in the bestiary
response = bestiary.get_areas()
print(response)
[
'Agility Pyramid',
'Agility course pit',
'Air Rune Temple',
'Aminishi Dungeon',
'Ancient cavern',
'Ape Atoll',
'Ape Atoll tunnels',
'Ardougne underground',
"Armadyl's Citadel",
'Arposandran underground',
'Arzinian Gold Mine',
'Ascension Dungeon',
'Asgarnian Ice Dungeon',
# 200+ more items
]
get_beasts_by_area(area: str)
Look up all beasts the searched area
Parameter
Type
area
str
response = bestiary.get_beasts_by_area("The Abyss")
print(response)
# value is the beasts Id
[
{
'label': 'Abyssal demon (98)',
'value': 1615
},
{
'label': 'Abyssal guardian (79)',
'value': 2264
},
{
'label': 'Abyssal leech (72)',
'value': 2263
},
{
'label': 'Abyssal walker (77)',
'value': 2265
},
{
'label': 'Dark mage',
'value': 2262
}
]
get_slayer_categories()
Get all slayer categories and their Id
response = bestiary.get_slayer_categories()
print(response)
{
'Aberrant spectres': 41,
'Abyssal demons': 42,
'Acheron mammoths': 133,
'Adamant dragons': 127,
'Airut': 117,
'Ankou': 79,
'Aquanites': 95,
'Ascension members': 115,
'Aviansies': 114,
'Banshees': 38,
'Basilisks': 43,
'Bats': 8,
'Bears': 13,
'Birds': 5,
'Black demons': 30,
'Black dragons': 27,
'Bloodveld': 48,
'Blue dragons': 25,
}
get_slayer_beasts_by_category_id(id: int)
Get a list of all slayer beast by category Id
Parameter
Type
id
int
response = bestiary.get_slayer_beasts_by_category_id(25)
print(response)
[
{
'label': 'Capsarius (105)',
'value': 17146
},
{
'label': 'Gladius (91)',
'value': 17145
},
{
'label': 'Legio Primus (304)',
'value': 17149
},
{
'label': 'Legio Quartus (304)',
'value': 17152
},
{
'label': 'Legio Quintus (304)',
'value': 17153
},
{
'label': 'Legio Secundus (304)',
'value': 17150
},
{
'label': 'Legio Sextus (304)',
'value': 17154
},
{
'label': 'Legio Tertius (304)',
'value': 17151
},
{
'label': 'Rorarius (84)',
'value': 17144
},
{
'label': 'Scutarius (105)',
'value': 17147
}
]
get_weakness_names()
Get all weaknesses
response = bestiary.get_weakness_names()
print(response)
{
'Air': 1,
'Arrow': 8,
'Bolt': 9,
'Crushing': 7,
'Earth': 3,
'Fire': 4,
'None': 0,
'Slashing': 6,
'Stabbing': 5,
'Thrown': 10,
'Water': 2
}
get_beasts_by_weakness_id(id: int)
Get all beasts that have a certain weakness
Parameter
Type
id
int
response = bestiary.get_beasts_by_weakness_id(1)
print(response)
[
{
'label': 'Adamant dragon (116)',
'value': 21135
},
{
'label': 'Afflicted (60)',
'value': 1257
},
{
'label': 'Afflicted (61)',
'value': 1258
},
{
'label': 'Afflicted (63)',
'value': 1261
},
{
'label': 'Afflicted (64)',
'value': 1262
},
{
'label': 'Anagami (124)',
'value': 23073
},
{
'label': 'Angry barbarian spirit (106)',
'value': 749
},
{
'label': 'Animated pickaxe (5)',
'value': 10168
},
# ... 200+ more items
]
get_beasts_by_level_group(level_from: int, level_to: int)
Get all beasts between a certain level group
Parameters
Type
level_from
int
level_to
int
response = bestiary.get_beasts_by_level_group(140, 150)
# Both arguments are inclusive
print(response)
[
{
'label': 'Vanstrom Klause (140)',
'value': 14176
},
{
'label': 'Vanstrom Klause (140)',
'value': 14178
},
{
'label': 'Vanstrom Klause (140)',
'value': 14179
},
{
'label': 'TokHaar-Xil (140)',
'value': 15184
},
{
'label': 'Vinecrawler (140)',
'value': 24830
},
{
'label': 'Bulbous crawler (140)',
'value': 24831
},
{
'label': 'Moss golem (140)',
'value': 24832
},
{
'label': 'Moss golem (140)',
'value': 24833
},
{
'label': 'Magma golem (140)',
'value': 25669
},
{
'label': 'Shul the Molten (140)',
'value': 25691
},
{
'label': 'Forgotten warrior (141)',
'value': 10532
},
{
'label': 'Forgotten warrior (141)',
'value': 10533
},
{
'label': 'Forgotten warrior (141)',
'value': 10534
},
{
'label': 'Forgotten warrior (141)',
'value': 10535
},
{
'label': 'Combat instructor',
'value': 25278
},
{
'label': 'Ate all the pies (147)',
'value': 15297
},
{
'label': 'Ahrim the Blighted (150)',
'value': 2025
},
{
'label': 'Dharok the Wretched (150)',
'value': 2026
},
{
'label': 'Guthan the Infested (150)',
'value': 2027
},
{
'label': 'Karil the Tainted (150)',
'value': 2028
},
{
'label': 'Torag the Corrupted (150)',
'value': 2029
},
{
'label': 'Verac the Defiled (150)',
'value': 2030
},
{
'label': 'Throwing muspah (150)',
'value': 19150
},
{
'label': 'Force muspah (150)',
'value': 19151
},
{
'label': 'Bladed muspah (150)',
'value': 19152
},
{
'label': 'Linza the Disgraced (150)',
'value': 22721
}
]
Last updated
Was this helpful?