canonical: https://jentic.com/apis/api-football.com/api-football

# API-FOOTBALL

API-FOOTBALL provides structured access to football (soccer) data covering 1100+ leagues and cups worldwide, including fixtures, lineups, events, statistics, standings, top scorers, transfers, injuries, predictions, and pre-match and in-play odds. Data is updated continuously and supports historical lookback as well as live in-play coverage. The 38 endpoints in this spec cover everything from base reference data such as countries and timezones to deep per-fixture statistics. Authentication is via an x-rapidapi-key style API key passed in the header.

## For AI agents

Look up live and historical football fixtures, standings, lineups, statistics, transfers, injuries, predictions, and odds across more than a thousand leagues.

## Scope

Does not handle ticketing, fantasy league management, or non-football sports - use for football fixture, standings, odds, and player data only.

## Capabilities

- Pull live and historical fixtures with status, score, lineups, events, and statistics for a chosen league and season
- Retrieve current and historical standings for a league or cup with position, points, and goal difference
- Look up team and player profiles, season statistics, transfer history, and injury status
- Fetch pre-match and in-play odds plus model-driven match predictions for a fixture
- Discover the catalogue of supported leagues, seasons, countries, and venues for query-building

## Use cases

### Live Match Tracking

Build a live football scoreboard or in-play assistant that polls /fixtures with the live filter to surface in-progress matches and their current score, period, and event timeline. The same fixture id then unlocks /fixtures/lineups, /fixtures/events, and /fixtures/statistics for richer context. This supports media products, fan apps, and trading dashboards that need real-time match state across many leagues.

Example prompt: Call GET /fixtures with live=all, then for the first returned fixture id call /fixtures/events and /fixtures/statistics and summarise the current state

### League Standings and Top Scorers

Build a season tracker that surfaces the current league table, top scorers, and top assists for a given league and season. /standings returns positional data with points, wins, draws, and losses, while /players/topscorers and /players/topassists rank individual contributions. This is core data for fantasy football tools, editorial widgets, and analyst dashboards.

Example prompt: Call /standings with league=39 season=2024 to fetch the Premier League table, then /players/topscorers with the same parameters to list the top scorers

### Pre-Match Odds and Predictions

Retrieve pre-match odds from /odds and model-driven predictions from /predictions for an upcoming fixture, then combine the two to build value-spotting signals. The endpoints are scoped to league and season so the agent can iterate across all matches in a round. This pattern is used by tipping content, model-research notebooks, and trading research stacks.

Example prompt: Call /predictions for fixture id 12345 and /odds for the same fixture, then return the model probabilities alongside the bookmaker odds

### Squad and Transfer Intelligence

Track squad changes by combining /players/squads for current rosters, /transfers for incoming and outgoing moves, and /injuries to flag players unavailable for selection. This gives an up-to-date view of a club's available pool ahead of a fixture and powers scout-style content and fantasy team selection tools.

Example prompt: Call /players/squads with team=541 to fetch Real Madrid's current squad, then /transfers and /injuries for the same team and merge into one report

### Agent Integration via Jentic

An AI agent built on Jentic can search for the API-FOOTBALL fixture and standings operations by intent and execute them without holding the API key in agent context. Jentic's your Jentic One instance holds the credential and returns scoped access to the agent at execution time, which matters when the same agent calls multiple sports providers and credential isolation is a requirement.

Example prompt: Use Jentic search for 'get live football fixtures', load the /fixtures operation, execute it with live=all, and pass the returned fixture ids into a follow-up /fixtures/statistics call

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /fixtures | List fixtures filtered by league, season, team, or live status |
| GET | /standings | Get league or cup standings for a season |
| GET | /leagues | List supported leagues and cups |
| GET | /teams | Look up team profiles and search by name or country |
| GET | /players | Look up player profiles and season statistics |
| GET | /predictions | Get model-driven predictions for a fixture |
| GET | /odds | Get pre-match odds for a fixture or league round |

## Key resources

- **Fixtures** — Match data covering live, historical, head-to-head, lineups, events, statistics, and per-player stats
- **Leagues and Seasons** — Catalogue of supported leagues and the seasons available for each
- **Teams** — Team profiles, season statistics, country lookups, and venues
- **Players** — Player profiles, season statistics, top scorers, top assists, and squads
- **Standings** — League and cup standings by season
- **Transfers and Injuries** — Transfer history and current injury status by team or player
- **Odds and Predictions** — Pre-match and in-play odds plus model-driven match predictions

## Why Jentic

- **Setup:** Wiring API-FOOTBALL by hand means handling its API key header, targeting the v3 host, and mapping fixture, standings, odds, and player routes with their query parameters yourself. Through Jentic you install once, import API-FOOTBALL from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** API-FOOTBALL selects data through query parameters rather than resource ids in the URL path, so you limit the agent to the operations it needs, such as reading fixtures or standings. Broader data operations like odds or predictions are only available if you include them in the allowed set.
- **Credential handling:** Your API-FOOTBALL key is stored once, encrypted, by your own Jentic One instance and injected as the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get football league standings' or 'get live football fixtures', and Jentic returns the matching API-FOOTBALL operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **API-FOOTBALL (Free Tier)** — The free-tier surface of API-FOOTBALL with the same endpoint set
- **API-Sports Football v3** — The api-sports.io direct-listing of the same football data surface
- **Sportmonks Football API** — Football data provider with a different licence model and coverage profile
- **TheSportsDB** — Open sports database covering team, league, and event metadata across multiple sports
- **SportsData.io** — Multi-sport data provider including soccer, NFL, NBA, and others

## FAQ

### What authentication does API-FOOTBALL use?

API-FOOTBALL is called with an API key in the request header (x-rapidapi-key when accessed through RapidAPI, or x-apisports-key when accessed directly via api-sports.io). When called through Jentic the key is held in your Jentic One instance and a scoped execution token is granted to the agent at call time.

### Can I get live in-play scores with API-FOOTBALL?

Yes. Call GET /fixtures with the live=all parameter to receive only currently in-progress matches with their period, score, and elapsed time. Pair the returned fixture id with /fixtures/events and /fixtures/statistics for live event and stat feeds.

### What are the rate limits for API-FOOTBALL?

Rate limits are tied to your subscription tier on api-sports.io: the free plan permits 100 requests per day, while paid tiers raise the daily allowance and lift per-minute limits. The OpenAPI spec does not encode the limits - check your dashboard for the exact ceiling and respect any 429 responses with backoff.

### How do I fetch a league table through Jentic?

Install the Jentic SDK with pip install jentic, search for 'get football league standings', load the GET /standings operation, and execute it with league and season parameters. Run it through Jentic One, the self-hosted execution layer to get a Jentic agent key.

### Does API-FOOTBALL include historical data?

Yes. Most endpoints accept a season parameter that lets you retrieve historical fixtures, standings, statistics, and transfers going back several seasons. Use GET /leagues/seasons to discover the seasons available for a given league before querying historical data.

### Can I get bookmaker odds for upcoming matches?

Yes. GET /odds returns pre-match odds across multiple bookmakers for upcoming fixtures, scoped by league, season, and round. Pair it with GET /predictions for the same fixture id to compare model-driven probabilities against the market.

### Can I limit what my agent is allowed to do with the API-FOOTBALL API?

Yes. Because you run Jentic One yourself, your own rules decide which API-FOOTBALL operations and credentials the agent may use. Since API-FOOTBALL selects data through query parameters rather than resource ids in the URL path, you can allow the agent only the read operations it needs, such as fetching fixtures or standings. Broader data operations like odds or predictions are available to the agent only when you add them to the allowed set.
