# KickoffAPI SDKs & tooling

- `javascript/` - JS/TS client (Node 18+ / browser) — talks to v2 by default
- `python/` - Python client (requests) — talks to v2 by default
- `postman_collection.json` - import into Postman; set the `apiKey` variable
- OpenAPI spec: `/openapi.yaml` (also served at https://kickoffapi.com/openapi.yaml)

Get a free API key at https://kickoffapi.com/portal/. Full docs: https://docs.kickoffapi.com/.

## v2 (native API, current — start here)
KickoffAPI v2 uses our own native id space and a `{ data, meta }` envelope with cursor pagination, under `/api/v2/*`.
- Spec: `/openapi-v2.yaml` (https://kickoffapi.com/openapi-v2.yaml) · Reference: https://docs.kickoffapi.com/api-v2-reference.html
- Switch your keys to v2 from the portal (Settings → API version) or `POST /api/account/switch-to-v2`. v1 keeps working during the grace window.
- Same `x-api-key` auth. Example: `curl https://api.kickoffapi.com/api/v2/fixtures?league=<koId>&season=2024 -H "x-api-key: KEY"`.

## v1 (legacy — sunsets 01 Jan 2027)
The API-Football-compatible `{ get, results, response }` shape, under `/api/v1/*`. Reference: https://docs.kickoffapi.com/api-v1-reference.html · [Migration guide](https://docs.kickoffapi.com/migration.html).
