Item module

This module manages:

It is located at https://api.wynncraft.com/v3/item

TIP

items uses the API Markup parser for Major IDs.

Item database (Paginated)


GET .../ 1 hour TTL
{
    "controller": {
        "count": int,
        "pages": int,
        "previous": None or str,
        "current": int,
        "next": int,
        "links": {
            "previous": None or str,
            "next": None or str
        }
    },
    "results": {
        "Item Name": {
            "internalName": str,
            "type": str,
            "subType": str, # Changes based on type to be {type}Type so for weapons it would be weaponType
            "icon": {
                "value": dict({
                    "id": str,
                    "name": str,
                    "customModelData": str
                }) or str,
                "format": str
            },
            "identifier": bool,
            "allow_craftsman": bool,

            # Variable keys depending type
            "armourMaterial": str, # Armours
            "attackSpeed": str, # Weapons
            "averageDPS": int, # Weapons
            "gatheringSpeed": int, # Tools
            "tier": str, # For ingredients and materials
            "rarity": str, # For normal items
            "consumableOnlyIDs": { # Ingredients
                    "duration": int,
                    "charges": int,
            },
            "ingredientPositionModifiers": { # Ingredients
                "left": int,
                "right": int,
                "above": int,
                "under": int,
                "touching": int,
                "not_touching": int,
            },
            "itemOnlyIDs": { # Ingredients
                "durability_modifier": int,
                "strength_requirement": int,
                "dexterity_requirement": int,
                "intelligence_requirement": int,
                "defence_requirement": int,
                "agility_requirement": int,
            },

            "majorIds": {
                "majorId": str(description), # Uses API Markup parser
            },
            "craftable": [ # Materials
                str,
                # [...]
            ],

            "powderSlots": int,
            "lore": str,
            "dropRestriction": str,
            "restriction": str,
            "raidReward": bool,
            "dropMeta": {
                "coordinates": [
                    int,
                    int,
                    int
                ],
                "name": str,
                "type": str
            },
            "base": {
                "baseDamage": {
                    "min": int,
                    "max": int,
                    "raw": int,
                },
            },
            "requirements": {
                "level": int,
                "levelRange": {
                    "min": int,
                    "max": int,
                },
                "strength": int,
                "dexterity": int,
                "intelligence": int,
                "defence": int,
                "agility": int,
                "quest": str,
                "class_requirement": str,
                "skills": [ # For ingredients
                    str,
                    # [...]
                ]
            },
            "identifications": {
                "rawIdentification": int,
                "identification": {
                    "min": int,
                    "max": int,
                    "raw": int
                },
                # [...]
            }
        },
        # [...]
    }
}

Request Playground

TIP

Pagination can be bypassed by adding a query parameter: ?fullResult to your request. Example

Item database


GET .../ 1 hour TTL
{
    "Item Name": {
        "internalName": str,
        "type": str,
        "subType": str, # Changes based on type to be {type}Type so for weapons it would be weaponType
        "icon": {
            "value": dict({
                "id": str,
                "name": str,
                "customModelData": str
            }) or str,
            "format": str
        },
        "identifier": bool,
        "allow_craftsman": bool,

        # Variable keys depending type
        "armourMaterial": str, # Armours
        "attackSpeed": str, # Weapons
        "averageDPS": int, # Weapons
        "gatheringSpeed": int, # Tools
        "tier": str, # For ingredients and materials
        "rarity": str, # For normal items
        "consumableOnlyIDs": { # Ingredients
                "duration": int,
                "charges": int,
        },
        "ingredientPositionModifiers": { # Ingredients
            "left": int,
            "right": int,
            "above": int,
            "under": int,
            "touching": int,
            "not_touching": int,
        },
        "itemOnlyIDs": { # Ingredients
            "durability_modifier": int,
            "strength_requirement": int,
            "dexterity_requirement": int,
            "intelligence_requirement": int,
            "defence_requirement": int,
            "agility_requirement": int,
        },

        "majorIds": {
            "majorId": str(description), # Uses API Markup parser
        },
        "craftable": [ # Materials
            str,
            # [...]
        ],

        "powderSlots": int,
        "lore": str,
        "dropRestriction": str,
        "restriction": str,
        "raidReward": bool,
        "dropMeta": {
            "coordinates": [
                int,
                int,
                int
            ],
            "name": str,
            "type": str
        },
        "base": {
            "baseDamage": {
                "min": int,
                "max": int,
                "raw": int,
            },
        },
        "requirements": {
            "level": int,
            "levelRange": {
                "min": int,
                "max": int,
            },
            "strength": int,
            "dexterity": int,
            "intelligence": int,
            "defence": int,
            "agility": int,
            "quest": str,
            "class_requirement": str,
            "skills": [ # For ingredients
                str,
                # [...]
            ]
        },
        "identifications": {
            "rawIdentification": int,
            "identification": {
                "min": int,
                "max": int,
                "raw": int
            },
            # [...]
        }
    },
    # [...]
}
Playground is disabled for this endpoint.

POST .../
{
    "query": [str],
    "type": [str, list],
    "tier": [int, list, str],
    "attackSpeed": [str, list],
    "levelRange": [int, list],
    "professions": [str, list],
    "identifications": [str, list],
    "majorIds": [str, list],
}
Playground is disabled for this endpoint.

WARNING

Playground is not yet supported for POST requests.

TIP

Pagination can be bypassed by adding a query parameter: ?fullResult to your request. Only the content of results will then be returned.

Filters can be empty and don't need to always be in the payload, if you wanna experiment with this endpoint and understand it better, try out the official wynncraft item guideopen in new window while monitoring your devtools network tab.


GET .../ 1 minute TTL
{
    "Item Name": {
        "internalName": str,
        "type": str,
        "subType": str, # Changes based on type to be {type}Type so for weapons it would be weaponType
        "icon": {
            "value": dict({
                "id": str,
                "name": str,
                "customModelData": str
            }) or str,
            "format": str
        },
        "identifier": bool,
        "allow_craftsman": bool,

        # Variable keys depending type
        "armourMaterial": str, # Armours
        "attackSpeed": str, # Weapons
        "averageDPS": int, # Weapons
        "gatheringSpeed": int, # Tools
        "tier": str, # For ingredients and materials
        "rarity": str, # For normal items
        "consumableOnlyIDs": { # Ingredients
                "duration": int,
                "charges": int,
        },
        "ingredientPositionModifiers": { # Ingredients
            "left": int,
            "right": int,
            "above": int,
            "under": int,
            "touching": int,
            "not_touching": int,
        },
        "itemOnlyIDs": { # Ingredients
            "durability_modifier": int,
            "strength_requirement": int,
            "dexterity_requirement": int,
            "intelligence_requirement": int,
            "defence_requirement": int,
            "agility_requirement": int,
        },

        "majorIds": {
            "majorId": str(description), # Uses API Markup parser
        },
        "craftable": [ # Materials
            str,
            # [...]
        ],

        "powderSlots": int,
        "lore": str,
        "dropRestriction": str,
        "restriction": str,
        "raidReward": bool,
        "dropMeta": {
            "coordinates": [
                int,
                int,
                int
            ],
            "name": str,
            "type": str
        },
        "base": {
            "baseDamage": {
                "min": int,
                "max": int,
                "raw": int,
            },
        },
        "requirements": {
            "level": int,
            "levelRange": {
                "min": int,
                "max": int,
            },
            "strength": int,
            "dexterity": int,
            "intelligence": int,
            "defence": int,
            "agility": int,
            "quest": str,
            "class_requirement": str,
            "skills": [ # For ingredients
                str,
                # [...]
            ]
        },
        "identifications": {
            "rawIdentification": int,
            "identification": {
                "min": int,
                "max": int,
                "raw": int
            },
            # [...]
        }
    },
    # [...]
}

Request Playground

Item metadata


GET .../ 1 hour TTL
{
    "identifications": [
        "spellDamage",
        # [..]
    ],
    "majorIds": [
        "Divine Honor",
        # [..]
    ],
    "filters": {
        "type": [
            "weapons",
            # [..]
        ],
        "advanced": { # Subtypes for main filters
            "attackSpeed": [
                "super_slow",
                # [..]
            ],
            "weapons": [
                "bow",
                # [..]
            ],
            "armour": [
                "helmet",
                # [..]
            ],
            "accessories": [
                "necklace",
                # [..]
            ],
            "tomes": [
                "weaponTome",
                # [..]
            ],
            "tools": [
                "axe",
                # [...]
            ],
            "crafting": [
                "alchemism",
                # [...]
            ],
            "gathering": [
                "mining",
                # [...]
            ]
        },
        "tier": {
            "items": [
                "common",
                # [...]
            ],
            "ingredients": [
                0,
                # [...]
            ]
        },
        "levelRange": {
            "items": int,
            "ingredients": int
        }
    }
}

Request Playground

TIP

All available filters for advanced search are returned by this endpoint, if you search a precise filter it will be here.

Last Updated:
Contributors: UltraMegaNep, SuperMegaNep