Discover/Brawlhalla API
live

Brawlhalla APIbrawlhalla.com ↗

Query Brawlhalla ranked leaderboards by region, game mode, and player name. Returns Elo ratings, tier labels, rank positions, and team data.

Endpoint health
monitored
get_legend
get_news_article
list_crossovers
list_legends
list_news
Checks pendingself-healing
Endpoints
6
Updated
1h ago

What is the Brawlhalla API?

The Brawlhalla Rankings API exposes the ranked leaderboard data from brawlhalla.com through a single search_rankings endpoint returning up to 14 response fields per entry. Each result includes a player's rank, Elo rating, and tier label across four game modes — 1v1, 2v2, solo_2v2, and 3v3 — with support for region filtering, paginated traversal, and fuzzy name search.

This call costs1 credit / call— charged only on success
Try it
1-based page number within the result set for the given filters.
Leaderboard region to query. ALL spans every region.
Username to search for (case-insensitive, fuzzy). Omitted = the full leaderboard in rank order.
Ranked queue whose leaderboard is returned. 2v2 rows are two-player teams; the other modes are single players.
Rows per page; values above 50 are clamped to 50.
→ api.parse.bot/scraper/bcc90fc6-37a1-4d21-b7d1-d1035cd59238/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/bcc90fc6-37a1-4d21-b7d1-d1035cd59238/search_rankings?region=ALL&search=Lopes&game_mode=1v1' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalmissing one? ·

Returns one page of the Brawlhalla ranked leaderboard for a region and game mode, ordered by rank. Each row is one leaderboard entry: a single player in 1v1, solo_2v2 and 3v3, or a two-player team in 2v2 (the players array carries every member with its numeric player_id and current username). Rows carry the current season Elo rating, the peak rating for the season, wins, losses, tier and home region. An optional search term filters entries whose username resembles the term (the site's matching is fuzzy, so loosely related names may also appear); when a search is supplied, rows come from across the whole leaderboard and ranks are not contiguous. Pagination is caller-controlled through page (1-based, default 1) and max_results (rows per page, default 25, clamped to 50); total_pages and has_more describe the remaining pages for the same filters, and a page beyond total_pages returns an empty rankings array. One upstream request per call. Unknown region or game_mode values are rejected before any request.

Input
ParamTypeDescription
pageinteger1-based page number within the result set for the given filters.
regionstringLeaderboard region to query. ALL spans every region.
searchstringUsername to search for (case-insensitive, fuzzy). Omitted = the full leaderboard in rank order.
game_modestringRanked queue whose leaderboard is returned. 2v2 rows are two-player teams; the other modes are single players.
max_resultsintegerRows per page; values above 50 are clamped to 50.
Response
{
  "type": "object",
  "fields": {
    "page": "page number returned",
    "region": "region code the results were queried with",
    "search": "search term applied, or null when none",
    "has_more": "boolean, true when page < total_pages",
    "rankings": "array of leaderboard entries in rank order",
    "game_mode": "game mode the results were queried with",
    "max_results": "effective rows-per-page after clamping",
    "total_pages": "total number of pages available for these filters (from the site)",
    "rankings[].rank": "integer leaderboard position within the queried region/mode",
    "rankings[].tier": "ranked tier label such as Diamond, Platinum 2, Gold 1",
    "rankings[].wins": "integer ranked wins this season",
    "rankings[].losses": "integer ranked losses this season",
    "rankings[].rating": "current season Elo rating (integer)",
    "rankings[].region": "home region code of the entry",
    "rankings[].players": "array of {player_id (integer), username} — one member for solo modes, two for 2v2 teams",
    "rankings[].peak_rating": "highest Elo rating reached this season (integer)"
  },
  "sample": {
    "data": {
      "page": 1,
      "region": "EU",
      "search": null,
      "has_more": true,
      "rankings": [
        {
          "rank": 1,
          "tier": "Diamond",
          "wins": 105,
          "losses": 45,
          "rating": 2465,
          "region": "EU",
          "players": [
            {
              "username": "Blaze",
              "player_id": 1766641
            },
            {
              "username": "acno?",
              "player_id": 2768493
            }
          ],
          "peak_rating": 2472
        },
        {
          "rank": 2,
          "tier": "Diamond",
          "wins": 85,
          "losses": 26,
          "rating": 2427,
          "region": "EU",
          "players": [
            {
              "username": "Blew",
              "player_id": 919693
            },
            {
              "username": "Kresuu",
              "player_id": 2926802
            }
          ],
          "peak_rating": 2429
        }
      ],
      "game_mode": "2v2",
      "max_results": 10,
      "total_pages": 2422
    },
    "status": "success"
  }
}

About the Brawlhalla API

What the API Returns

The search_rankings endpoint returns one page of the Brawlhalla ranked leaderboard for a given region and game mode. Each entry in the rankings array includes rank (integer leaderboard position), tier (a string label such as "Diamond" or "Platinum 2"), and a players array containing each participant's numeric player_id. In 2v2 mode the players array carries two members; in 1v1, solo_2v2, and 3v3 modes each entry represents a single player.

Filtering and Pagination

The region parameter accepts a region code or ALL to span every region. The game_mode parameter selects which ranked queue to query. Setting search performs a case-insensitive, fuzzy match against usernames, returning matching entries rather than the full leaderboard in rank order. Pages are 1-based and controlled by the page parameter; the max_results parameter sets rows per page with a hard ceiling of 50. The response always includes total_pages and has_more so callers can paginate programmatically without guessing.

Response Shape

Top-level response fields include page, region, game_mode, search (null when no search term was supplied), max_results (the effective value after clamping), total_pages, and has_more. The rankings array is ordered by rank within the queried region and mode, making it straightforward to build leaderboard views, monitor rank movement over time, or resolve a username to its current Elo and tier.

Reliability & maintenance

The Brawlhalla API is a managed, monitored endpoint for brawlhalla.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when brawlhalla.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 brawlhalla.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?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display a regional 1v1 leaderboard sorted by rank with tier badges drawn from the tier field
  • Look up a specific player's current rank and Elo by passing their username to the search parameter
  • Track rank changes over time by polling search_rankings for a known player_id and logging rank snapshots
  • Build a 2v2 team lookup tool that resolves both player_id values from a single leaderboard entry
  • Compare rank distributions across regions by iterating the region parameter and aggregating tier counts
  • Paginate through an entire game mode's leaderboard using total_pages and has_more for data export
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does Brawlhalla have an official developer API?+
Yes. Blue Mammoth Games provides the official Brawlhalla API at https://dev.brawlhalla.com, which exposes ranked stats and legend data using a developer key. The Parse API covers the public rankings leaderboard specifically.
What does the `search` parameter actually match against?+
It performs a case-insensitive, fuzzy match against player usernames as they appear on the leaderboard. When search is omitted, the endpoint returns the full leaderboard in ascending rank order for the given region and game_mode.
Are individual player stats like win/loss record or legend-specific Elo returned?+
Not currently. The API covers leaderboard-level data: rank, tier, and player identifiers. It does not expose per-legend Elo, win/loss ratios, or match history. You can fork this API on Parse and revise it to add an endpoint targeting those player profile details.
Is there a limit on how many results can be returned per request?+
The max_results parameter controls rows per page, but values above 50 are clamped to 50. To retrieve more entries, increment the page parameter and continue until has_more returns false or page equals total_pages.
Does the API cover unranked or casual game modes?+
Not currently. The API covers the four ranked queues: 1v1, 2v2, solo_2v2, and 3v3. Unranked or experimental mode standings are not part of the current endpoint. You can fork this API on Parse and revise it to add coverage for additional game modes if the source exposes them.
Page content last updated . Spec covers 6 endpoints from brawlhalla.com.
Related APIs in SportsSee all →
centrumsleja.pl API
Query the SlayBet global leaderboard from centrumsleja.pl to view player rankings and performance metrics, with the ability to filter results by searching for specific usernames. Monitor competitive standings and track individual player positions on the worldwide leaderboard.
rib.gg API
Access comprehensive Valorant competitive data including match results, player statistics, team information, and tournament details with powerful search and filtering capabilities. Track player performance history, view rankings, discover free agents, and analyze in-depth match rounds and analytics all in one place.
leagueofgraphs.com API
Access League of Legends and Teamfight Tactics player statistics, rankings, and match histories. Look up summoner profiles, champion performance data, live game status, and competitive standings across both game modes and all supported regions.
rocketleague.tracker.network API
Retrieve Rocket League player profiles, historical season statistics, playlist rankings, and recent match session data from Tracker Network. Search for players across platforms and compare performance metrics, rank ratings, and progression across seasons.
helo-system.de API
Track competitive Hell Let Loose teams and players by searching clan rosters, viewing match histories, and analyzing detailed game statistics through the HeLO ranking system. Monitor team performance, rankings, and individual match results to stay updated on the competitive scene.
op.gg API
Look up detailed League of Legends and TFT player statistics, match history, and champion performance data to analyze gameplay and track competitive standings. Search summoner profiles, review leaderboards, and monitor how specific champions perform across different skill levels.
api.chess.com API
Rank the world's best chess players by retrieving top-ranked competitors from Chess.com's public leaderboards across different game categories like blitz, rapid, and classical. Track player performance and standings to see how the competitive chess landscape evolves across various time controls.
hllrecords.com API
Search and retrieve detailed combat statistics and player profiles from Hell Let Loose matches through HLLRecords.com. Track player performance metrics, find specific players, and access comprehensive battle records to analyze gameplay data and competitive standings.