Endpoint Playground
Returns recent professional and public matches in which a hero was played (about 100), each with the side it played, whether it won, its kills, deaths and assists, duration and league when there is one. Players' account ids are not returned. An unknown hero id returns not found.
29 Oct 2026: 100 matches; 10 fields had a value in every checked item.
Sample value profiles: start_time: 2026-06-23 to 2026-10-28; duration_seconds: 1,237 to 3,581, median 2,350; league_name: “PARI UNIVERSE by FISSURE” and 15 other values.
curl 'https://api.crawlora.net/api/v1/opendota/hero-matches?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/heroes/1/matches",
"fetched_at": "2026-10-29T01:20:00Z",
"hero_id": 1,
"localized_name": "Anti-Mage",
"count": 1,
"matches": [
{
"match_id": 9066084051,
"start_time": "2026-10-28T16:08:19Z",
"duration_seconds": 2767,
"played_radiant": false,
"won": false,
"league_id": 20395,
"league_name": "PARI UNIVERSE by FISSURE",
"kills": 5,
"deaths": 9,
"assists": 5
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.