Endpoint Playground
Returns a compact parsed match summary and player lines for one numeric OpenDota match ID. Copy the ID from opendota_live, opendota_pro_matches, opendota_league_matches, or opendota_league_match_ids. Replay-derived player data can be absent or delayed; a missing match ID returns not found. Steam account IDs, chat logs, replay salts and raw telemetry are not returned. `hero_id` is resolved with opendota_heroes.
29 Oct 2026: 10 players; 14 fields had a value in every checked item.
Sample value profiles: kills: 0 to 12, median 4; name: “Sage of the Six Paths” and 9 other values; is_radiant: true in 5 of 10.
curl 'https://api.crawlora.net/api/v1/opendota/match?id=9063495955' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | integer | Yes | 9063495955 | Positive OpenDota match ID from live, pro-match, league-match, or league-match-ID results |
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://api.opendota.com/api/matches/9063495955",
"fetched_at": "2026-10-27T09:50:00Z",
"match_id": 9063495955,
"start_time": "2026-10-26T20:56:07Z",
"duration_seconds": 2052,
"league_id": 20395,
"league_name": "PARI UNIVERSE by FISSURE",
"patch": 59,
"radiant_win": true,
"radiant_score": 32,
"dire_score": 9,
"radiant": {
"id": 8255888,
"name": "BETBOOM TEAM",
"tag": "BB"
},
"dire": {
"id": 10291652,
"name": "LEGION",
"tag": "LEGION"
},
"players": [
{
"name": "player-name",
"is_radiant": true,
"hero_id": 93,
"kills": 5,
"deaths": 1,
"assists": 16,
"last_hits": 287,
"denies": 12,
"gold_per_min": 656,
"xp_per_min": 781,
"net_worth": 21553,
"hero_damage": 24331,
"tower_damage": 1234,
"level": 28
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.