# GET /v2/fixtures/counts

Group: Fixtures

How many fixtures a UTC day has, without paging it: with sport, the day’s total and one row per category (country, region, tour) with its fixture and league counts — any day; without sport, every sport’s total for today. liveCount is the number in play now.

Note: UTC days, like /v2/fixtures. liveCount (today only, else null) is our live index — the same figure as /v2/sports — not a count of the day’s list, so it can include a match that started yesterday. Categories come most fixtures first; the source keeps no per-category live count, so none is given. fixtureCount with sport adds up the categories; without sport it adds up the sports — the two can differ by a few percent for the same sport (the category list counts some matches carried over from late the previous day). The race sports (motorsport, cycling) have no categories here: use /v2/races. Every plan.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `date` | query | no | a UTC day, YYYY-MM-DD (default today; 1990-01-01 up to a year ahead). Without sport only today |
| `sport` | query | no | a sport slug: count its day per category |

## Response

- `data`: `FixtureCounts`
- Objects: FixtureCounts (https://sportsapi.app/markdown/en/reference.md#fixturecounts)

## Errors

- 400 bad_request — invalid date, unknown sport, or a day other than today without sport
- 403 history_not_in_plan — the day is older than your plan’s history
- 503 upstream_unavailable — the count could not be fetched right now

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/counts"
```

TypeScript:

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

Python:

```python
res = client.fixtures.counts()
```

Go:

```go
res, err := client.Fixtures.Counts(ctx, &sportsapi.FixturesCountsParams{})
```

CLI:

```bash
$ sportsapi fixtures counts
```

## Example response

```json
$ curl -H "Authorization: Bearer sk_live_…" "https://api.sportsapi.app/v2/fixtures/counts?sport=football"

{ "data": { "date": "2026-11-04", "sport": "football", "fixtureCount": 1216, "liveCount": 46, "sports": [],
    "categories": [ { "category": { "id": 3112, "name": "USA", "slug": "usa", "sport": "football",
                                    "country": { "code": "US", "name": "USA", "flag": "https://cdn.sportsapi.app/v2/countries/US/flag" } },
                      "fixtureCount": 121, "leagueCount": 6 },
                    { "category": { "id": 3405, "name": "Europe", "slug": "europe", "sport": "football", "country": null },
                      "fixtureCount": 37, "leagueCount": 4 }, … ] } }

$ curl -H "Authorization: Bearer sk_live_…" "https://api.sportsapi.app/v2/fixtures/counts"

{ "data": { "date": "2026-11-04", "sport": null, "fixtureCount": 3577, "liveCount": 151, "categories": [],
    "sports": [ { "sport": "football", "fixtureCount": 1171, "liveCount": 46 },
                { "sport": "table-tennis", "fixtureCount": 1013, "liveCount": 13 }, … ] } }
```

---

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