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

Group: Teams

A page of the team’s recent or upcoming fixtures.

Note: A known team with nothing in the list answers 200 with an empty array. One rule for every competitor list (since 2026-10-24): upcoming = not started (or postponed to a date ahead), soonest first — page 0 also picks up a next match the source files under recent (tennis players, fighters); recent = in play, finished or called off, newest first on every page. The status, score and clock of a match in play (or just finished) are current to the second; a match that kicks off appears in recent on the next request, and both lists are refreshed on the first request after one of the team’s matches ends, is moved or is postponed (see Data freshness).

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | our numeric id (positive integer) |
| `type` | query | no | recent \| upcoming (default upcoming) |
| `page` | query | no | page index, an integer 0–50 (default 0) |

## Response

- `data`: `Fixture[]`
- `meta`: type, page, count, hasNextPage
- Objects: Fixture (https://sportsapi.app/markdown/en/reference.md#fixture)

## Errors

- 400 bad_request — type not recent|upcoming, or page not an integer 0–50

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/teams/{id}/fixtures"
```

TypeScript:

```ts
const { data, meta } = await client.teams.fixtures(id);
for await (const page of client.teams.fixturesPages(id)) { … }
```

Python:

```python
res = client.teams.fixtures(id)
for page in client.teams.fixtures_pages(id): ...
```

Go:

```go
res, err := client.Teams.Fixtures(ctx, id, &sportsapi.TeamsFixturesParams{})
for page, err := range client.Teams.FixturesPages(ctx, id, &sportsapi.TeamsFixturesParams{}) { … }
```

CLI:

```bash
$ sportsapi teams fixtures <id>
$ sportsapi teams fixtures <id> --all -o csv
```

## Example response

```json
{ "data": [ { "id": 202006, "status": { "type": "finished", … }, … } ],
  "meta": { "type": "recent", "page": 0, "count": 30, "hasNextPage": true } }
```

---

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/teams/fixtures · All docs: https://sportsapi.app/markdown/en/docs.md
