Mobile Legends API.
MLBB markets on the same schema as CS2.
MLBB is one of the biggest esports on earth but its book data is scattered across regional sportsbooks. KashRock pulls the venues that post MLBB — Betway, Dexsport and more — onto one schema with canonical team and match ids, so MPL and international markets join like any other title.
Why MLBB data needs a schema
MLBB viewership rivals LoL's, but Western-facing books price it inconsistently — the venues that do post it are regional or crypto books. If your model only watches one feed, you miss most of the board.
Practical rule: MLBB lines move on regional books first — a single-venue scrape sees the move after the market already went.
What we normalize today
Match/series structure, canonical team and match ids, and market keys with explicit scope — map winners and map handicaps carry market_scope and included_maps so scopes never blur.
Core MLBB endpoints
Paths under /v7/mlbb/. Same client and filters as the other eight titles — sport is just a path segment.
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/mlbb/lines | Team lines + consensus (Hobby+) | market, view |
| GET /v7/mlbb/matches | Schedule / live / completed | status, date, team |
| GET /v7/mlbb/props | DFS player props when listed | book, market |
| GET /v7/mlbb/teams | Team directory, form, roster | id, q, include |
| GET /v7/mlbb/live | Matches in progress | game, include |
Canonical IDs
- —kr_tm_* team ids stay stable across regional book name spellings
- —kr_match_id / canonical_event_id for series joins
- —selection and market ids for cross-book line tracking
Sample live MLBB market
Live MLBB map-1 moneyline from production — Team Rey vs Bigetron MY by Vitality priced by Betway and Dexsport with the de-vigged fair price between them.
| Field | Example | Used for |
|---|---|---|
| market | map_winner | Per-map moneyline |
| market_scope | map_1 | Which map the line settles on |
| team_id | kr_tm_02347070a7d4 | Stable team key across books |
| fair_american | -138 | De-vigged consensus price |
{
"source": "kashrock",
"sport": "mlbb",
"market": "map_winner",
"market_scope": "map_1",
"market_label": "Mlbb Moneyline on Map 1",
"home_team": "Team Rey",
"away_team": "Bigetron MY by Vitality",
"outcomes": [
{
"name": "Team Rey",
"team_id": "kr_tm_02347070a7d4",
"fair_american": -138,
"prices": [
{
"source": "betway",
"decimal": 1.6,
"american": -167
},
{
"source": "dexsport",
"decimal": 1.55,
"american": -182
}
]
},
{
"name": "Bigetron MY by Vitality",
"team_id": "kr_tm_3fd4b57678b7",
"fair_american": 138,
"prices": [
{
"source": "betway",
"decimal": 2.2,
"american": 120
},
{
"source": "dexsport",
"decimal": 2.14,
"american": 114
}
]
}
]
}Comparing MLBB sources
Use Liquipedia and the official MPL site for standings context. Use KashRock when you need book prices, schedules and settled results on one schema.
| Source | Schema | Best use |
|---|---|---|
| Liquipedia / MPL site | Schedules and standings | Editorial context |
| Single-book scrape | One venue, brittle | Prototypes |
| KashRock MLBB API | Normalized markets + IDs | Odds, models, alerts |
Settlement patterns
Map markets settle from the finalized map record. Each market states its scope and overtime class so books with different rules are never blended into one number.
Operational practices
- —Watch books_on_board — MLBB coverage clusters on regional venues
- —Use /lines on Hobby+ for the de-vigged fair price
- —Cache finished matches longer than live boards
Quick reference
GET /v7/mlbb/lines for prices, /matches for schedule, /live for in-progress series. Transparent pricing.
If you need a normalized feed instead of another UI wrapper, the Esports API exposes live boards, schedules, and history on one schema — with the IDs and outcome patterns that keep backtests and grading honest. Start free on Sandbox, or see published pricing.