API reference
List items
Every item on the wiki with everything it knows about it: stats and their roll ranges, recipes, where it drops, what it goes into, buffs and elixir levels. Without parameters: every item in one call. Filters narrow it (they combine); limit and page give it a page at a time.
Authorization
AuthorizationOptional
Works without a key. Send one to use its own limit: Authorization: Bearer iwk_… or X-API-Key: iwk_…. See Authentication.
Counted: 60 calls a minute per address without a key.
Request
Query parameters
qstringOptional- Names that contain this text (any case), or the exact key.
groupstringOptional- The wiki's grouping.Allowed:
weaponsarmortoolsaccessoriesmaterialsconsumableselixirscosmeticsother categorystringOptional- Categories that start with this path, any case: "armor", "weapons/magic".
raritystringOptional- "Common" to "Mythical", any case.
classstringOptional- Gear made for this class.Allowed:
meleerangedmagic slotstringOptional- Gear for this slot, any case: "Helmet", "Sword", "Ring".
minLevelintegerOptional- Gear that needs at least this Combat Level (0 to 200).
maxLevelintegerOptional- Gear that needs at most this Combat Level (0 to 200).
confirmedbooleanOptional- true: only what was seen in-game or set on the wiki; false: only guesses.
statstringOptional- Items with this stat, by its name in any case:
stat=Crit Damage. End it with % for only its percentage form (stat=Heavy Damage %). Give several (repeated or comma separated) for items with all of them. /stats lists the names. sortstringOptionalDefault:catalogue- The order: the catalogue's, by name, by level (lowest first), or by stat: the highest roll of the first
statfirst.Allowed:cataloguenamelevelstat limitintegerOptionalDefault:50- A page at a time: how many a page holds, 1 to 500. Leave limit and page out for the whole list in one answer.
pageintegerOptionalDefault:1- Which page, from 1. Every paged answer gives the next page's address in
next(null on the last).
Response
200 OK: Every item (or those the filters pick), and how many. Fields: each item of data.
{
"version": "v790",
"count": 978,
"data": [
{
"key": "model:isles:accessories/amulets/abyssal_necklace",
"name": "Abyssal Necklace",
"url": "https://isleswiki.net/item/model%3Aisles%3Aaccessories%2Famulets%2Fabyssal_necklace",
"icon": "https://isleswiki.net/api/v1/icons/accessories/amulets/abyssal_necklace.png",
"category": "accessories/amulets",
"group": "accessories",
"rarity": "Rare",
"type": "Amulet",
"confirmed": true,
"description": null,
"merchantPrice": null,
"lore": [
"Rare Amulet",
"",
"PASSIVE » Corrupt Aura",
"… 6 more"
],
"gear": {
"slot": "Amulet",
"slotGroup": "accessory",
"class": null,
"level": 30,
"craftedWith": null,
"craftedAt": null,
"set": null,
"damageType": null,
"attackEnergy": null,
"augmentSlots": null,
"stats": [],
"abilities": [
{
"kind": "passive",
"name": "Corrupt Aura",
"energy": null,
"text": "While moving, cast an aura every few seconds, dealing 125% damage to nearby enemies.",
"key": null,
"note": null
}
]
},
"recipe": null,
"buffs": [],
"elixir": null,
"obtainedFrom": [],
"usedIn": []
},
"… 977 more"
]
}200 With paging: With `limit` and `page`: this page, how many in all (`total`), which page of how many, and the addresses of the next and previous pages. Fields: each item of data.
{
"version": "v790",
"count": 2,
"total": 978,
"page": 1,
"pages": 489,
"limit": 2,
"next": "https://isleswiki.net/api/v1/items?limit=2&page=2",
"prev": null,
"data": [
{
"key": "model:isles:accessories/amulets/abyssal_necklace",
"name": "Abyssal Necklace",
"url": "https://isleswiki.net/item/model%3Aisles%3Aaccessories%2Famulets%2Fabyssal_necklace",
"icon": "https://isleswiki.net/api/v1/icons/accessories/amulets/abyssal_necklace.png",
"category": "accessories/amulets",
"group": "accessories",
"rarity": "Rare",
"type": "Amulet",
"confirmed": true,
"description": null,
"merchantPrice": null,
"lore": [
"Rare Amulet",
"",
"PASSIVE » Corrupt Aura",
"… 6 more"
],
"gear": {
"slot": "Amulet",
"slotGroup": "accessory",
"class": null,
"level": 30,
"craftedWith": null,
"craftedAt": null,
"set": null,
"damageType": null,
"attackEnergy": null,
"augmentSlots": null,
"stats": [],
"abilities": [
{
"kind": "passive",
"name": "Corrupt Aura",
"energy": null,
"text": "While moving, cast an aura every few seconds, dealing 125% damage to nearby enemies.",
"key": null,
"note": null
}
]
},
"recipe": null,
"buffs": [],
"elixir": null,
"obtainedFrom": [],
"usedIn": []
},
"… 1 more"
]
}Errors
- 400
bad_requestA filter, limit or page has a value it does not take; the message says which values it does. - 401
bad_keyAn API key was sent that is unknown or revoked. Leave it out to use the free limit. - 429
rate_limitedMore calls in a minute than the limit (60 per address without a key, or the key's own). Wait for Retry-After seconds. - 503
unavailableThe catalogue could not be loaded. Rare; try again in a minute.
Notes
Every item in one call
GET /api/v1/items with nothing else. The answer (about 1 MB) is kept per catalogue version, so it is quick; send its ETag back as If-None-Match and an unchanged list is a 304 with no body.
A page at a time
?limit=50 gives the first 50, and each answer's next is the address of the page after it: follow it until it is null. The order is the catalogue's; an edit on the wiki can move items between pages, which version tells you.
Keys never change
An item's key is its id everywhere in the API (drops, recipes, uses). Names can be corrected on the wiki; keys stay.