Matches
Access match details, live scores, and per-map player statistics
List Recent Matches
/cod/matches/recentGet recently completed matches with team, score, winner, tournament, and schedule metadata. Filter by team, tournament, season, or a recent day window.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
team | string | Team slug filter, e.g. optic-texas |
tournamentId | string | Tournament ID filter |
season | string | Tournament season year |
days | number | Only matches completed in the last N days |
limit | number | Results to return (default: 25, max: 100) |
offset | number | Pagination offset |
Example Request
GET /api/v1/cod/matches/recent?team=optic-texas&limit=5Response
{
"success": true,
"count": 1,
"total": 24,
"data": [
{
"id": "...",
"matchId": "12588",
"round": "Winners Round 1",
"status": "completed",
"startsAt": "2025-01-28T18:00:00Z",
"tournament": {
"tournamentId": "cdl-major-1-2025",
"name": "CDL Major 1"
},
"team1": {
"slug": "optic-texas",
"name": "OpTic Texas",
"score": 3
},
"team2": {
"slug": "atlanta-faze",
"name": "Atlanta FaZe",
"score": 1
},
"winnerSlug": "optic-texas"
}
]
}List Upcoming Matches
/cod/matches/upcomingGet upcoming scheduled and live matches from the database. Use this for team pages, countdowns, and schedule widgets.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
team | string | Team slug filter |
tournamentId | string | Tournament ID filter |
season | string | Tournament season year |
limit | number | Results to return (default: 25, max: 100) |
offset | number | Pagination offset |
Example Request
GET /api/v1/cod/matches/upcoming?season=2026Response
{
"success": true,
"count": 1,
"total": 8,
"data": [
{
"id": "...",
"matchId": "12600",
"status": "scheduled",
"startsAt": "2026-02-07T19:00:00Z",
"bestOf": 5,
"tournament": {
"name": "CDL Major 2 Qualifiers",
"season": "2026"
},
"team1": {
"slug": "optic-texas",
"name": "OpTic Texas",
"score": 0
},
"team2": {
"slug": "los-angeles-thieves",
"name": "Los Angeles Thieves",
"score": 0
}
}
]
}Get Match Details
/cod/matches/:idGet full match details including per-map scores, player stats, and VOD links.
Example Request
GET /api/v1/cod/matches/12588Response
{
"success": true,
"data": {
"id": "...",
"matchId": "12588",
"round": "Winners Round 1",
"team1": {
"slug": "optic-texas",
"name": "OpTic Texas",
"logoUrl": "..."
},
"team2": {
"slug": "atlanta-faze",
"name": "Atlanta FaZe",
"logoUrl": "..."
},
"team1Score": 3,
"team2Score": 1,
"winnerSlug": "optic-texas",
"matchDate": "2025-01-28T18:00:00Z",
"status": "completed",
"tournament": {
"name": "CDL Major 1",
"id": "cdl-major-1-2025"
},
"maps": [
{
"mapNumber": 1,
"mapName": "Rewind",
"mapImageUrl": "https://...",
"gameMode": "Hardpoint",
"team1Score": 250,
"team2Score": 180,
"played": true,
"pickedBy": "optic-texas"
}
],
"playerStats": [...]
}
}Get Match Maps
/cod/matches/:id/mapsGet per-map breakdown for a match including scores and game modes.
Response
{
"success": true,
"data": [
{
"mapNumber": 1,
"mapName": "Rewind",
"gameMode": "Hardpoint",
"team1Score": 250,
"team2Score": 180,
"winner": "optic-texas",
"duration": "10:23"
}
]
}Get Map Player Stats
/cod/matches/:id/maps/:mapNumber/player-statsGet individual player stats for a specific map in a match.
Example Request
GET /api/v1/cod/matches/12588/maps/1/player-statsResponse
{
"success": true,
"data": {
"map": {
"mapNumber": 1,
"mapName": "Rewind",
"gameMode": "Hardpoint"
},
"players": [
{
"ign": "Shotzzy",
"team": "optic-texas",
"kills": 32,
"deaths": 24,
"kd": 1.33,
"damage": 4850,
"hillTime": "1:45",
"engagements": 56
}
]
}
}Get Match Player Stats
/cod/matches/:id/player-statsGet match-level per-player totals aggregated across all maps, with optional game/map-level player stats included. This is the recommended endpoint for fantasy, betting, post-match reports, and player performance dashboards.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
includeMaps | boolean | Include per-map/game player stat rows for each player (default: true) |
Example Request
GET /api/v1/cod/matches/bp-match-214935/player-stats?includeMaps=trueResponse
{
"success": true,
"data": {
"match": {
"matchId": "bp-match-214935",
"bpMatchId": 214935,
"status": "completed",
"round": "Round 2",
"matchDate": "2026-04-25T20:30:00.000Z"
},
"teams": {
"team1": {
"slug": "faze-vegas",
"name": "FaZe Vegas"
},
"team2": {
"slug": "riyadh-falcons",
"name": "Riyadh Falcons"
}
},
"score": {
"team1": 3,
"team2": 1,
"formatted": "3-1"
},
"winnerSlug": "faze-vegas",
"source": "breakingpoint",
"count": 8,
"players": [
{
"playerName": "Simp",
"teamSlug": "faze-vegas",
"mapsPlayed": 4,
"kills": 88,
"deaths": 70,
"assists": 31,
"kd": 1.26,
"damage": 10425,
"hillTime": 91,
"firstBloods": 3,
"plants": 1,
"defuses": 0,
"highestStreak": 8,
"ratings": {
"overall": 1.08
},
"maps": [
{
"mapNumber": 1,
"mapName": "Protocol",
"gameMode": "Hardpoint",
"kills": 28,
"deaths": 20,
"damage": 3290
}
]
}
]
}
}Get Live Matches
/cod/matches/live/cod/cdl/liveGet currently live matches with real-time scores. Perfect for live score tickers and notifications.
Response
{
"success": true,
"isLive": true,
"count": 1,
"data": [
{
"matchId": "...",
"tournament": "CDL Major 1",
"round": "Winners Final",
"team1": {
"name": "OpTic Texas",
"slug": "optic-texas",
"score": 2
},
"team2": {
"name": "Atlanta FaZe",
"slug": "atlanta-faze",
"score": 1
},
"currentMap": {
"mapNumber": 4,
"mapName": "Highrise",
"gameMode": "Hardpoint"
},
"bestOf": 5,
"status": "live",
"startedAt": "2025-01-28T19:00:00Z"
}
]
}