Timers
The Forbidden Grove's gate, Balack's Cove's tide, the Seasonal Garden's season, and the Toxic Spill's pollution level all follow a fixed schedule that's the same for every hunter, so these are worked out from the clock rather than fetched. The daily reset is at midnight UTC, when free gifts reset and the Relic Hunter moves.
Get location timers
Every rotating location's current stage and the stages that follow, and the next daily reset.
Query parameters
- Name
atTypestringDescriptionWork the timers out for this time instead of now: an ISO 8601 date or a Unix time in seconds.
Properties
- Name
nowTypestringDescriptionThe time the timers were worked out for. - Name
daily_resetTypeobjectDescriptionThe next daily reset.NameatTypestringDescriptionWhen it is: the next midnight UTC.Namein_minutesTypeintegerDescriptionMinutes until it, rounded up. - Name
locationsTypearray of objectDescriptionNameidTypestringDescriptionThe location slug.NamenameTypestringDescriptionThe location name.Nameenvironment_idTypeintegerDescriptionThe game's numeric environment ID.Namerotation_minutesTypeintegerDescriptionHow long one full rotation takes.NamecurrentTypeobjectDescriptionThe stage the location is in.NamenameTypestringDescriptionThe stage, e.g.Low Tide,Winter, orCount/Countess.NamenoteTypestringDescriptionOnly for a stage the location passes through twice a rotation:risingorfalling.Namepower_typeTypestringDescriptionSeasonal Garden only: the power type the season favors.Namestarts_atTypestringDescriptionWhen the stage starts.Nameends_atTypestringDescriptionWhen the stage ends.Namestarts_in_minutesTypeintegerDescriptionMinutes until it starts, rounded up; 0 for the current stage.Nameends_in_minutesTypeintegerDescriptionMinutes until it ends, rounded up.NameupcomingTypearray of objectDescriptionThe stages that follow, in order, through one full rotation. The last is the next time the current stage comes round.NamenameTypestringDescriptionThe stage, e.g.Low Tide,Winter, orCount/Countess.NamenoteTypestringDescriptionOnly for a stage the location passes through twice a rotation:risingorfalling.Namepower_typeTypestringDescriptionSeasonal Garden only: the power type the season favors.Namestarts_atTypestringDescriptionWhen the stage starts.Nameends_atTypestringDescriptionWhen the stage ends.Namestarts_in_minutesTypeintegerDescriptionMinutes until it starts, rounded up; 0 for the current stage.Nameends_in_minutesTypeintegerDescriptionMinutes until it ends, rounded up.
Request
GET
https://api.mouse.rip/timers?at=2026-10-11T12:00:00Zconst response = await fetch('https://api.mouse.rip/timers?at=2026-10-11T12:00:00Z')
Response
{
"now": "2026-10-11T12:00:00.000Z",
"daily_reset": {
"at": "2026-10-12T00:00:00.000Z",
"in_minutes": 720
},
"locations": [
{
"id": "forbidden_grove",
"name": "Forbidden Grove",
"environment_id": 11,
"rotation_minutes": 1200,
"current": {
"name": "Open",
"starts_at": "2026-10-11T12:00:00.000Z",
"ends_at": "2026-10-12T04:00:00.000Z",
"starts_in_minutes": 0,
"ends_in_minutes": 960
},
"upcoming": [
{
"name": "Closed",
"starts_at": "2026-10-12T04:00:00.000Z",
"ends_at": "2026-10-12T08:00:00.000Z",
"starts_in_minutes": 960,
"ends_in_minutes": 1200
},
{
"name": "Open",
"starts_at": "2026-10-12T08:00:00.000Z",
"ends_at": "2026-10-13T00:00:00.000Z",
"starts_in_minutes": 1200,
"ends_in_minutes": 2160
}
]
},
{
"id": "balacks_cove",
"name": "Balack's Cove",
"environment_id": 2,
"rotation_minutes": 1120,
"current": {
"name": "Low Tide",
"starts_at": "2026-10-11T04:01:00.000Z",
"ends_at": "2026-10-11T20:01:00.000Z",
"starts_in_minutes": 0,
"ends_in_minutes": 481
},
"upcoming": [
{
"name": "Mid Tide",
"note": "rising",
"starts_at": "2026-10-11T20:01:00.000Z",
"ends_at": "2026-10-11T21:01:00.000Z",
"starts_in_minutes": 481,
"ends_in_minutes": 541
},
{
"name": "High Tide",
"starts_at": "2026-10-11T21:01:00.000Z",
"ends_at": "2026-10-11T21:41:00.000Z",
"starts_in_minutes": 541,
"ends_in_minutes": 581
},
{
"name": "Mid Tide",
"note": "falling",
"starts_at": "2026-10-11T21:41:00.000Z",
"ends_at": "2026-10-11T22:41:00.000Z",
"starts_in_minutes": 581,
"ends_in_minutes": 641
},
{
"name": "Low Tide",
"starts_at": "2026-10-11T22:41:00.000Z",
"ends_at": "2026-10-12T14:41:00.000Z",
"starts_in_minutes": 641,
"ends_in_minutes": 1601
}
]
},
{
"id": "seasonal_garden",
"name": "Seasonal Garden",
"environment_id": 31,
"rotation_minutes": 19200,
"current": {
"name": "Summer",
"power_type": "tactical",
"starts_at": "2026-10-10T16:00:00.000Z",
"ends_at": "2026-10-14T00:00:00.000Z",
"starts_in_minutes": 0,
"ends_in_minutes": 3600
},
"upcoming": [
{
"name": "Fall",
"power_type": "shadow",
"starts_at": "2026-10-14T00:00:00.000Z",
"ends_at": "2026-10-17T08:00:00.000Z",
"starts_in_minutes": 3600,
"ends_in_minutes": 8400
},
{
"name": "Winter",
"power_type": "hydro",
"starts_at": "2026-10-17T08:00:00.000Z",
"ends_at": "2026-10-20T16:00:00.000Z",
"starts_in_minutes": 8400,
"ends_in_minutes": 13200
},
{
"name": "Spring",
"power_type": "physical",
"starts_at": "2026-10-20T16:00:00.000Z",
"ends_at": "2026-10-24T00:00:00.000Z",
"starts_in_minutes": 13200,
"ends_in_minutes": 18000
},
{
"name": "Summer",
"power_type": "tactical",
"starts_at": "2026-10-24T00:00:00.000Z",
"ends_at": "2026-10-27T08:00:00.000Z",
"starts_in_minutes": 18000,
"ends_in_minutes": 22800
}
]
},
{
"id": "pollution_outbreak",
"name": "Toxic Spill",
"environment_id": 45,
"rotation_minutes": 18120,
"current": {
"name": "Hero",
"starts_at": "2026-10-10T17:00:00.000Z",
"ends_at": "2026-10-11T23:00:00.000Z",
"starts_in_minutes": 0,
"ends_in_minutes": 660
},
"upcoming": [
{
"name": "Knight",
"note": "rising",
"starts_at": "2026-10-11T23:00:00.000Z",
"ends_at": "2026-10-12T15:00:00.000Z",
"starts_in_minutes": 660,
"ends_in_minutes": 1620
},
{
"name": "Lord/Lady",
"note": "rising",
"starts_at": "2026-10-12T15:00:00.000Z",
"ends_at": "2026-10-13T09:00:00.000Z",
"starts_in_minutes": 1620,
"ends_in_minutes": 2700
},
{
"name": "Baron/Baroness",
"note": "rising",
"starts_at": "2026-10-13T09:00:00.000Z",
"ends_at": "2026-10-14T03:00:00.000Z",
"starts_in_minutes": 2700,
"ends_in_minutes": 3780
},
{
"name": "Count/Countess",
"note": "rising",
"starts_at": "2026-10-14T03:00:00.000Z",
"ends_at": "2026-10-15T03:00:00.000Z",
"starts_in_minutes": 3780,
"ends_in_minutes": 5220
},
{
"name": "Duke/Duchess",
"note": "rising",
"starts_at": "2026-10-15T03:00:00.000Z",
"ends_at": "2026-10-16T03:00:00.000Z",
"starts_in_minutes": 5220,
"ends_in_minutes": 6660
},
{
"name": "Grand Duke/Duchess",
"note": "rising",
"starts_at": "2026-10-16T03:00:00.000Z",
"ends_at": "2026-10-17T03:00:00.000Z",
"starts_in_minutes": 6660,
"ends_in_minutes": 8100
},
{
"name": "Archduke/Archduchess",
"starts_at": "2026-10-17T03:00:00.000Z",
"ends_at": "2026-10-18T03:00:00.000Z",
"starts_in_minutes": 8100,
"ends_in_minutes": 9540
},
{
"name": "Grand Duke/Duchess",
"note": "falling",
"starts_at": "2026-10-18T03:00:00.000Z",
"ends_at": "2026-10-19T03:00:00.000Z",
"starts_in_minutes": 9540,
"ends_in_minutes": 10980
},
{
"name": "Duke/Duchess",
"note": "falling",
"starts_at": "2026-10-19T03:00:00.000Z",
"ends_at": "2026-10-20T03:00:00.000Z",
"starts_in_minutes": 10980,
"ends_in_minutes": 12420
},
{
"name": "Count/Countess",
"note": "falling",
"starts_at": "2026-10-20T03:00:00.000Z",
"ends_at": "2026-10-21T03:00:00.000Z",
"starts_in_minutes": 12420,
"ends_in_minutes": 13860
},
{
"name": "Baron/Baroness",
"note": "falling",
"starts_at": "2026-10-21T03:00:00.000Z",
"ends_at": "2026-10-21T21:00:00.000Z",
"starts_in_minutes": 13860,
"ends_in_minutes": 14940
},
{
"name": "Lord/Lady",
"note": "falling",
"starts_at": "2026-10-21T21:00:00.000Z",
"ends_at": "2026-10-22T15:00:00.000Z",
"starts_in_minutes": 14940,
"ends_in_minutes": 16020
},
{
"name": "Knight",
"note": "falling",
"starts_at": "2026-10-22T15:00:00.000Z",
"ends_at": "2026-10-23T07:00:00.000Z",
"starts_in_minutes": 16020,
"ends_in_minutes": 16980
},
{
"name": "Hero",
"starts_at": "2026-10-23T07:00:00.000Z",
"ends_at": "2026-10-24T13:00:00.000Z",
"starts_in_minutes": 16980,
"ends_in_minutes": 18780
}
]
}
]
}
Get one location's timer
One rotating location. Replace :id with the location's slug, numeric environment ID, or name: forbidden_grove, balacks_cove, seasonal_garden, or pollution_outbreak (also toxic_spill).
Query parameters
- Name
atTypestringDescriptionWork the timers out for this time instead of now: an ISO 8601 date or a Unix time in seconds.
Properties
- Name
idTypestringDescriptionThe location slug. - Name
nameTypestringDescriptionThe location name. - Name
environment_idTypeintegerDescriptionThe game's numeric environment ID. - Name
rotation_minutesTypeintegerDescriptionHow long one full rotation takes. - Name
currentTypeobjectDescriptionThe stage the location is in.NamenameTypestringDescriptionThe stage, e.g.Low Tide,Winter, orCount/Countess.NamenoteTypestringDescriptionOnly for a stage the location passes through twice a rotation:risingorfalling.Namepower_typeTypestringDescriptionSeasonal Garden only: the power type the season favors.Namestarts_atTypestringDescriptionWhen the stage starts.Nameends_atTypestringDescriptionWhen the stage ends.Namestarts_in_minutesTypeintegerDescriptionMinutes until it starts, rounded up; 0 for the current stage.Nameends_in_minutesTypeintegerDescriptionMinutes until it ends, rounded up. - Name
upcomingTypearray of objectDescriptionThe stages that follow, in order, through one full rotation. The last is the next time the current stage comes round.NamenameTypestringDescriptionThe stage, e.g.Low Tide,Winter, orCount/Countess.NamenoteTypestringDescriptionOnly for a stage the location passes through twice a rotation:risingorfalling.Namepower_typeTypestringDescriptionSeasonal Garden only: the power type the season favors.Namestarts_atTypestringDescriptionWhen the stage starts.Nameends_atTypestringDescriptionWhen the stage ends.Namestarts_in_minutesTypeintegerDescriptionMinutes until it starts, rounded up; 0 for the current stage.Nameends_in_minutesTypeintegerDescriptionMinutes until it ends, rounded up.
Request
GET
https://api.mouse.rip/timers/seasonal_garden?at=2026-10-11T12:00:00Zconst response = await fetch('https://api.mouse.rip/timers/seasonal_garden?at=2026-10-11T12:00:00Z')
Response
{
"id": "seasonal_garden",
"name": "Seasonal Garden",
"environment_id": 31,
"rotation_minutes": 19200,
"current": {
"name": "Summer",
"power_type": "tactical",
"starts_at": "2026-10-10T16:00:00.000Z",
"ends_at": "2026-10-14T00:00:00.000Z",
"starts_in_minutes": 0,
"ends_in_minutes": 3600
},
"upcoming": [
{
"name": "Fall",
"power_type": "shadow",
"starts_at": "2026-10-14T00:00:00.000Z",
"ends_at": "2026-10-17T08:00:00.000Z",
"starts_in_minutes": 3600,
"ends_in_minutes": 8400
},
{
"name": "Winter",
"power_type": "hydro",
"starts_at": "2026-10-17T08:00:00.000Z",
"ends_at": "2026-10-20T16:00:00.000Z",
"starts_in_minutes": 8400,
"ends_in_minutes": 13200
},
{
"name": "Spring",
"power_type": "physical",
"starts_at": "2026-10-20T16:00:00.000Z",
"ends_at": "2026-10-24T00:00:00.000Z",
"starts_in_minutes": 13200,
"ends_in_minutes": 18000
},
{
"name": "Summer",
"power_type": "tactical",
"starts_at": "2026-10-24T00:00:00.000Z",
"ends_at": "2026-10-27T08:00:00.000Z",
"starts_in_minutes": 18000,
"ends_in_minutes": 22800
}
]
}