Endpoint Playground
Returns a team's complete upstream match history with league, opponent, score and winner data. The source does not paginate this list; large histories can contain over a thousand rows. Use opendota_match for parsed player statistics.
29 Oct 2026: 1,268 matches; 12 fields had a value in every checked item and 1 varied between items.
Field counts and value profiles examine the first 500 checked items of 1,268 returned.
Sample value profiles: start_time: 2025-02-26 to 2026-10-27; duration_seconds: 872 to 5,500, median 2,394; league_name: “PARI UNIVERSE by FISSURE” and 28 other values.
curl 'https://api.crawlora.net/api/v1/opendota/team-matches?team_id=8255888' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| team_id | integer | Yes | 8255888 | Positive OpenDota team ID from opendota_teams or a match response |
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://api.opendota.com/api/teams/8255888/matches",
"fetched_at": "2026-10-27T12:00:00Z",
"team_id": 8255888,
"count": 1266,
"matches": [
{
"match_id": 9063495955,
"start_time": "2026-10-26T20:56:07Z",
"duration_seconds": 2052,
"league_id": 20395,
"league_name": "PARI UNIVERSE by FISSURE",
"radiant": true,
"radiant_score": 32,
"dire_score": 9,
"radiant_win": true,
"team_win": true,
"opposing_team_id": 10291652
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.