MaBucket APImabucket.com ↗
Access hero tier ratings across 16 game modes plus rarity, class, and faction metadata for Watcher of Realms via the MaBucket API.
What is the MaBucket API?
The MaBucket API exposes a single endpoint, get_hero_tier_list, that returns the full Watcher of Realms hero roster with tier ratings across 16 game modes and three metadata dimensions: rarity, class, and faction. Each hero object carries fields for overall performance, early-game viability, gear requirements, and mode-specific rankings. Optional filters let you narrow results by hero name substring, rarity, class, or faction without any additional calls.
curl -X GET 'https://api.parse.bot/scraper/5605c554-cae3-494f-96bd-d8044e4529ec/get_hero_tier_list?search=elowyn' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace mabucket-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: MaBucket Watcher of Realms hero tier list — bounded, re-runnable."""
from parse_apis.mabucket_com_api import MaBucket, Rarity, HeroClass, ParseError
client = MaBucket()
# Browse top legendary heroes, capped at 5 results.
for hero in client.heroes.list(rarity=Rarity.LEGENDARY, limit=5):
print(hero.name, hero.hero_class, hero.ratings.overall)
# Search for a specific hero by name and inspect their full ratings.
try:
hero = client.heroes.list(search="elowyn", limit=1).first()
except ParseError as e:
print(f"Extraction failed: {e.code}")
hero = None
if hero is not None:
r = hero.ratings
print(f"{hero.name} ({hero.rarity}) — factions: {hero.faction}")
print(f" overall={r.overall} early={r.early} guild_boss={r.guild_boss}")
# Filter by class to find healers.
for healer in client.heroes.list(hero_class=HeroClass.HEALER, limit=3):
print(healer.name, healer.id, healer.ratings.sustain_arena)
print("exercised: heroes.list (rarity filter / search / class filter)")
Returns all heroes with their tier ratings across 16 game modes and metadata (rarity, class, faction). Optionally filter by hero name search, rarity, class, or faction. Returns the complete list when no filters are applied. Each hero includes ratings for: overall, early, gear_raid_1, gear_raid_2, gear_raid_3, guild_boss, guild_war, void_rift, single_arena, aoe_arena, air_arena, sustain_arena, basic_trial, artifact, gold_exp, and tide.
| Param | Type | Description |
|---|---|---|
| class | string | Filter by hero class. Omitted returns all classes. |
| rarity | string | Filter by hero rarity. Omitted returns all rarities. |
| search | string | Case-insensitive substring search on hero name (e.g. 'elowyn', 'ajax'). Omitted returns all heroes. |
| faction | string | Filter by faction name (case-insensitive). Heroes belonging to the specified faction are returned. Omitted returns all factions. |
{
"type": "object",
"fields": {
"total": "integer count of heroes in the result",
"heroes": "array of hero objects with id, name, rarity, class, faction, and ratings"
},
"sample": {
"data": {
"total": 1,
"heroes": [
{
"id": "elowyn",
"name": "Elowyn",
"class": "healer",
"rarity": "Legendary",
"faction": [
"esoteric"
],
"ratings": {
"tide": "S",
"early": "S+",
"overall": "S+",
"artifact": "A+",
"gold_exp": "B-",
"air_arena": "B",
"aoe_arena": "B",
"guild_war": "S",
"void_rift": "S+",
"guild_boss": "S+",
"basic_trial": "S",
"gear_raid_1": "S+",
"gear_raid_2": "S",
"gear_raid_3": "S",
"single_arena": "A-",
"sustain_arena": "S+"
}
}
]
},
"status": "success"
}
}About the MaBucket API
What the API Returns
The get_hero_tier_list endpoint returns a total count and a heroes array. Every hero object includes an id, name, rarity, class, and faction string, plus a structured ratings object. The ratings object covers 16 game modes including overall, early (early-game viability), and gear_rai (gear/raid suitability), among others sourced from MaBucket's tier list assessments. No additional endpoint calls are needed to retrieve the full dataset.
Filtering Options
Four optional query parameters let you narrow the result set. search performs a case-insensitive substring match on hero name — useful for looking up a specific hero like elowyn or ajax without knowing the exact spelling. rarity, class, and faction each filter by exact category membership (case-insensitive for faction). Combining multiple filters applies all conditions simultaneously. Omitting all filters returns every hero in the database.
Data Shape and Coverage
The response always includes the total integer so you can verify how many heroes matched your query. The heroes array is flat — each element is self-contained with both metadata and all 16 rating fields, so there is no need to make follow-up requests to enrich individual hero records. Tier ratings reflect MaBucket's community-based assessments for Watcher of Realms specifically.
The MaBucket API is a managed, monitored endpoint for mabucket.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mabucket.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mabucket.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a team composition tool that filters heroes by faction and ranks them by their overall tier rating.
- Create an early-game progression guide by querying heroes with high
earlyratings and filtering to common rarities. - Power a hero comparison widget that accepts a name substring via
searchand returns matching heroes with all 16 mode ratings. - Generate faction-specific tier lists by passing a faction name and sorting returned heroes by mode-specific rating fields.
- Populate a mobile gacha companion app with up-to-date hero metadata including class, rarity, and faction groupings.
- Build a gear prioritization feature using
gear_rairatings to help players decide which heroes to invest resources into. - Automate tier list change tracking by periodically fetching the full hero list and diffing rating values over time.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MaBucket have an official developer API?+
What rating fields does each hero object include?+
heroes array includes ratings for overall, early (early-game performance), and gear_rai (gear/raid relevance), along with ratings for additional game modes up to a total of 16. All mode ratings are nested inside the ratings object on each hero record.Can I retrieve individual hero detail pages or build history?+
How do the filter parameters interact when multiple are provided?+
faction=undead and rarity=legendary returns only legendary heroes belonging to the undead faction. Omitting a parameter does not restrict results on that dimension.