Endpoint Playground
Returns the complete match list supplied for one OpenDota league, including match ID, teams, scores, start time and series metadata. Optionally filter locally to matches involving one team; league_id and team_id are echoed. This source route is not paginated and can include completed or scheduled rows; use opendota_match for parsed player statistics.
29 Oct 2026: 10 matches; 11 fields had a value in every checked item.
Sample value profiles: start_time: 2026-10-23 to 2026-10-27; duration_seconds: 1,462 to 3,537, median 2,196; radiant_win: true in 7 of 10.
curl 'https://api.crawlora.net/api/v1/opendota/league-matches?league_id=20395' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| league_id | integer | Yes | 20395 | Positive league ID from opendota_leagues |
| team_id | integer | No | Optional positive team ID; keeps matches where this team is Radiant or Dire |
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://api.opendota.com/api/leagues/20395/matches",
"fetched_at": "2026-10-27T12:00:00Z",
"league_id": 20395,
"team_id": 8255888,
"count": 45,
"matches": [
{
"match_id": 9063495955,
"start_time": "2026-10-26T20:56:07Z",
"duration_seconds": 2052,
"league_id": 20395,
"radiant_team_id": 8255888,
"radiant_name": "BETBOOM TEAM",
"dire_team_id": 10291652,
"dire_name": "LEGION",
"radiant_score": 32,
"dire_score": 9,
"radiant_win": true,
"series_id": 1160235,
"series_type": 3
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.