# GET /v2/fixtures/{id}/games

Group: Fixtures

Esports: the series game by game — status, map, start and duration, winner, and per side the score, players (role, champion / hero, kills, deaths, assists, then the title’s own figures — League of Legends gold, creep score, level; Dota 2 last hits, denies, net worth, gold and experience per minute; Counter-Strike ADR, headshot kills, KAST, K − D, first-kill difference, flash assists), bans and objectives (towers, dragons, barons, barracks, …).

Note: Esports only: other sports return 200 with an empty array. map is null for titles with one map (League of Legends). Which player and objective fields are filled depends on the title (gold, dragons and barons are League of Legends; denies, netWorth, goldPerMinute, experiencePerMinute, barracks and firstBlood Dota 2; averageDamagePerRound, headshotKills, kastPercentage, killDeathDifference, firstKillDifference and flashAssists Counter-Strike); a field the source does not keep for that title is null. Counter-Strike has no bans or objectives, and a map in play has no lineup yet — the figures appear some minutes after the map ends.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | our numeric id (positive integer) |

## Response

- `data`: `EsportsGame[]`
- `meta`: count
- Objects: EsportsGame (https://sportsapi.app/markdown/en/reference.md#esportsgame)

## Errors

- 403 history_not_in_plan — the fixture is older than your plan’s history

Plus the common errors (https://sportsapi.app/markdown/en/docs.md#errors).

## Request

cURL:

```bash
curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/fixtures/{id}/games"
```

TypeScript:

```ts
const { data, meta } = await client.fixtures.games(id);
```

Python:

```python
res = client.fixtures.games(id)
```

Go:

```go
res, err := client.Fixtures.Games(ctx, id)
```

CLI:

```bash
$ sportsapi fixtures games <id>
```

## Example response

```json
{ "data": [ { "number": 1, "status": "finished", "map": null, "startedAt": "2026-10-23T21:10:55.000Z", "durationSeconds": 1958, "winner": "away",
    "home": { "score": 8, "periods": {},
      "players": [ { "player": { "id": 902114, "name": "Caps", "slug": "caps", "shortName": "Caps", "image": "…" }, "role": "mid",
                     "character": { "name": "Viktor", "slug": "viktor" }, "kills": 1, "deaths": 2, "assists": 4,
                     "gold": 11177, "creepScore": 287, "level": 16,
                     "denies": null, "netWorth": null, "goldPerMinute": null, "experiencePerMinute": null,
                     "averageDamagePerRound": null, "headshotKills": null, "kastPercentage": null,
                     "killDeathDifference": null, "firstKillDifference": null, "flashAssists": null }, … ],
      "bans": [ { "name": "Lucian", "slug": "lucian" }, … ],
      "statistics": { "kills": 8, "gold": 57524, "towers": 3, "inhibitors": 0, "dragons": 3, "elderDragons": 0, "barons": 1, "heraldTaken": false,
                      "barracks": null, "firstBlood": null } },
    "away": { … } }, … ],
  "meta": { "count": 3 } }
```

---

Base URL: https://api.sportsapi.app. Send your API key as `Authorization: Bearer <key>` on every /v2 request; keys are created in the dashboard (https://sportsapi.app/dashboard).
HTML: https://sportsapi.app/docs/fixtures/games · All docs: https://sportsapi.app/markdown/en/docs.md
