canonical: https://jentic.com/apis/kickoffapi.com/kickoffapi

# KickoffAPI — Football Data API (v1, legacy)

The KickoffAPI v1 API returns football (soccer) data as JSON: live scores, fixtures and results, lineups, match events, team and player statistics, head-to-head records, standings, injuries, transfers, predictions, and pre-match and in-play odds across 1,245 leagues in 171 countries. Fixtures can be filtered by date, league, season, team, round, status, and venue, or limited to live matches, and per-fixture events, lineups, statistics, and player stats are addressable by fixture id in the path. Responses come flat by default, with a nested fixture, league, teams, goals, and score shape available through format=nested on leagues, fixtures, and head-to-head. This v1 surface is legacy and frozen until its sunset on 01 January 2027; new integrations should use v2.

## For AI agents

Get live football scores, fixtures, lineups, match events, standings, player and team statistics, injuries, transfers, predictions, and odds across 1,245 leagues. Legacy v1, live until 01 January 2027.

## Scope

Does not place bets, stream video, or cover sports other than football. Use for reading football fixtures, statistics, standings, and odds data only.

## Capabilities

- List fixtures by date, league, season, team, round, status, or venue, or only live matches, with an optional timezone
- Read a fixture's events, lineups, team statistics, and player statistics by fixture id
- Compare two teams' past and upcoming meetings with the head-to-head endpoint
- Get league standings for a season, plus top scorers, top assists, and top yellow and red cards
- Look up player profiles, squads, injuries, sidelined periods, transfers, and trophies
- Read pre-match odds by fixture, league, bookmaker, or bet type, and in-play odds from `/odds/live`
- Check the key's plan and today's and this month's usage against its daily and monthly ceilings

## Use cases

### Match-Day Assistant Through Jentic

An AI agent answering football questions lists live fixtures, reads the events and lineups for the match the user cares about, and pulls the league standings for context. Through Jentic the agent finds each KickoffAPI operation by intent and calls it with your x-api-key, which stays on your own machine, and the read-only surface means it can only fetch data.

Example prompt: List fixtures with the live filter, pick the match for a given team, then read GET `/fixtures/{id}/events` and GET `/fixtures/{id}/lineups` and summarise the match so far

### Pre-Match Preview

A content writer or fantasy player wants a preview before kickoff. The agent pulls the head-to-head record, injuries and sidelined players for both sides, the fixture prediction, and each team's season statistics, then assembles a short preview.

Example prompt: For an upcoming fixture, call GET `/fixtures/headtohead` with the two team ids in h2h, GET /injuries for the fixture, and GET /predictions with the fixture id, then write a preview

### League Tables and Leaderboards

A sports site keeps tables and leaderboards current. The agent reads standings for a league and season, then top scorers, top assists, and top yellow and red cards for the same league and season, which are the required parameters on each leaderboard endpoint.

Example prompt: Get standings for a league id and season 2025, then top scorers and top assists for the same league and season, and return the top five of each

### Odds Monitoring

A betting analyst tracks prices. The agent lists bookmakers and bet types, reads pre-match odds for a fixture filtered by bookmaker and bet, and polls in-play odds for live matches, reading the X-RateLimit-Remaining header to stay within the plan.

Example prompt: List bookmakers and bets, get odds for a fixture with one bookmaker and bet id, then read GET `/odds/live` for that fixture

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/fixtures` | List fixtures and live scores |
| GET | `/fixtures/{id}/events` | Get a fixture's events |
| GET | `/fixtures/{id}/lineups` | Get a fixture's lineups |
| GET | `/fixtures/headtohead` | Get head-to-head fixtures |
| GET | `/standings` | Get league standings |
| GET | `/players/topscorers` | Get top scorers |
| GET | `/odds/live` | Get in-play odds |
| GET | `/account/status` | Get usage against plan ceilings |

## Key resources

- **Fixtures** — Fixtures and results with events, lineups, team and player statistics, rounds, and head-to-head.
- **Leagues and standings** — Leagues, seasons, and standings by league and season.
- **Teams and players** — Teams, team statistics, logos, players, squads, profiles, leaderboards, coaches, injuries, sidelined, transfers, and trophies.
- **Odds and predictions** — Pre-match and in-play odds, bookmakers, bet types, and fixture predictions.
- **Account** — Plan and usage against daily and monthly ceilings.

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 42 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 45 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 10 / 100
- **View full report:** https://jentic.com/apis/kickoffapi.com/kickoffapi/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring KickoffAPI by hand means sending the x-api-key header, choosing between flat and nested response shapes, and pacing calls against its rate limit headers and Retry-After on 429. Through Jentic you install once, import KickoffAPI from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** KickoffAPI puts the fixture id in the URL path for events, lineups, and statistics (`/fixtures/{id}/events`), so a rule can pin your agent to one match, while the list endpoints take league, team, and season as query parameters and are bounded by operation. You choose the operations it may call, so endpoints like the odds feeds are not included unless you add them.
- **Credential handling:** Your KickoffAPI key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'live football scores' or 'Premier League standings', and Jentic returns the matching KickoffAPI operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **API-Football** — API-Football serves similar fixture, standings, and odds data in the nested shape KickoffAPI offers via format=nested.
- **Sportmonks** — Sportmonks is another football data provider covering fixtures, live scores, and statistics.
- **The Odds API** — The Odds API aggregates odds from many bookmakers across sports.

## FAQ

### What authentication does the KickoffAPI v1 API use?

Per its OpenAPI spec, KickoffAPI v1 authenticates with an API key sent in the x-api-key header on every request. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's context.

### Is there a KickoffAPI MCP server?

You don't need an MCP server to give your agent KickoffAPI. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls it, discovering fixture, standings, and odds operations on demand instead of loading a server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the KickoffAPI v1 API?

Yes. Every operation is a read, but each one spends your plan's allowance, so write a rule that allows only the fixtures, standings, and per-fixture events operations for a scores agent and leave the odds and player endpoints out. Every call it makes is logged, so you can see what used the quota.

### What are the rate limits for the KickoffAPI v1 API?

Per the KickoffAPI spec, plans are Free 100/day (30/min), Starter 7,500/day (120/min), Pro 75,000/day (300/min), and Ultra 250,000/day (600/min), with Enterprise on request. Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset per minute plus daily equivalents, and a 429 carries Retry-After in seconds.

### Is KickoffAPI v1 still supported?

v1 is legacy and frozen, and stays live until its sunset on 01 January 2027. KickoffAPI recommends v2 for new integrations, which uses its own string identifiers and a data and meta envelope.

### Can KickoffAPI return the nested fixture format?

Yes. Responses are flat by default, and GET /leagues, GET /fixtures, and GET `/fixtures/headtohead` return the nested fixture, league, teams, goals, and score shape when you pass format=nested. Use format=flat to force the flat row back.

### How do I get live football scores with KickoffAPI through Jentic?

Search Jentic for an intent like 'get live football scores', import the KickoffAPI v1 API from the API Directory, and store your API key. Your agent calls GET /fixtures with the live filter, then GET `/fixtures/{id}/events` for goals and cards in a match. To run it on your own infrastructure, install Jentic One from its GitHub repo.
