Discover/dpm API
live

dpm APIdpm.lol

Access League of Legends champion tier lists, per-lane builds, rune/item stats, and ranked leaderboards from dpm.lol via a structured JSON API.

Endpoint health
verified 4d ago
get_leaderboard
get_champion_list
get_champion_build
3/3 passing latest checkself-healing
Endpoints
3
Updated
11d ago

What is the dpm API?

The dpm.lol API exposes 3 endpoints covering League of Legends champion statistics, optimized builds, and ranked leaderboard data. The get_champion_list endpoint returns every champion-lane combination in a single response with winrate, pickrate, banrate, and tier score. Build data from get_champion_build includes item slots, rune paths, summoner spells, and skill level-up orders — each option annotated with winrate and pickrate drawn from real match data.

Try it
Rank tier filter.
Game mode. Currently only ranked is supported.
Patch version (e.g. 16.13, 16.12, 16.11). When omitted, the current live patch is auto-detected.
api.parse.bot/scraper/e5096d45-f713-45db-aad7-6b41f5ad43fa/<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/e5096d45-f713-45db-aad7-6b41f5ad43fa/get_champion_list?tier=emerald_plus&game_mode=ranked&timeframe=16.13' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 dpm-lol-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: dpm.lol SDK — champion stats, builds, and leaderboards."""
from parse_apis.dpm_lol_API import DpmLol, Tier, Lane, Platform, ParseError

dpm = DpmLol()

# List champion stats for the current patch at Emerald+ tier
for champ in dpm.champion_statses.list(tier=Tier.EMERALD_PLUS, limit=5):
    print(champ.champion_name.name, champ.lane, champ.winrate, champ.pickrate)

# Drill into a specific champion's build via constructible Champion
build = dpm.champion("Ahri").build(lane=Lane.MIDDLE, tier=Tier.EMERALD_PLUS)
for boot in build.boots:
    print(boot.item_id, boot.winrate, boot.pickrate)

# Fetch the EUW leaderboard
try:
    board = dpm.leaderboards.fetch(platform=Platform.EUW1, page=1)
except ParseError as exc:
    print(f"Error fetching leaderboard: {exc}")
else:
    print(board.total, board.challenger_cutoff, board.grandmaster_cutoff)
    for player in board.players[:3]:
        print(player.display_name, player.kda, player.is_live)

print("exercised: champion_statses.list / champion.build / leaderboards.fetch")
All endpoints · 3 totalmissing one? ·

Retrieves all champions with per-lane stats (winrate, pickrate, banrate, tier score) for a given patch and rank tier. Each champion-lane combination is a separate entry. Returns the full roster in a single page.

Input
ParamTypeDescription
tierstringRank tier filter.
game_modestringGame mode. Currently only ranked is supported.
timeframestringPatch version (e.g. 16.13, 16.12, 16.11). When omitted, the current live patch is auto-detected.
Response
{
  "type": "object",
  "fields": {
    "champions": "array of champion objects with championName, championId, lane, pickrate, winrate, banrate, tierScore, winrateVariance, count, and lanesPickrate"
  },
  "sample": {
    "data": {
      "champions": [
        {
          "lane": "BOTTOM",
          "count": 123,
          "banrate": 3.05,
          "winrate": 57.72,
          "pickrate": 0.003718,
          "tierScore": 82.48,
          "championId": 200,
          "championName": "Belveth",
          "lanesPickrate": {
            "TOP": 1.68,
            "BOTTOM": 0.21,
            "JUNGLE": 97.21,
            "MIDDLE": 0.48,
            "UTILITY": 0.44
          },
          "winrateVariance": 13.94
        }
      ]
    },
    "status": "success"
  }
}

About the dpm API

Champion Tier List

get_champion_list returns the full champion roster as an array of champion-lane objects. Each entry includes championName, championId, lane, winrate, pickrate, banrate, tierScore, winrateVariance, and count (number of games sampled). Filter by tier for rank-bracket-specific data (e.g. Diamond+, Platinum+), and by timeframe to pin results to a specific patch such as 16.3 or 16.2. Because each champion can appear across multiple lanes, a champion like Twisted Fate will have distinct entries for mid, support, and any other lane where they see meaningful play.

Per-Champion Build Data

get_champion_build takes a required champion_name (case-sensitive, matching the format returned by get_champion_list, e.g. RekSai) and a required lane. The response breaks down into boots, items (slots 1 through 5), runes (primary rune ID, secondary rune ID, and stat shards), summoners, coreBuilds (item-path combinations at different build stages), and skillLevelUp (ordered ability leveling sequences). Every option in each array carries its own winrate and pickrate, letting you rank alternatives by statistical performance rather than popularity alone.

Ranked Leaderboard

get_leaderboard returns up to 100 players per page ordered by LP, filtered by platform (region) and optionally by is_pro to isolate professional players. Each player object includes rank details, gameName, displayName, primary lane, championIds in their pool, kda, leaderboardPosition, and an isLive flag indicating active game status. The response also provides lanesPickrate for lane distribution across the leaderboard, plus challengerCutoff and grandmasterCutoff LP thresholds for the selected platform.

Reliability & maintenanceVerified

The dpm API is a managed, monitored endpoint for dpm.lol — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dpm.lol 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 dpm.lol 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.

Last verified
4d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
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
  • Build a champion tier list dashboard filtered by rank tier and patch version using winrate, banrate, and tierScore fields.
  • Recommend optimal rune pages for a given champion-lane pairing based on primaryRuneId, secondaryRuneId, and perksStat from get_champion_build.
  • Track LP cutoffs for Challenger and Grandmaster tiers per region using challengerCutoff and grandmasterCutoff from get_leaderboard.
  • Identify high-variance champions where winrateVariance deviates from winrate — useful for skill-dependent champion analysis.
  • Monitor pro-player champion pools and KDA trends using the is_pro filter on get_leaderboard.
  • Generate patch-over-patch winrate change reports by querying get_champion_list across consecutive timeframe values.
  • Surface the statistically best core build path for a champion at different game stages using coreBuilds item arrays.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does dpm.lol have an official public developer API?+
dpm.lol does not publish an official developer API or documented public endpoints. This Parse API provides structured access to the data exposed on the dpm.lol website.
What does get_champion_build return for items, and how are options ranked?+
get_champion_build returns item slots 1 through 5 as separate arrays (item1 through item5), each containing multiple options. Every option includes an item Id, winrate, pickrate, and games count. Options are not pre-ranked — you can sort by winrate or pickrate depending on your use case. The coreBuilds object provides multi-item path combinations for stages beyond the starter slot.
Which game modes are supported by get_champion_list?+
Currently only ranked is supported as a game_mode value. ARAM, normals, and other modes are not covered by the endpoint. You can fork this API on Parse and revise it to add endpoints targeting other game modes if dpm.lol surfaces that data.
Does the API return historical match-by-match data or individual player stats beyond the leaderboard?+
Not currently. The API covers aggregate champion statistics, build recommendations, and ranked leaderboard snapshots. Individual match history and per-summoner career stats are not exposed. You can fork this API on Parse and revise it to add a player-lookup endpoint if that data becomes accessible.
How do I paginate through the full leaderboard?+
get_leaderboard returns up to 100 players per page. Use the page parameter (1-based) to step through results. The total field in the response tells you the full count of ranked players, so you can calculate how many pages to fetch for a given platform.
Page content last updated . Spec covers 3 endpoints from dpm.lol.
Related APIs in SportsSee all →
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.
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.
mlbb.io API
Access real-time Mobile Legends hero statistics, tier rankings, optimal builds, and emblem recommendations to make informed gameplay decisions. Search for specific heroes and view comprehensive data including item lists and competitive tier placements to optimize your strategy.
lolpros.gg API
Search and discover professional League of Legends players while exploring detailed profiles, ladder rankings, and competitive statistics from the pro scene. Track player performance metrics, find competitors by name, and monitor where top players stand in the rankings.
dota2protracker.com API
Track high-level Dota 2 gameplay by accessing real-time hero winrates, professional player match history, and facet performance data. Search the hero database and analyze current meta trends to inform your draft strategy and competitive play.
opendota.com API
Access detailed Dota 2 match statistics, player performance metrics, hero win rates, and professional tournament data to analyze gameplay trends and competitive performance. Search for specific players, explore custom data queries through SQL, and retrieve comprehensive match histories to improve your understanding of the game.
dotabuff.com API
Access Dota 2 hero performance metrics from Dotabuff, including win rates, pick rates, ban rates, item builds, and lane statistics. Retrieve meta trend data and detailed per-hero attributes, roles, and ability information to support hero analysis and draft research.
poe.ninja API
Access real-time Path of Exile economy data from poe.ninja, including item prices, currency exchange rates, divination card values, market trends, and build statistics by class.