MHCT

Community-collected data from MouseHunt Community Tools (MHCT). Live endpoints are cached for up to 72 hours, or 6 hours with a rolling time filter.


Get mouse attraction rates

Live attraction rates for a mouse, by location, stage, and cheese. Replace :id with the mouse type or ID.

Append a time filter to the ID, e.g. /mhct/948-3_months or /mhct/948-hlwn_22; the default is all_time, and /mhct/filters lists them all. Unknown IDs and mice with no data return an empty array.

Properties

  • Name
    location
    Type
    string
    Description
    Location name.
  • Name
    stage
    Type
    string
    Description
    Location stage, or null when not applicable.
  • Name
    cheese
    Type
    string
    Description
    Cheese used.
  • Name
    total_hunts
    Type
    integer
    Description
    Number of hunts the rate is based on.
  • Name
    rate
    Type
    integer
    Description
    Attraction rate out of 10,000 (divide by 100 for a percentage).

Request

GET
https://api.mouse.rip/mhct/948
const response = await fetch('https://api.mouse.rip/mhct/948')

Response

[
  {
    "location": "Prickly Plains",
    "stage": null,
    "total_hunts": 12500,
    "rate": 10000,
    "cheese": "Flamin' Queso"
  }
]

Get item drop rates

Live drop rates for an item, by location, stage, and cheese. Replace :id with the item type or ID.

Append a time filter to the ID as with mouse attraction rates, e.g. /mhct/item/3058-3_months. The default is all_time.

Properties

  • Name
    location
    Type
    string
    Description
    Location name.
  • Name
    stage
    Type
    string
    Description
    Location stage, or null when not applicable.
  • Name
    cheese
    Type
    string
    Description
    Cheese used.
  • Name
    total_hunts
    Type
    integer
    Description
    Number of hunts the rate is based on.
  • Name
    total_catches
    Type
    integer
    Description
    Number of catches in the sample.
  • Name
    total_drops
    Type
    integer
    Description
    Number of drops in the sample.
  • Name
    drop_pct
    Type
    string
    Description
    Drop rate as a percentage.
  • Name
    min_amt
    Type
    integer
    Description
    Minimum quantity dropped.
  • Name
    max_amt
    Type
    integer
    Description
    Maximum quantity dropped.

Request

GET
https://api.mouse.rip/mhct/item/3058
const response = await fetch('https://api.mouse.rip/mhct/item/3058')

Response

[
  {
    "location": "Floating Islands",
    "stage": "Low Tier Loot",
    "cheese": "Cloudy Cheesecake",
    "total_hunts": 8000,
    "total_catches": 6200,
    "total_drops": 1240,
    "drop_pct": "20.00",
    "min_amt": 1,
    "max_amt": 3
  }
]

MHCT mouse redirect

An HTML page that redirects to the mouse's attraction page on mhct.win, not JSON. Replace :id with the mouse type or ID; the time filter suffix works here too, e.g. /mhct/redirect/948-3_months.

Request

GET
https://api.mouse.rip/mhct/redirect/948
const response = await fetch('https://api.mouse.rip/mhct/redirect/948')

Response

<html><head><meta http-equiv="refresh" content="0;url=https://mhct.win/attractions.php?mouse=1000&timefilter=all_time"></head></html>

Redirect to an item on MHCT

An HTML page that redirects to the item's loot page on mhct.win, not JSON. Replace :id with the item type or ID; the time filter suffix works here too.

Request

GET
https://api.mouse.rip/mhct/redirect/item/3058
const response = await fetch('https://api.mouse.rip/mhct/redirect/item/3058')

Response

<html><head><meta http-equiv="refresh" content="0;url=https://mhct.win/loot.php?item=3058&timefilter=all_time"></head></html>

Get convertible contents

The possible rewards (and odds) from opening a convertible item. Replace :id with the item type or ID.

Properties

  • Name
    id
    Type
    integer
    Description
    Reward item ID (0 if unknown).
  • Name
    name
    Type
    string
    Description
    Reward item name.
  • Name
    min
    Type
    integer
    Description
    Minimum quantity awarded.
  • Name
    max
    Type
    integer
    Description
    Maximum quantity awarded.
  • Name
    chance
    Type
    string
    Description
    Chance of receiving the reward, as a percentage.

Request

GET
https://api.mouse.rip/mhct/convertibles/super_brie_cheese
const response = await fetch('https://api.mouse.rip/mhct/convertibles/super_brie_cheese')

Response

[
  {
    "id": 114,
    "name": "SUPER|brie+",
    "min": 70,
    "max": 70,
    "chance": "100.00"
  }
]

Get where an item comes from in convertibles

The convertibles (chests, bags, eggs, and so on) that can contain an item, most likely first. The reverse of convertible contents. Replace :id with the item type or ID. Retired convertibles are left out unless include_retired=true. Known items with no sources return an empty array.

Query parameters

  • Name
    include_retired
    Type
    boolean
    Description
    Include retired content: maps and items MHCT marks (Retired), and items the game marks inactive or removed. Left out by default.

Properties

  • Name
    id
    Type
    integer
    Description
    The convertible's item ID, or null if it isn't in /items.
  • Name
    type
    Type
    string
    Description
    The convertible's item type, or null.
  • Name
    name
    Type
    string
    Description
    The convertible's name, as MHCT has it.
  • Name
    chance
    Type
    number
    Description
    Chance an opening contains the item, as a percentage.
  • Name
    min
    Type
    integer
    Description
    Minimum quantity when it does.
  • Name
    max
    Type
    integer
    Description
    Maximum quantity when it does.
  • Name
    single_opens
    Type
    integer
    Description
    Number of single openings sampled.
  • Name
    retired
    Type
    boolean
    Description
    Whether the convertible is retired. Only true with include_retired=true.

Request

GET
https://api.mouse.rip/mhct/convertible-sources/dragonbane_potion
const response = await fetch('https://api.mouse.rip/mhct/convertible-sources/dragonbane_potion')

Response

[
  {
    "id": 3304,
    "type": "boiling_cauldron_weapon",
    "name": "Boiling Cauldron Trap",
    "chance": 0.6,
    "min": 1,
    "max": 1,
    "single_opens": 24775,
    "retired": false
  },
  {
    "id": null,
    "type": null,
    "name": "Boiling Cauldron Trap (2025-2026)",
    "chance": 0.36,
    "min": 1,
    "max": 1,
    "single_opens": 33940,
    "retired": false
  },
  ...
]

Get the mice on a map

The mice on one treasure map (or, for a Scavenger Hunt, the items), with how often each appears. Replace :id with the MHCT map ID, the map's name, or its slug (e.g. rare_map). Updated weekly.

Properties

  • Name
    mhct_id
    Type
    integer
    Description
    MHCT map ID.
  • Name
    name
    Type
    string
    Description
    Map name.
  • Name
    mice
    Type
    array of values
    Description
    Mice on the map, each with id, type, name, rate (out of 10,000), seen, and total.
  • Name
    items
    Type
    array of values
    Description
    For a Scavenger Hunt, the items on it instead of mice, with the same fields.

Request

GET
https://api.mouse.rip/mhct/map/10th_birthday_event_map
const response = await fetch('https://api.mouse.rip/mhct/map/10th_birthday_event_map')

Response

{
  "mhct_id": 145,
  "name": "10th Birthday Event Map",
  "mice": [
    {
      "id": 18,
      "type": "birthday",
      "name": "Birthday",
      "rate": 10000,
      "seen": 10,
      "total": 10
    },
    {
      "id": 925,
      "type": "time_tailor",
      "name": "Time Tailor",
      "rate": 10000,
      "seen": 10,
      "total": 10
    },
    ...
  ]
}

Get MHCT IDs

Everything MHCT tracks, keyed by MHCT item type, with the game's ID and type where the name matches. The types are mouse (attraction), mousemaps (map objectives, including Scavenger Hunt items), loot, convertible, itemconvertibles (items that come out of convertibles), and map. Updated weekly.

Request

GET
https://api.mouse.rip/mhct/ids
const response = await fetch('https://api.mouse.rip/mhct/ids')

Response

{
  "mouse": [
    {
      "mhct_id": 1,
      "name": "Crystal Queen",
      "kind": "mouse",
      "id": 727,
      "type": "crystal_queen"
    },
    {
      "mhct_id": 2,
      "name": "Crystal Lurker",
      "kind": "mouse",
      "id": 725,
      "type": "crystal_lurker"
    },
    ...
  ],
  "mousemaps": [
    {
      "mhct_id": 1,
      "name": "Abominable Snow",
      "kind": "mouse",
      "id": 1,
      "type": "abominable_snow"
    },
    {
      "mhct_id": 2,
      "name": "Acolyte",
      "kind": "mouse",
      "id": 2,
      "type": "acolyte"
    },
    ...
  ],
  "loot": [
    {
      "mhct_id": 2,
      "name": "Ticket to the Burroughs Bazaar",
      "kind": "item",
      "id": 2,
      "type": "bazaar_map_piece"
    },
    {
      "mhct_id": 3,
      "name": "Key to the Town of Digby",
      "kind": "item",
      "id": 3,
      "type": "digby_map_piece"
    },
    ...
  ],
  "convertible": [
    {
      "mhct_id": 139,
      "name": "Magical Blue Pepper Plant",
      "kind": "item",
      "id": 139,
      "type": "blue_pepper_plant_convertible"
    },
    {
      "mhct_id": 140,
      "name": "Champions Chest",
      "kind": "item",
      "id": 140,
      "type": "champions_chest_convertible"
    },
    ...
  ],
  "itemconvertibles": [
    {
      "mhct_id": 32,
      "name": "Wooden Base with Target",
      "kind": "item",
      "id": 32,
      "type": "wooden_base_with_target"
    },
    {
      "mhct_id": 34,
      "name": "500 Pound Spiked Crusher",
      "kind": "item",
      "id": 34,
      "type": "500_pound_spiked_crusher_weapon"
    },
    ...
  ],
  "map": [
    {
      "mhct_id": 6,
      "name": "Arduous Slayer Map",
      "kind": "map",
      "id": null,
      "type": null
    },
    {
      "mhct_id": 8,
      "name": "Arduous Map",
      "kind": "map",
      "id": null,
      "type": null
    },
    ...
  ]
}

Get MHCT IDs for one item type

One of the lists from /mhct/ids. Replace :type with mouse, mousemaps, loot, convertible, itemconvertibles, or map.

Properties

  • Name
    mhct_id
    Type
    integer
    Description
    MHCT's ID. For mice and maps, MHCT numbers them itself; for items, it's usually the game's item ID.
  • Name
    name
    Type
    string
    Description
    The name MHCT uses.
  • Name
    kind
    Type
    string
    Description
    mouse, item, or map.
  • Name
    id
    Type
    integer
    Description
    The game's ID, or null if the name doesn't match anything in /mice or /items (maps never have one).
  • Name
    type
    Type
    string
    Description
    The game's type (slug), or null.

Request

GET
https://api.mouse.rip/mhct/ids/loot
const response = await fetch('https://api.mouse.rip/mhct/ids/loot')

Response

[
  {
    "mhct_id": 2,
    "name": "Ticket to the Burroughs Bazaar",
    "kind": "item",
    "id": 2,
    "type": "bazaar_map_piece"
  },
  {
    "mhct_id": 3,
    "name": "Key to the Town of Digby",
    "kind": "item",
    "id": 3,
    "type": "digby_map_piece"
  },
  ...
]

Get time filters

The time filters MHCT offers, for the -filter suffix on mouse attraction rates and item drop rates, newest event first. rolling filters cover a recent window and keep changing; event filters cover a past event. Updated weekly.

Properties

  • Name
    id
    Type
    string
    Description
    The filter, e.g. hlwn_25.
  • Name
    name
    Type
    string
    Description
    Its name on MHCT, e.g. Halloween 2025.
  • Name
    kind
    Type
    string
    Description
    all_time, rolling, or event.

Request

GET
https://api.mouse.rip/mhct/filters
const response = await fetch('https://api.mouse.rip/mhct/filters')

Response

[
  {
    "id": "all_time",
    "name": "All Time",
    "kind": "all_time"
  },
  {
    "id": "3_days",
    "name": "Last 3 Days",
    "kind": "rolling"
  },
  ...
]

Get MHCT mappings

Game IDs and type slugs mapped to the IDs MHCT uses.

Properties

  • Name
    mice
    Type
    object
    Description
    Mouse ID → MHCT mouse ID.
  • Name
    items
    Type
    object
    Description
    Item ID → MHCT item ID.
  • Name
    type
    Type
    object
    Description
    Type slug → ID mappings.

Request

GET
https://api.mouse.rip/mhct/mappings
const response = await fetch('https://api.mouse.rip/mhct/mappings')

Response

{
  "items": {
    "1267": "1281",
    "2027": "2026",
    "2028": "2026",
    "2029": "2026",
    "2030": "2026",
    "2031": "2026"
  },
  "itemType": {
    "hgcash": 384,
    "friend": 502,
    "zzt_key": 348,
    ...
  },
  "mice": {
    "1": "384",
    "2": "165",
    "3": "539",
    ...
  },
  "type": {
    "abominable_snow": 1,
    "acolyte": 2,
    "aged": 3,
    ...
  }
}

Get all convertibles

Every convertible item and its possible contents. For one convertible, use /mhct/convertibles/:id.

Properties

  • Name
    id
    Type
    integer
    Description
    Item ID.
  • Name
    type
    Type
    string
    Description
    Item type (slug).
  • Name
    mhct_id
    Type
    integer
    Description
    MHCT item ID.
  • Name
    name
    Type
    string
    Description
    Item name.
  • Name
    convertibles
    Type
    array of values
    Description
    Possible rewards, each with item, min_item_quantity, max_item_quantity, single_opens, and times_with_any.

Request

GET
https://api.mouse.rip/mhct/convertibles
const response = await fetch('https://api.mouse.rip/mhct/convertibles')

Response

[
  {
    "id": 805,
    "type": "valentines_2012_gift_basket_convertible",
    "mhct_id": 805,
    "name": "&lt3 Gift Basket",
    "convertibles": [
      {
        "item": "super_brie_cheese",
        "min_item_quantity": 70,
        "max_item_quantity": 70,
        "single_opens": 20,
        "times_with_any": 20,
        "total": 20,
        "total_items": 1400,
        "total_quantity_when_any": 1400,
        "gold_value": 15893,
        "sb_value": 1
      },
      {
        "item": "dlu_collectible",
        "min_item_quantity": 1,
        "max_item_quantity": 1,
        "single_opens": 20,
        "times_with_any": 20,
        "total": 20,
        "total_items": 20,
        "total_quantity_when_any": 20,
        "gold_value": null,
        "sb_value": null
      },
      ...
    ]
  },
  {
    "id": 3375,
    "type": "10_pack_of_lunar_lantern_candles_convertible",
    "mhct_id": 3375,
    "name": "10 Pack of Lunar Lantern Candles",
    "convertibles": [
      {
        "item": "lny_unlit_lantern_stat_item",
        "min_item_quantity": 10,
        "max_item_quantity": 10,
        "single_opens": 10,
        "times_with_any": 10,
        "total": 25,
        "total_items": 250,
        "total_quantity_when_any": 100,
        "gold_value": null,
        "sb_value": null
      }
    ]
  },
  ...
]

Get reverse convertibles

The inverse of /mhct/convertibles — for each reward item, the convertibles it can come from.

Properties

  • Name
    id
    Type
    string
    Description
    Item ID.
  • Name
    type
    Type
    string
    Description
    Item type (slug).
  • Name
    mhct_id
    Type
    integer
    Description
    MHCT item ID.
  • Name
    name
    Type
    string
    Description
    Item name.
  • Name
    convertibles
    Type
    array of values
    Description
    Convertibles this item drops from, each with convertible, total, total_items, single_opens, times_with_any, and quantity fields.

Request

GET
https://api.mouse.rip/mhct/reverse-convertibles
const response = await fetch('https://api.mouse.rip/mhct/reverse-convertibles')

Response

[
  {
    "id": "cash25_stat_item",
    "type": "cash25_stat_item",
    "mhct_id": 932,
    "name": "$25 Cash Prize",
    "convertibles": [
      {
        "convertible": "Mystery Pot of Gold",
        "total": 180,
        "total_items": 9,
        "single_opens": 180,
        "times_with_any": 9,
        "min_item_quantity": 1,
        "max_item_quantity": 1,
        "total_quantity_when_any": 9
      }
    ]
  },
  {
    "id": "tenth_birthday_storm_wrought_ballista_skin",
    "type": "tenth_birthday_storm_wrought_ballista_skin",
    "mhct_id": 2586,
    "name": "10th Birthday Storm Wrought Ballista Trap Skin",
    "convertibles": [
      {
        "convertible": "2018 Birthday Treasure Chest",
        "total": 540,
        "total_items": 5,
        "single_opens": 512,
        "times_with_any": 5,
        "min_item_quantity": 1,
        "max_item_quantity": 1,
        "total_quantity_when_any": 5
      },
      {
        "convertible": "Gilded 2018 Birthday Treasure Chest",
        "total": 7,
        "total_items": 1,
        "single_opens": 7,
        "times_with_any": 1,
        "min_item_quantity": 1,
        "max_item_quantity": 1,
        "total_quantity_when_any": 1
      },
      ...
    ]
  },
  ...
]

Get mapper

Every treasure map and the mice that appear on it, with how often.

Properties

  • Name
    mhct_id
    Type
    integer
    Description
    MHCT map ID.
  • Name
    name
    Type
    string
    Description
    Map name.
  • Name
    mice
    Type
    array of values
    Description
    Mice on the map, each with id, type, name, rate (out of 10,000), seen, and total.

Request

GET
https://api.mouse.rip/mhct/mapper
const response = await fetch('https://api.mouse.rip/mhct/mapper')

Response

[
  {
    "mhct_id": 145,
    "name": "10th Birthday Event Map",
    "mice": [
      {
        "id": 18,
        "type": "birthday",
        "name": "Birthday",
        "rate": 10000,
        "seen": 10,
        "total": 10
      },
      {
        "id": 925,
        "type": "time_tailor",
        "name": "Time Tailor",
        "rate": 10000,
        "seen": 10,
        "total": 10
      },
      ...
    ]
  },
  {
    "mhct_id": 117,
    "name": "10th Birthday Map",
    "mice": [
      {
        "id": 18,
        "type": "birthday",
        "name": "Birthday",
        "rate": 10000,
        "seen": 1010,
        "total": 1010
      },
      {
        "id": 924,
        "type": "time_punk",
        "name": "Time Punk",
        "rate": 9812,
        "seen": 991,
        "total": 1010
      },
      ...
    ]
  },
  ...
]

Get reverse mapper

For each mouse, the maps it can appear on along with appearance rates.

Properties

  • Name
    id
    Type
    integer
    Description
    Mouse ID.
  • Name
    type
    Type
    string
    Description
    Mouse type (slug).
  • Name
    mhct_id
    Type
    integer
    Description
    MHCT mouse ID.
  • Name
    name
    Type
    string
    Description
    Mouse name.
  • Name
    maps
    Type
    array of values
    Description
    Maps the mouse appears on, each with map, rate (out of 10,000), seen, and total.

Request

GET
https://api.mouse.rip/mhct/reverse-mapper
const response = await fetch('https://api.mouse.rip/mhct/reverse-mapper')

Response

[
  {
    "id": 903,
    "type": "thunderlord",
    "mhct_id": 1040,
    "name": "⚡Thunderlord⚡",
    "maps": [
      {
        "map": "Origin of Dragons Map",
        "rate": 10000,
        "seen": 16291,
        "total": 16291
      },
      {
        "map": "Moussu Picchu Map",
        "rate": 8178,
        "seen": 5615,
        "total": 6866
      },
      ...
    ]
  },
  {
    "id": 1,
    "type": "abominable_snow",
    "mhct_id": 1,
    "name": "Abominable Snow Mouse",
    "maps": [
      {
        "map": "M1000 Team Research Expedition Map",
        "rate": 10000,
        "seen": 5687,
        "total": 5687
      },
      {
        "map": "Athletic Lunar List Map",
        "rate": 8276,
        "seen": 24,
        "total": 29
      },
      ...
    ]
  },
  ...
]