This API & Web provides access to hero analytics, in-game performance data, academy resources, player endpoints, and utility tools. It is designed with a consistent RESTful structure, supports flexible hero identifiers (ID or name), and delivers standardized responses for seamless integration into applications, dashboards, analytics systems, and internal tooling.
Important
Built with Dedication: This project is the result of over of meticulous coding, architecting, and performance tuning to ensure the best developer experience.
- Public REST API for MLBB data: user, mlbb, academy, and addon service groups
- Web playground for all endpoints: form-driven execution at
/web/* - Flexible hero identifier support: hero ID or hero name (including compact slug-like names)
- Readable response views: switch between Key-Value and Key-As-Header table modes
- Language snippets: curl, python, javascript, go, node, php, java, csharp
- Copy helpers: copy snippet, copy response, copy JWT from signed-in menu
- Auth modal flow for user endpoints: Send VC + Login in one popup
- JWT-aware navbar state: profile photo, username, country, roleId(zoneId), sign out
- Tutorial & blog pages: step-by-step guides with SEO-ready detail pages
- OpenAPI-first docs: Swagger UI, ReDoc, and OpenAPI JSON
| Title | Link | Description |
|---|---|---|
| Website Home | mlbb.rone.dev | Main landing page with quick access to Demo Website and API Docs. |
| Tutorial and Blog | mlbb.rone.dev/blog | Guides, tutorials, and release/changelog posts. |
| Web Playground | mlbb.rone.dev/web | Interactive endpoint workspace for executing API requests from browser forms. |
| OpenMLBB SDK Docs | mlbb.rone.dev/openmlbb | Structured Python SDK docs for academy, mlbb, user, and addon clients with endpoint-level examples. |
| TypeScript SDK (Alternative) | npmjs.com/package/mlbb-sdk | Alternative SDK option for TypeScript/JavaScript projects. |
| Swagger UI | mlbb.rone.dev/api/docs | OpenAPI-powered docs with live request execution and authorization support. |
| ReDoc | mlbb.rone.dev/api/redoc | Alternative API documentation view optimized for reference reading. |
| OpenAPI JSON | mlbb.rone.dev/api/openapi.json | Raw OpenAPI schema for tooling, SDK generation, and integrations. |
- Home page provides two entry points: Open Demo Website and Open API Docs
- Demo Website (
/web/*) is recommended for most usage and exploration - Sign In modal supports Send VC then Login with VC (same role/zone fields, VC expires in 5 minutes)
- Signed-in menu shows profile details and Copy JWT for quick docs authorization
- Endpoint cards include request forms, snippets, readable/JSON responses, and copy actions
- Readable response section supports view switching: Key-Value or Key As Header
https://mlbb.rone.dev/ # Landing page
https://mlbb.rone.dev/blog # Tutorial and blog list
https://mlbb.rone.dev/blog/{slug} # Blog detail page
https://mlbb.rone.dev/web # Web interface (redirects to /web/user)
https://mlbb.rone.dev/web/user # User endpoints playground
https://mlbb.rone.dev/web/mlbb # MLBB endpoints playground
https://mlbb.rone.dev/web/academy # Academy endpoints playground
https://mlbb.rone.dev/web/addon # Addon endpoints playground
https://mlbb.rone.dev/openmlbb # OpenMLBB docs (redirects to /openmlbb/user)
https://mlbb.rone.dev/openmlbb/user # OpenMLBB user client docs
https://mlbb.rone.dev/openmlbb/mlbb # OpenMLBB mlbb client docs
https://mlbb.rone.dev/openmlbb/academy # OpenMLBB academy client docs
https://mlbb.rone.dev/openmlbb/addon # OpenMLBB addon client docs
https://mlbb.rone.dev/api # API index/status
https://mlbb.rone.dev/api/docs # Swagger UI
https://mlbb.rone.dev/api/redoc # ReDoc
https://mlbb.rone.dev/api/openapi.json # OpenAPI schemaInstall:
pip install OpenMLBBUsage:
from OpenMLBB import OpenMLBB
client = OpenMLBB()
# same endpoint groups as API routers
academy_data = client.academy.roles(lang="en")
mlbb_data = client.mlbb.heroes(size=10, index=1, order="desc", lang="en")
print(academy_data)
print(mlbb_data)SDK defaults:
- Base endpoint:
https://mlbb.rone.dev/api - Response type: JSON payload mapped to Python dictionary
- User-Agent:
RoneAI-OpenMLBB-Python-SDK
If your project is using TypeScript or JavaScript, you can use mlbb-sdk as an alternative SDK.
Install:
npm install mlbb-sdkQuick start:
import { createMlbbClient } from "mlbb-sdk";
const client = createMlbbClient({ lang: "en" });
const heroes = await client.mlbb.getHeroes();
const roles = await client.academy.getRoles();
console.log(heroes);
console.log(roles);- Workflow file:
.github/workflows/python-publish.yml - Version source for release/tag/PyPI:
PROJECT_VERSIONdefault inapp/core/config.py - Version tags use format:
4.x.x(novprefix) - Push behavior:
mainbranch creates stable GitHub release and publishes to PyPI.- non-
mainbranch creates prerelease only whenENABLE_NON_MAIN_PRERELEASE="true".
- Update process:
- Manually set the next version in
app/core/config.pybefore pushing release commit. - Workflow still automates release build, tag, GitHub release, and PyPI publish.
- Manually set the next version in
Full endpoint lists, operation summaries, and request/response schemas are always available in:
https://mlbb.rone.dev/api/docs(Swagger UI)https://mlbb.rone.dev/web(interactive web endpoint explorer)
This ensures API coverage documentation stays up to date with every release without maintaining manual endpoint lists in README.
See Releases for migration notes and updates.
This project is licensed under the BSD 3-Clause License. Attribution must be preserved to Moonton (the creator of Mobile Legends) and either ridwaanhall (the maintainer of this API project) or RoneAI (the organization behind this API) in all downstream usage and derivative projects.
All data is sourced from publicly available content and provided for educational, analytical, and community purposes only. Visual assets and references are used respectfully and do not imply official partnership.
Powered by MLBB Public Data API Data © Moonton (Mobile Legends) API maintained by ridwaanhall / RoneAI
Local Development (internal)
# skip this if already have
uv init # create pyproject.toml
uv add fastapi # add deps
uv add pytest --dev # add deps for dev
# use this if already have pyproject.toml and uv.lock
uv sync
cp .env.example .envfastapi devfastapi run# deploy via fastapicloud
fastapi deploypytestSECRET_KEYRONE_DEV_ACCESS_KEYRONE_DEV_ACCESS_KEY_V2
See .env.example for full configuration.
