# Monster Hunter World API

> Look up Monster Hunter: World and Iceborne game data through the community-run mhw-db.com API: monsters and their weaknesses, resistances and drops, weapons, armor and armor sets, charms, decorations, skills, items, ailments, locations, motion values, and the event quests running right now. No account or API key required. Every result comes from the Monster Hunter World API created and maintained by LartTyler: documentation at https://docs.mhw-db.com and source code at https://github.com/LartTyler/MHWDB-API. Disclaimer: this is an independent, unofficial integration built by Lodol. It is not officially supported by, endorsed by, affiliated with, or associated with the mhw-db.com project or its maintainers, and neither the project nor its maintainers are responsible for it. Please report any problem with this integration to Lodol rather than to the mhw-db.com project. Monster Hunter: World and all related names and trademarks are the property of Capcom, which is likewise not affiliated with this integration.

App · Gaming · 24 actions. Web page: https://docs.lodol.com/docs/integrations/monster-hunter-world

## Actions

### Get a charm

Get one charm by its id, with every level it can be upgraded to, the skills each level grants, and its crafting materials.

**Inputs**

- Charm ID (`charm_id`, number, required): The charm's numeric id. Search charms returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `id` (number)
- `name` (text)
- `ranks` (list)

**Example output**

```json
{
  "id": 234,
  "name": "Poison Charm",
  "ranks": [
    {
      "crafting": {
        "craftable": true,
        "materials": [
          {
            "item": {
              "carryLimit": 99,
              "description": "Pukei-Pukei material.",
              "id": 231,
              "name": "Pukei-Pukei Sac",
              "rarity": 4,
              "value": 200
            },
            "quantity": 1
          }
        ]
      },
      "level": 1,
      "rarity": 3,
      "skills": [
        {
          "description": "Reduces the duration of poison by 30%.",
          "id": 1,
          "level": 1,
          "modifiers": [],
          "skill": 1,
          "skillName": "Poison Resistance"
        }
      ]
    }
  ]
}
```

### Get a decoration

Get one decoration by its id, with its rarity, the slot size it needs, and the skill ranks it grants.

**Inputs**

- Decoration ID (`decoration_id`, number, required): The decoration's numeric id. Search decorations returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `id` (number)
- `name` (text)
- `rarity` (number)
- `skills` (list)
- `slot` (number)

**Example output**

```json
{
  "id": 1,
  "name": "Antidote Jewel 1",
  "rarity": 5,
  "skills": [
    {
      "description": "Reduces the duration of poison by 30%.",
      "id": 1,
      "level": 1,
      "modifiers": [],
      "skill": 1,
      "skillName": "Poison Resistance"
    }
  ],
  "slot": 1
}
```

### Get a location

Get one location by its id, with its zone count and every camp in it.

**Inputs**

- Location ID (`location_id`, number, required): The location's numeric id. Search locations returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `camps` (list)
- `id` (number)
- `name` (text)
- `zoneCount` (number)

**Example output**

```json
{
  "camps": [
    {
      "id": 1,
      "name": "Southwest Camp",
      "zone": 1
    },
    {
      "id": 2,
      "name": "Northwest Camp",
      "zone": 8
    }
  ],
  "id": 1,
  "name": "Ancient Forest",
  "zoneCount": 16
}
```

### Get a monster

Get one monster by its id: its species and description, the elements it uses, the ailments it inflicts, its elemental weaknesses (with star ratings) and resistances, where it appears, and its full reward table.

**Inputs**

- Monster ID (`monster_id`, number, required): The monster's numeric id. Search monsters returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `ailments` (list)
- `description` (text)
- `elements` (list)
- `id` (number)
- `locations` (list)
- `name` (text)
- `resistances` (list)
- `rewards` (list)
- `species` (text)
- `type` (text)
- `weaknesses` (list)

**Example output**

```json
{
  "ailments": [
    {
      "description": "A blight caused by the mists in the Rotten Vale.",
      "id": 1,
      "name": "Effluvia"
    }
  ],
  "description": "A grotesque Elder Dragon that inhabits the Rotten Vale.",
  "elements": [],
  "id": 2,
  "locations": [
    {
      "id": 4,
      "name": "Rotten Vale",
      "zoneCount": 16
    }
  ],
  "name": "Vaal Hazak",
  "resistances": [
    {
      "condition": null,
      "element": "water"
    }
  ],
  "rewards": [
    {
      "conditions": [
        {
          "chance": 15,
          "quantity": 1,
          "rank": "high",
          "subtype": "body",
          "type": "carve"
        }
      ],
      "id": 1,
      "item": {
        "carryLimit": 99,
        "description": "Vaal Hazak material.",
        "id": 67,
        "name": "Vaal Hazak Fang",
        "rarity": 8,
        "value": 1600
      }
    }
  ],
  "species": "elder dragon",
  "type": "large",
  "weaknesses": [
    {
      "condition": null,
      "element": "fire",
      "stars": 3
    }
  ]
}
```

### Get a motion value

Get one motion value by its id: which weapon it belongs to, its damage type, its stun and exhaust potency, and each hit it lands.

**Inputs**

- Motion value ID (`motion_value_id`, number, required): The motion value's numeric id. Search motion values returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `damageType` (text)
- `exhaust` (number)
- `hits` (list)
- `id` (number)
- `name` (text)
- `stun` (number)
- `weaponType` (text)

**Example output**

```json
{
  "damageType": "blunt",
  "exhaust": 40,
  "hits": [
    15,
    76
  ],
  "id": 119,
  "name": "Charged Big Bang",
  "stun": null,
  "weaponType": "hammer"
}
```

### Get a skill

Get one armor skill by its id, with every rank it has and the stat modifiers each rank applies.

**Inputs**

- Skill ID (`skill_id`, number, required): The skill's numeric id. Search skills returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `description` (text)
- `id` (number)
- `name` (text)
- `ranks` (list)

**Example output**

```json
{
  "description": "Increases attack power.",
  "id": 15,
  "name": "Attack Boost",
  "ranks": [
    {
      "description": "Attack +3",
      "id": 39,
      "level": 1,
      "modifiers": {
        "attack": 3
      },
      "skill": 15
    }
  ]
}
```

### Get a weapon

Get one weapon by its id: its displayed and true attack, element damage, sharpness at every handicraft level, decoration slots, elderseal, icon and model images, and the materials to craft or upgrade it. Bowguns, bows, gunlances, charge blades, switch axes, and insect glaives also carry their own fields, such as ammo capacities or phial type.

**Inputs**

- Weapon ID (`weapon_id`, number, required): The weapon's numeric id. Search weapons returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `assets` (object)
- `attack` (object)
- `crafting` (object)
- `durability` (list)
- `elderseal` (text)
- `elements` (list)
- `id` (number)
- `name` (text)
- `rarity` (number)
- `slots` (list)
- `type` (text)

**Example output**

```json
{
  "assets": {
    "icon": "https://assets.mhw-db.com/weapons/long-sword/icons/iron-grace-3.png",
    "image": "https://assets.mhw-db.com/weapons/long-sword/iron-grace-3.png"
  },
  "attack": {
    "display": 462,
    "raw": 140
  },
  "attributes": {
    "damageType": "sever"
  },
  "crafting": {
    "branches": [
      95
    ],
    "craftable": false,
    "craftingMaterials": [],
    "previous": 93,
    "upgradeMaterials": [
      {
        "item": {
          "carryLimit": 99,
          "description": "Ore obtained from mining outcrops.",
          "id": 119,
          "name": "Carbalite Ore",
          "rarity": 6,
          "value": 680
        },
        "quantity": 8
      }
    ]
  },
  "damageType": "sever",
  "durability": [
    {
      "blue": 30,
      "green": 80,
      "orange": 50,
      "purple": 0,
      "red": 90,
      "white": 0,
      "yellow": 50
    }
  ],
  "elderseal": null,
  "elements": [
    {
      "damage": 120,
      "hidden": true,
      "type": "water"
    }
  ],
  "id": 94,
  "name": "Iron Grace 3",
  "rarity": 5,
  "slots": [
    {
      "rank": 1
    }
  ],
  "type": "long-sword"
}
```

### Get an ailment

Get one status ailment by its id, with its description, the actions and items that recover from it, and the items and skills that protect against it.

**Inputs**

- Ailment ID (`ailment_id`, number, required): The ailment's numeric id, for example 2 for Bleeding. Search ailments returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `description` (text)
- `id` (number)
- `name` (text)
- `protection` (object)
- `recovery` (object)

**Example output**

```json
{
  "description": "Bleeding causes damage when performing certain actions, such as running.",
  "id": 2,
  "name": "Bleeding",
  "protection": {
    "items": [],
    "skills": [
      {
        "description": "Grants protection against bleeding.",
        "id": 7,
        "name": "Bleeding Resistance"
      }
    ]
  },
  "recovery": {
    "actions": [
      "crouch"
    ],
    "items": [
      {
        "carryLimit": 10,
        "description": "Provides a moderate boost to your stamina.",
        "id": 11,
        "name": "Well-done Steak",
        "rarity": 2,
        "value": 48
      }
    ]
  }
}
```

### Get an armor piece

Get one armor piece by its id: its defense at base, max, and augmented, its elemental resistances, decoration slots, skills, the set it belongs to, preview images, and what it costs to craft.

**Inputs**

- Armor ID (`armor_id`, number, required): The armor piece's numeric id. Search armor returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `armorSet` (object)
- `assets` (object)
- `crafting` (object)
- `defense` (object)
- `id` (number)
- `name` (text)
- `rank` (text)
- `rarity` (number)
- `resistances` (object)
- `skills` (list)
- `slots` (list)
- `type` (text)

**Example output**

```json
{
  "armorSet": {
    "id": 35,
    "name": "Leather Beta",
    "pieces": [
      159,
      160,
      161,
      162,
      163
    ],
    "rank": "high"
  },
  "assets": {
    "imageFemale": "https://assets.mhw-db.com/armor/leather-headgear-beta-female.png",
    "imageMale": "https://assets.mhw-db.com/armor/leather-headgear-beta-male.png"
  },
  "attributes": {},
  "crafting": {
    "materials": [
      {
        "item": {
          "carryLimit": 99,
          "description": "Ore obtained from mining outcrops.",
          "id": 119,
          "name": "Carbalite Ore",
          "rarity": 6,
          "value": 680
        },
        "quantity": 2
      }
    ]
  },
  "defense": {
    "augmented": 70,
    "base": 32,
    "max": 54
  },
  "id": 159,
  "name": "Leather Headgear Beta",
  "rank": "high",
  "rarity": 5,
  "resistances": {
    "dragon": 0,
    "fire": 2,
    "ice": 0,
    "thunder": 0,
    "water": 0
  },
  "skills": [
    {
      "description": "Extends the time until you run out of stamina.",
      "id": 207,
      "level": 1,
      "modifiers": [],
      "skill": 67,
      "skillName": "Hunger Resistance"
    }
  ],
  "slots": [
    {
      "rank": 1
    }
  ],
  "type": "head"
}
```

### Get an armor set

Get one armor set by its id, with every piece in the set and the set bonus each tier grants.

**Inputs**

- Armor set ID (`armor_set_id`, number, required): The armor set's numeric id. Search armor sets returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `bonus` (object)
- `id` (number)
- `name` (text)
- `pieces` (list)
- `rank` (text)

**Example output**

```json
{
  "bonus": {
    "id": 1,
    "name": "Anjanath Power",
    "ranks": [
      {
        "pieces": 3,
        "skill": {
          "description": "Temporarily reduces stamina depletion.",
          "id": 311,
          "level": 1,
          "modifiers": [],
          "skill": 112,
          "skillName": "Adrenaline"
        }
      }
    ]
  },
  "id": 20,
  "name": "Anja",
  "pieces": [
    {
      "armorSet": 20,
      "assets": {
        "imageFemale": "https://assets.mhw-db.com/armor/anja-helm-female.png",
        "imageMale": "https://assets.mhw-db.com/armor/anja-helm-male.png"
      },
      "attributes": {},
      "id": 84,
      "name": "Anja Helm",
      "rank": "low",
      "rarity": 3,
      "skills": [
        {
          "description": "Fire attack +30",
          "id": 80,
          "level": 1,
          "modifiers": {
            "damageFire": 30
          },
          "skill": 26,
          "skillName": "Fire Attack"
        }
      ],
      "type": "head"
    }
  ],
  "rank": "low"
}
```

### Get an event

Get one event quest by its id: its description, entry requirements, quest rank, success conditions, start and end times, and where it takes place.

**Inputs**

- Event ID (`event_id`, number, required): The event's numeric id. Search events returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `endTimestamp` (text)
- `expansion` (text)
- `id` (number)
- `location` (object)
- `name` (text)
- `platform` (text)
- `questRank` (number)
- `startTimestamp` (text)
- `type` (text)

**Example output**

```json
{
  "description": "You and your entire party will have to work together.",
  "endTimestamp": "2019-07-11T23:59:00+0000",
  "exclusive": null,
  "expansion": "base",
  "id": 1,
  "location": {
    "camps": [
      {
        "id": 1,
        "name": "Southwest Camp",
        "zone": 1
      },
      {
        "id": 2,
        "name": "Northwest Camp",
        "zone": 8
      }
    ],
    "id": 1,
    "name": "Ancient Forest",
    "zoneCount": 16
  },
  "name": "A Visitor from Eorzea (Extreme)",
  "platform": "console",
  "questRank": 9,
  "requirements": "HR 50 or higher",
  "startTimestamp": "2019-07-05T00:00:00+0000",
  "successConditions": "Slay a Behemoth",
  "type": "event quest"
}
```

### Get an item

Get one item by its id, with its description, rarity, carry limit, and Zenny value.

**Inputs**

- Item ID (`item_id`, number, required): The item's numeric id. Search items returns ids in 'results'. At least 1.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `carryLimit` (number)
- `description` (text)
- `id` (number)
- `name` (text)
- `rarity` (number)
- `value` (number)

**Example output**

```json
{
  "carryLimit": 10,
  "description": "Restores a small amount of health.",
  "id": 1,
  "name": "Potion",
  "rarity": 1,
  "value": 8
}
```

### Search ailments

Search status ailments such as Blastblight, Bleeding, or Effluvia. Each one comes with the actions and items that clear it and the items and skills that prevent it.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "description": "Bleeding causes damage when performing certain actions, such as running.",
      "id": 2,
      "name": "Bleeding",
      "protection": {
        "items": [],
        "skills": [
          {
            "description": "Grants protection against bleeding.",
            "id": 7,
            "name": "Bleeding Resistance"
          }
        ]
      },
      "recovery": {
        "actions": [
          "crouch"
        ],
        "items": [
          {
            "carryLimit": 10,
            "description": "Provides a moderate boost to your stamina.",
            "id": 11,
            "name": "Well-done Steak",
            "rarity": 2,
            "value": 48
          }
        ]
      }
    }
  ]
}
```

### Search armor

Search armor pieces by name, the slot they go in, rank, and rarity. Each piece comes with its defense, elemental resistances, decoration slots, skills, set, and crafting cost.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Armor slot (`armor_type`, text): Only return pieces worn in this slot. Leave blank for every slot. One of: `head`, `chest`, `gloves`, `waist`, `legs`.
- Rank (`rank`, text): Only return armor of this rank. Master rank gear comes from Iceborne. Leave blank for every rank. One of: `low` (Low rank), `high` (High rank), `master` (Master rank (Iceborne)).
- Rarity (`rarity`, number): Only return records with exactly this rarity (1 is the lowest; Iceborne gear reaches 12). Leave blank for any rarity. From 1 to 12.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "armorSet": {
        "id": 35,
        "name": "Leather Beta",
        "pieces": [
          159,
          160,
          161,
          162,
          163
        ],
        "rank": "high"
      },
      "assets": {
        "imageFemale": "https://assets.mhw-db.com/armor/leather-headgear-beta-female.png",
        "imageMale": "https://assets.mhw-db.com/armor/leather-headgear-beta-male.png"
      },
      "attributes": {},
      "crafting": {
        "materials": [
          {
            "item": {
              "carryLimit": 99,
              "description": "Ore obtained from mining outcrops.",
              "id": 119,
              "name": "Carbalite Ore",
              "rarity": 6,
              "value": 680
            },
            "quantity": 2
          }
        ]
      },
      "defense": {
        "augmented": 70,
        "base": 32,
        "max": 54
      },
      "id": 159,
      "name": "Leather Headgear Beta",
      "rank": "high",
      "rarity": 5,
      "resistances": {
        "dragon": 0,
        "fire": 2,
        "ice": 0,
        "thunder": 0,
        "water": 0
      },
      "skills": [
        {
          "description": "Extends the time until you run out of stamina.",
          "id": 207,
          "level": 1,
          "modifiers": [],
          "skill": 67,
          "skillName": "Hunger Resistance"
        }
      ],
      "slots": [
        {
          "rank": 1
        }
      ],
      "type": "head"
    }
  ]
}
```

### Search armor sets

Search armor sets by name and rank. Each set lists every piece in it and its set bonus, including how many pieces each tier of the bonus needs.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Rank (`rank`, text): Only return sets of this rank. Master rank sets come from Iceborne. Leave blank for every rank. One of: `low` (Low rank), `high` (High rank), `master` (Master rank (Iceborne)).
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "bonus": {
        "id": 1,
        "name": "Anjanath Power",
        "ranks": [
          {
            "pieces": 3,
            "skill": {
              "description": "Temporarily reduces stamina depletion.",
              "id": 311,
              "level": 1,
              "modifiers": [],
              "skill": 112,
              "skillName": "Adrenaline"
            }
          }
        ]
      },
      "id": 20,
      "name": "Anja",
      "pieces": [
        {
          "armorSet": 20,
          "assets": {
            "imageFemale": "https://assets.mhw-db.com/armor/anja-helm-female.png",
            "imageMale": "https://assets.mhw-db.com/armor/anja-helm-male.png"
          },
          "attributes": {},
          "id": 84,
          "name": "Anja Helm",
          "rank": "low",
          "rarity": 3,
          "skills": [
            {
              "description": "Fire attack +30",
              "id": 80,
              "level": 1,
              "modifiers": {
                "damageFire": 30
              },
              "skill": 26,
              "skillName": "Fire Attack"
            }
          ],
          "type": "head"
        }
      ],
      "rank": "low"
    }
  ]
}
```

### Search charms

Search charms by name. Each charm carries every level it can be upgraded to, with the skills that level grants and the materials it costs.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "id": 234,
      "name": "Poison Charm",
      "ranks": [
        {
          "crafting": {
            "craftable": true,
            "materials": [
              {
                "item": {
                  "carryLimit": 99,
                  "description": "Pukei-Pukei material.",
                  "id": 231,
                  "name": "Pukei-Pukei Sac",
                  "rarity": 4,
                  "value": 200
                },
                "quantity": 1
              }
            ]
          },
          "level": 1,
          "rarity": 3,
          "skills": [
            {
              "description": "Reduces the duration of poison by 30%.",
              "id": 1,
              "level": 1,
              "modifiers": [],
              "skill": 1,
              "skillName": "Poison Resistance"
            }
          ]
        }
      ]
    }
  ]
}
```

### Search decorations

Search decorations (jewels) by name, the slot size they fit in, and rarity. Each one lists the skill ranks it grants.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Slot size (`slot`, number): Only return decorations that fit a slot of this size (1 to 4). Leave blank for any size. From 1 to 4.
- Rarity (`rarity`, number): Only return records with exactly this rarity (1 is the lowest; Iceborne gear reaches 12). Leave blank for any rarity. From 1 to 12.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "id": 1,
      "name": "Antidote Jewel 1",
      "rarity": 5,
      "skills": [
        {
          "description": "Reduces the duration of poison by 30%.",
          "id": 1,
          "level": 1,
          "modifiers": [],
          "skill": 1,
          "skillName": "Poison Resistance"
        }
      ],
      "slot": 1
    }
  ]
}
```

### Search events

Search the event quests that are running or scheduled right now, pulled from Capcom's official event pages and refreshed daily. Filter by platform, expansion, and quest type.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Platform (`platform`, text): Only return events running on this platform. An event running on both has one record per platform. Leave blank for both. One of: `pc`, `console`.
- Expansion (`expansion`, text): Only return events that need this expansion. Leave blank for both. One of: `base` (Base game), `iceborne`.
- Event type (`event_type`, text): Only return events of this type. Leave blank for every type. One of: `event quest`, `challenge quest`, `kulve taroth siege`, `safi'jiiva siege`.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "description": "You and your entire party will have to work together.",
      "endTimestamp": "2019-07-11T23:59:00+0000",
      "exclusive": null,
      "expansion": "base",
      "id": 1,
      "location": {
        "camps": [
          {
            "id": 1,
            "name": "Southwest Camp",
            "zone": 1
          },
          {
            "id": 2,
            "name": "Northwest Camp",
            "zone": 8
          }
        ],
        "id": 1,
        "name": "Ancient Forest",
        "zoneCount": 16
      },
      "name": "A Visitor from Eorzea (Extreme)",
      "platform": "console",
      "questRank": 9,
      "requirements": "HR 50 or higher",
      "startTimestamp": "2019-07-05T00:00:00+0000",
      "successConditions": "Slay a Behemoth",
      "type": "event quest"
    }
  ]
}
```

### Search items

Search items (monster materials, ores, consumables, and more) by name and rarity. Each item comes with its description, carry limit, and Zenny value.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Rarity (`rarity`, number): Only return records with exactly this rarity (1 is the lowest; Iceborne gear reaches 12). Leave blank for any rarity. From 1 to 12.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "carryLimit": 10,
      "description": "Restores a small amount of health.",
      "id": 1,
      "name": "Potion",
      "rarity": 1,
      "value": 8
    }
  ]
}
```

### Search locations

Search the game's locations, such as the Ancient Forest or Elder's Recess. Each one lists how many zones it has and every camp in it.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "camps": [
        {
          "id": 1,
          "name": "Southwest Camp",
          "zone": 1
        },
        {
          "id": 2,
          "name": "Northwest Camp",
          "zone": 8
        }
      ],
      "id": 1,
      "name": "Ancient Forest",
      "zoneCount": 16
    }
  ]
}
```

### Search monsters

Search monsters by name, size (small or large), and species. Each monster comes with its elemental weaknesses and resistances, the ailments it inflicts, where it lives, and everything it can drop.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Size (`monster_type`, text): Only return small or large monsters. Leave blank for both. One of: `small`, `large`.
- Species (`species`, text): Only return monsters of this species, for example elder dragon or flying wyvern. Leave blank for every species. One of: `bird wyvern`, `brute wyvern`, `elder dragon`, `fanged beast`, `fanged wyvern`, `fish`, `flying wyvern`, `herbivore`, `lynian`, `neopteron`, and 3 more.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "ailments": [
        {
          "description": "A blight caused by the mists in the Rotten Vale.",
          "id": 1,
          "name": "Effluvia"
        }
      ],
      "description": "A grotesque Elder Dragon that inhabits the Rotten Vale.",
      "elements": [],
      "id": 2,
      "locations": [
        {
          "id": 4,
          "name": "Rotten Vale",
          "zoneCount": 16
        }
      ],
      "name": "Vaal Hazak",
      "resistances": [
        {
          "condition": null,
          "element": "water"
        }
      ],
      "rewards": [
        {
          "conditions": [
            {
              "chance": 15,
              "quantity": 1,
              "rank": "high",
              "subtype": "body",
              "type": "carve"
            }
          ],
          "id": 1,
          "item": {
            "carryLimit": 99,
            "description": "Vaal Hazak material.",
            "id": 67,
            "name": "Vaal Hazak Fang",
            "rarity": 8,
            "value": 1600
          }
        }
      ],
      "species": "elder dragon",
      "type": "large",
      "weaknesses": [
        {
          "condition": null,
          "element": "fire",
          "stars": 3
        }
      ]
    }
  ]
}
```

### Search motion values

Search attack motion values: for each move, the damage type, its stun and exhaust potency, and every hit it lands as a percentage of the weapon's raw damage. Pick a weapon type to get just that weapon's moves.

**Inputs**

- Weapon type (`weapon_type`, text): Only return moves for this weapon. Leave blank for every weapon. One of: `great-sword` (Great Sword), `long-sword` (Long Sword), `sword-and-shield` (Sword and Shield), `dual-blades` (Dual Blades), `hammer`, `hunting-horn` (Hunting Horn), `lance`, `gunlance`, `switch-axe` (Switch Axe), `charge-blade` (Charge Blade), and 4 more.
- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "damageType": "blunt",
      "exhaust": 40,
      "hits": [
        15,
        76
      ],
      "id": 119,
      "name": "Charged Big Bang",
      "stun": null,
      "weaponType": "hammer"
    }
  ]
}
```

### Search skills

Search armor skills by name. Each skill carries every rank it has, with what that rank does and the stat modifiers it applies.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "description": "Increases attack power.",
      "id": 15,
      "name": "Attack Boost",
      "ranks": [
        {
          "description": "Attack +3",
          "id": 39,
          "level": 1,
          "modifiers": {
            "attack": 3
          },
          "skill": 15
        }
      ]
    }
  ]
}
```

### Search weapons

Search weapons by name, weapon type, rarity, and elderseal. Each weapon comes with its attack values, elements, sharpness by handicraft level, decoration slots, and where it sits in its upgrade tree.

**Inputs**

- Name contains (`name`, text): Only return records whose name contains this text, for example 'rath' or 'Nergigante'. Leave blank to return everything.
- Weapon type (`weapon_type`, text): Only return weapons of this type. Leave blank for every type. One of: `great-sword` (Great Sword), `long-sword` (Long Sword), `sword-and-shield` (Sword and Shield), `dual-blades` (Dual Blades), `hammer`, `hunting-horn` (Hunting Horn), `lance`, `gunlance`, `switch-axe` (Switch Axe), `charge-blade` (Charge Blade), and 4 more.
- Rarity (`rarity`, number): Only return records with exactly this rarity (1 is the lowest; Iceborne gear reaches 12). Leave blank for any rarity. From 1 to 12.
- Elderseal (`elderseal`, text): Only return weapons with this elderseal strength. Leave blank for every weapon, including those with no elderseal. One of: `low`, `average`, `high`.
- Advanced filter (`query`, text): Optional filter for anything the fields above don't cover, written as a JSON query document, for example {"defense.base": {"$gte": 50}} or {"crafting.branches": {"$size": 0}}. Nested fields use dot notation, and it can be combined with the simple filters above (this one wins if both set the same field). See https://docs.mhw-db.com/#searching-the-api.
- Fields to return (`fields`, text): Comma-separated list of fields to keep in each record, for example 'id, name, rarity'. Nested fields use dot notation ('crafting.branches'). Leave blank to get the full records, which for armor, weapons, and monsters are large.
- Limit (`limit`, number): How many records to return. Defaults to 25. The API answers with every match at once, so this trims the list afterwards; 'count' on the result always reports the full number of matches. From 1 to 500. Default: `25`.
- Offset (`offset`, number): How many matches to skip before returning results, for paging through a large list. Defaults to 0, which starts at the first match. At least 0. Default: `0`.
- Language (`language`, text): Which language to return names and descriptions in. Defaults to English. Translations are contributed by hand, so an untranslated field comes back empty. One of: `en` (English), `fr` (French), `de` (German), `zh` (Chinese (simplified)), `zh-Hant` (Chinese (traditional)). Default: `en`.

**Outputs**

- `count` (number): How many records matched the search in total
- `results` (list): The matching records, trimmed to the limit and offset

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "assets": {
        "icon": "https://assets.mhw-db.com/weapons/long-sword/icons/iron-grace-3.png",
        "image": "https://assets.mhw-db.com/weapons/long-sword/iron-grace-3.png"
      },
      "attack": {
        "display": 462,
        "raw": 140
      },
      "attributes": {
        "damageType": "sever"
      },
      "crafting": {
        "branches": [
          95
        ],
        "craftable": false,
        "craftingMaterials": [],
        "previous": 93,
        "upgradeMaterials": [
          {
            "item": {
              "carryLimit": 99,
              "description": "Ore obtained from mining outcrops.",
              "id": 119,
              "name": "Carbalite Ore",
              "rarity": 6,
              "value": 680
            },
            "quantity": 8
          }
        ]
      },
      "damageType": "sever",
      "durability": [
        {
          "blue": 30,
          "green": 80,
          "orange": 50,
          "purple": 0,
          "red": 90,
          "white": 0,
          "yellow": 50
        }
      ],
      "elderseal": null,
      "elements": [
        {
          "damage": 120,
          "hidden": true,
          "type": "water"
        }
      ],
      "id": 94,
      "name": "Iron Grace 3",
      "rarity": 5,
      "slots": [
        {
          "rank": 1
        }
      ],
      "type": "long-sword"
    }
  ]
}
```
