Endpoint Playground
Returns how often a hero faced each other hero in recent public games and how often it won, sorted by games played, with localized hero names and win-rate percentages. An unknown hero id returns not found.
29 Oct 2026: 126 matchups; 5 fields had a value in every checked item.
Sample value profiles: games: 2 to 81, median 23; localized_name: “Storm Spirit” and 125 other values; wins: 1 to 42, median 12.
curl 'https://api.crawlora.net/api/v1/opendota/hero-matchups?hero_id=1' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| hero_id | integer | Yes | 1 | Positive hero ID from opendota-heroes |
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://api.opendota.com/api/hero-matchups",
"fetched_at": "2026-10-28T10:00:00Z",
"hero_id": 1,
"count": 1,
"matchups": [
{
"hero_id": 17,
"localized_name": "Storm Spirit",
"games": 82,
"wins": 41,
"win_rate_percent": 50
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.