Deadlock API Guide (2026): Stats, Matches, Heroes & Builds
A practical map of the independent Deadlock API, with current endpoints, request examples, filters, rate limits, and research safeguards.
A useful number keeps the request, filters, sample, and date attached.
Updated July 21, 2026: Deadlock API is a community-run, third-party data service for current game assets, player and match records, MMR history, builds, leaderboards, and aggregate hero analysis. It is not a Valve product. The public documentation currently describes 109 operations, so the most useful first step is choosing the smallest endpoint that answers a specific question.
This Deadlock API guide maps the practical endpoints, shows working request examples, explains authentication and rate limits, and sets out a reproducible workflow. For a normal player lookup rather than code or raw data, start with the Deadlock stats tracker comparison.
Deadlock API At A Glance
| Question | Current answer |
|---|---|
| Base URL | https://api.deadlock-api.com |
| Interactive documentation | api.deadlock-api.com/docs |
| OpenAPI schema | openapi.json |
| Official Valve API? | No. The project explicitly says it is not endorsed by Valve. |
| Authentication | Some public requests work without a key; supported endpoints can accept X-API-KEY or an api_key query value. |
| Best use | Reproducible match, player, asset, build, leaderboard, and aggregate analysis. |
Deadlock API Quick Start
The current hero asset route is a simple first request because it does not require a player ID or match ID:
curl "https://api.deadlock-api.com/v1/assets/heroes"
That response is JSON. Save the result or pipe it into a JSON-aware tool instead of scraping text from the documentation page. Before building a larger job, check service health:
curl "https://api.deadlock-api.com/v1/info/health"
If a route needs or benefits from a key, send the secret in a header. Do not commit a real key to a repository or expose it in browser JavaScript:
curl -H "X-API-KEY: $DEADLOCK_API_KEY" \
"https://api.deadlock-api.com/v1/analytics/hero-stats"
Useful Deadlock API Endpoints
| Task | Endpoint | Use it for |
|---|---|---|
| Heroes | /v1/assets/heroes |
Current hero IDs, names, types, abilities, stats, and game-data fields. |
| Items | /v1/assets/items |
Current item definitions, costs, properties, and upgrade relationships. |
| NPC units | /v1/assets/npc-units |
Trooper and other non-player unit values parsed from current game data. |
| Match metadata | /v1/matches/{match_id}/metadata |
Inspect a known match and its available metadata. |
| Player history | /v1/players/{account_id}/match-history |
Retrieve matches associated with a player account. |
| Player summary | /v1/players/{account_id}/account-stats |
Read aggregate account statistics. |
| MMR history | /v1/players/{account_id}/mmr-history |
Track the service’s historical rating records for a player. |
| Hero analytics | /v1/analytics/hero-stats |
Compare hero results with explicit date, mode, rank, and sample filters. |
| Build analytics | /v1/analytics/hero-build-stats/{hero_id} |
Study item and build outcomes for a known hero ID. |
| Ability orders | /v1/analytics/ability-order-stats |
Compare observed ability upgrade sequences. |
| Counters and synergies | /v1/analytics/hero-counter-stats and /v1/analytics/hero-synergy-stats |
Explore matchup and teammate combinations without hiding the sample. |
| Leaderboards | /v1/leaderboard/{region} |
Read regional leaderboard records. |
| Community builds | /v1/builds |
Query build records and their metadata. |
The interactive docs are the source of truth for each route’s current parameters and response model. Endpoint availability and fields can change while Deadlock and the independent service are both under active development.
IDs You Need To Keep Straight
| Identifier | Where it appears | Common mistake |
|---|---|---|
hero_id |
Hero assets and hero-specific analytics | Sending a display name where the route expects a numeric game-data ID. |
account_id |
Player history, account stats, and MMR routes | Assuming every Steam URL format is accepted directly by every endpoint. |
match_id |
Match metadata and parsed match routes | Using a local replay filename or tracker URL instead of the numeric match record. |
item_id |
Item assets, builds, and item analytics | Joining by an item label that changed between patches. |
| Region value | Leaderboard routes | Comparing regional positions as if they were one global ranking. |
Resolve names through asset endpoints, then store both the ID and the displayed name in your output. Numeric IDs make joins durable; names make the result readable.
JavaScript And Python Examples
A server-side JavaScript request can check the response before parsing it:
const response = await fetch(
"https://api.deadlock-api.com/v1/assets/heroes"
);
if (!response.ok) {
throw new Error(`Deadlock API returned ${response.status}`);
}
const heroes = await response.json();
console.log(heroes.length);
The equivalent Python request should also set a timeout and fail on a non-success response:
import requests
response = requests.get(
"https://api.deadlock-api.com/v1/assets/heroes",
timeout=30,
)
response.raise_for_status()
heroes = response.json()
print(len(heroes))
For an authenticated server-side request, load the key from an environment variable and pass it as X-API-KEY. A query-string key is easier to leak into logs, browser history, and analytics, so the header is the safer default.
Analytics Filters That Make A Result Reproducible
| Record this | Why it matters |
|---|---|
| Endpoint and access date | Fields and available records can change. |
| Start and end time | A current patch sample can disagree with a long historical window. |
| Mode | Standard, ranked, Street Brawl, and custom matches answer different questions. |
| Rank or MMR bounds | High-rank results should not be generalized to the entire population automatically. |
| Hero, item, region, and platform filters | These define the population represented by the result. |
| Minimum sample and returned match count | Small combinations can produce unstable percentages. |
| Patch label or date boundary | Balance changes can invalidate a mixed sample. |
This is especially important for tier lists, counters, and build win rates. Popularity is not causation, expensive items are selected partly by game duration and existing advantage, and a rare matchup can look extreme by chance. Our Deadlock tier list and Deadlock builds guide show how those caveats change practical recommendations.
Deadlock API Rate Limits And Caching
The current analytics documentation describes limits shared across analytics routes. Read the live operation description before running a large job because limits may differ elsewhere:
| Limit | Current documented value | Practical response |
|---|---|---|
| Per IP | 200 requests per minute | Throttle batches and cache repeated asset or aggregate requests. |
| Per API key | 400 requests per minute | Keep the key server-side and do not treat it as permission to burst recklessly. |
| Global analytics capacity | 2,000 requests per minute | Retry politely with backoff when the service is busy. |
| Analytics cache | Many documented responses may be cached for one hour | Do not poll a slow-changing aggregate every few seconds. |
Common Errors
| Status | Likely meaning | What to do |
|---|---|---|
| 400 | A parameter, ID, date, or filter is invalid | Compare the request with the live schema and allowed values. |
| 401 or 403 | The route requires valid credentials or disallows the request | Check key placement and endpoint access; never print the secret in an error report. |
| 404 | The route or requested record was not found | Verify the path and distinguish a missing record from a service outage. |
| 429 | The request rate is too high | Honor retry information, use exponential backoff, and cache results. |
| 500 or 503 | The independent service failed or is temporarily unavailable | Check health, retry later, and keep the last successful dated snapshot. |
A Reliable Research Workflow
- Write the exact question before choosing an endpoint.
- Resolve hero and item names to current IDs through asset routes.
- Set the narrowest relevant date, mode, rank, hero, and region filters.
- Save the request URL or parameter object, access timestamp, response, and sample count.
- Validate surprising results against another endpoint or a player-facing tracker.
- Describe third-party estimates as estimates, not official Valve ranks or certified truth.
- Refresh the result after major Deadlock patches instead of silently mixing eras.
Deadlock API FAQ
Is there an official Deadlock API?
This guide covers Deadlock API, an independent community project. Its own documentation says it is not endorsed by Valve. Do not label its ratings, parsed assets, or aggregate calculations as official Valve data.
Do I need a Deadlock API key?
Not for every request. The current hero asset request works publicly, while the OpenAPI schema supports keys through the X-API-KEY header or api_key query parameter. Check the specific route’s live documentation.
Can I get Deadlock match history?
Yes. The API documents player match-history and match routes. You need the correct player account or match identifier, and coverage can depend on what the service has discovered and processed.
Can I use the API for a Deadlock stats tracker?
Yes, but cache responsibly, show the date and filters, handle missing records, and keep secrets on the server. The project also links generated OpenAPI clients for developers who prefer a typed client over manual requests.
Why does my API result differ from a tracker website?
The sites may use different ingestion windows, modes, rank models, filters, caches, and minimum samples. Compare those definitions before comparing the displayed number.
Sources And Methodology
Endpoints, authentication schemes, operation count, documented analytics limits, and response-cache notes were checked against the live Deadlock API documentation and OpenAPI schema on July 21, 2026. The public hero asset request and health route were also tested successfully that day. Deadlock API is independent of Valve, and its schema can change.
More Deadlock guides
Move from the fundamentals into heroes, items, builds, and current match data.
