canonical: https://jentic.com/apis/fantasy.premierleague.com/fantasy-premierleague

# Fantasy Premier League API

Jentic publishes the only available OpenAPI specification for Fantasy Premier League API, keeping it validated and agent-ready. The Fantasy Premier League API serves the live data behind the official FPL game: every player with prices, form, points and expected-goals stats, the 20 Premier League clubs, the 38 gameweeks with their deadlines, fixtures and fixture difficulty ratings, and live gameweek scoring. It also exposes individual managers, their squads and captain picks, their transfer and season history, and both classic and head-to-head mini-league standings. The data is read-only and public for game data, with only the signed-in account endpoint requiring the manager's FPL session cookie.

## For AI agents

Read Fantasy Premier League game data: player prices and form, fixtures and difficulty ratings, live gameweek scoring, manager squads and transfers, and mini-league standings.

## Scope

Does not handle team transfers, chip activation, or any account write actions. Use for reading Fantasy Premier League game, manager, and league data only.

## Capabilities

- Retrieve every player's price, form, points, and expected-goals stats from the bootstrap-static feed
- List Premier League fixtures with kickoff times and fixture difficulty ratings
- Read live gameweek scoring and bonus points for every player in an event
- Look up a manager's squad, captain pick, and transfer history for any gameweek
- Fetch classic and head-to-head mini-league standings tables
- Get the highest-scoring dream team XI for a completed gameweek

## Use cases

### AI Agent for Fantasy Squad Decisions

An AI assistant helps a manager pick transfers and a captain by pulling the bootstrap-static player feed for prices and form, the fixtures feed for upcoming difficulty ratings, and a manager's current picks. Through Jentic the agent discovers each Fantasy Premier League operation by intent and reads the data without the manager wiring any HTTP calls, so recommendations are grounded in the same live numbers the official game uses.

Example prompt: Fetch bootstrap-static, rank forwards by form and expected goals, cross-reference the next gameweek's fixture difficulty, and suggest a captain

### Live Gameweek Tracking

A live dashboard shows points as they happen during a gameweek. It reads the live event feed for per-player scoring and bonus, checks the event-status feed to know when scores are provisional versus finalised, and refreshes a manager's picks so the running total is accurate. This lets fans and tools follow a gameweek minute by minute without scraping the website.

Example prompt: Poll the live event feed for the current gameweek, sum a manager's picks, and report their provisional gameweek score and rank movement

### Mini-League Rivalry Tracking

A group of friends wants an automated weekly summary of their private mini-league. The tool reads classic and head-to-head league standings, pulls each rival's gameweek squad, and highlights differentials and captaincy calls. It turns the standings and picks feeds into a shareable recap without anyone logging into the FPL site.

Example prompt: Read the classic league standings for a league id, fetch the top three managers' picks for the current gameweek, and list the captains they chose

### Player Scouting and Price Monitoring

A scouting tool tracks which players are rising in ownership and price and which have favourable upcoming fixtures. It reads player form and stats from bootstrap-static, joins each player's detailed gameweek history from the element-summary feed, and layers on fixture difficulty ratings so a manager can plan transfers several gameweeks ahead.

Example prompt: For a shortlist of midfielders, fetch each player's element-summary history and their next five fixtures' difficulty, then rank them by expected returns

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/bootstrap-static/` | All core game data: players, clubs, and gameweeks |
| GET | `/fixtures/` | Fixtures and results with difficulty ratings |
| GET | `/element-summary/{element_id}/` | One player's detailed gameweek history |
| GET | `/event/{event_id}/live/` | Live points and stats for a gameweek |
| GET | `/entry/{entry_id}/` | A manager's profile and overall rank |
| GET | `/entry/{entry_id}/history/` | A manager's gameweek and past-season history |
| GET | `/leagues-classic/{league_id}/standings/` | Classic mini-league standings table |

## Key resources

- **Game data** — Core static and live game feeds: players, clubs, gameweeks, fixtures, live scoring, event status, dream team, and set-piece notes
- **Managers** — A manager's profile, squad picks, transfer history, and season-by-season history
- **Leagues** — Classic and head-to-head mini-league standings and head-to-head match results

## Why Jentic

- **Setup:** Wiring the Fantasy Premier League API by hand means handling an undocumented base path, knowing which single endpoint needs the FPL session cookie while the rest are public, and pacing your live-feed polling yourself. Through Jentic you install once, import the API from the Directory, and your agent reads the feeds.
- **Permission scoping:** The Fantasy Premier League API is read-only and puts manager and league ids in the URL path, so a rule can pin your agent to specific managers or leagues and to the feeds you pick. You choose which read operations it may call, so the signed-in account endpoint is not included unless you add it.
- **Credential handling:** The game-data feeds need no credential. When a workflow uses the signed-in account endpoint, its FPL session cookie is stored once, encrypted, by your own Jentic One instance and injected at execution time, so it never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get Premier League fixtures' or 'look up a manager's squad', and Jentic returns the matching Fantasy Premier League operation with its input schema so the agent calls the right feed without browsing reference docs.

## Related APIs

- **TheSportsDB API** — Free multi-sport data covering many football leagues, not just fantasy scoring
- **API-Football** — Detailed real-match fixtures, lineups, and statistics for football competitions
- **Sportmonks** — Football data feeds with live scores, standings, and player statistics

## FAQ

### Why is there no official OpenAPI spec for Fantasy Premier League API?

The Premier League does not publish an OpenAPI specification for its Fantasy Premier League game. Jentic generates and maintains this spec so that AI agents and developers can call the Fantasy Premier League API through structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### What authentication does the Fantasy Premier League API use?

Per its OpenAPI spec the game-data endpoints are public and need no credential. Only the signed-in account endpoint requires the manager's FPL session cookie, named sessionid, which the Premier League login flow issues. When a workflow needs that endpoint, Jentic stores the cookie encrypted on your own instance and injects it at call time so it never reaches the agent's context.

### Can I get live gameweek points from the Fantasy Premier League API?

Yes. The live event feed returns per-player points, stats, and bonus for every player in a gameweek, and the event-status feed tells you whether those points are still provisional or have been finalised. Combined with a manager's picks you can compute a running gameweek score and rank movement.

### What are the rate limits for the Fantasy Premier League API?

The OpenAPI spec does not specify rate limits. The API is unofficial and undocumented by the Premier League, so cache responses such as bootstrap-static and poll live feeds sparingly during matches; check https://fantasy.premierleague.com for current guidance.

### How do I read a manager's squad with the Fantasy Premier League API through Jentic?

Search Jentic for an intent like 'get a manager's picks for a gameweek', and it returns the entry picks operation under `/entry/{entry_id}/event/{event_id}/picks`/ with its input schema. Supply the manager's entry id and the gameweek number and the agent reads the squad, captain, and bench directly.

### Can I limit what my agent is allowed to do with the Fantasy Premier League API?

Yes. The API is read-only, so write a rule that allows only the feeds the task needs, such as bootstrap-static and the fixtures feed, and leave the signed-in account endpoint out of the allowed set. Manager and league ids sit in the URL path, so a rule can also pin the agent to specific managers or leagues, and every call it makes is logged.

### Is there a Fantasy Premier League MCP server?

You don't need an MCP server to give your agent the Fantasy Premier League API. Jentic connects it directly from the API Directory: import it, and your agent calls the game-data feeds on demand without loading another server's tool definitions into its context.
