Last Update:3/23/2025


The Fantasy Premier League (FPL) API provides access to a dataset covering the Premier League season including player statistics, team details, fixtures, FPL manager profiles, and league standings. This documentation is designed to help developers integrate the API into their projects.

Overview

The FPL API is a publicly accessible RESTful API that delivers real-time and historical data. No authentication is required.


Base URL

All API requests are made relative to the following base URL:

All API requests are made relative to the following base URL:

[<https://fantasy.premierleague.com/api/>](<https://fantasy.premierleague.com/api/>)

Authentication

The FPL API requires no authentication. It’s fully public.


Endpoints

Core Endpoints

Bootstrap Static

Response Structure:

Field Type Description
events Array List of gameweek objects with details like deadlines and scores.
game_settings Object Game rules and configuration (e.g., budget limits, squad sizes).
phases Array Seasonal phases (e.g., monthly segments) with start and end gameweeks.
teams Array Premier League team details, including strength ratings.
total_players Integer Total number of registered FPL managers.
elements Array Player data, including stats, costs, and availability.
element_stats Array Metadata for player statistics (e.g., goals scored, assists).
element_types Array Player position types (e.g., Goalkeeper, Midfielder) with squad selection rules.

Sample Response (abbreviated):

{
  "events": [
    {
      "id": 1,
      "name": "Gameweek 1",
      "deadline_time": "2023-08-11T18:00:00Z",
      "average_entry_score": 45,
      "finished": true,
      "data_checked": true,
      "highest_scoring_entry": 12345,
      "deadline_time_epoch": 1691784000,
      "is_previous": false,
      "is_current": false,
      "is_next": true
    }
  ],
  "game_settings": {
    "league_join_private_max": 20,
    "squad_total_spend": 1000,
    "squad_min_play": 3,
    "squad_max_play": 5
  },
  "phases": [
    {
      "id": 1,
      "name": "August",
      "start_event": 1,
      "stop_event": 3
    }
  ],
  "teams": [
    {
      "id": 1,
      "name": "Arsenal",
      "short_name": "ARS",
      "strength": 4,
      "strength_attack_home": 1230,
      "strength_attack_away": 1180
    }
  ],
  "total_players": 9876543,
  "elements": [
    {
      "id": 1,
      "first_name": "Erling",
      "second_name": "Haaland",
      "web_name": "Haaland",
      "team": 1,
      "element_type": 3,
      "now_cost": 140,
      "total_points": 234,
      "status": "a"
    }
  ],
  "element_stats": [
    {
      "name": "goals_scored",
      "label": "Goals Scored",
      "abbreviation": "G"
    }
  ],
  "element_types": [
    {
      "id": 1,
      "plural_name": "Goalkeepers",
      "plural_name_short": "GKP",
      "squad_min_play": 1,
      "squad_max_play": 2
    }
  ]
}

Player Endpoints

Element Summary

Response Structure:

Field Type Description
history Array Player's performance stats for each gameweek in the current season.
history_past Array Player's performance stats from previous seasons.
fixtures Array Upcoming fixtures for the player's team.

Sample Response:

{
  "history": [
    {
      "element": 123,
      "fixture": 456,
      "opponent_team": 5,
      "total_points": 6,
      "minutes": 90,
      "goals_scored": 2,
      "assists": 0,
      "bonus": 3,
      "bps": 36
    }
  ],
  "history_past": [
    {
      "season_name": "2022/23",
      "total_points": 210,
      "minutes": 2845,
      "goals_scored": 27
    }
  ],
  "fixtures": [
    {
      "id": 789,
      "event": 5,
      "team_h": 3,
      "team_a": 7,
      "is_home": true,
      "difficulty": 3,
      "kickoff_time": "2023-09-16T15:00:00Z"
    }
  ]
}

Fixture Data

All Fixtures

Response Structure:

Field Type Description
id Integer Unique fixture identifier.
event Integer Gameweek ID.
team_h Integer Home team ID.
team_a Integer Away team ID.
team_h_score Integer Home team score (null if not yet played).
team_a_score Integer Away team score (null if not yet played).
stats Array Match statistics (e.g., goals, assists).
kickoff_time String UTC timestamp of match start.
difficulty Object Difficulty ratings for home and away teams.

Sample Response:

[
  {
    "id": 1,
    "event": 5,
    "team_h": 3,
    "team_a": 7,
    "team_h_score": null,
    "team_a_score": null,
    "stats": [
      {
        "identifier": "goals_scored",
        "h": [{"value": 2, "element": 123}],
        "a": [{"value": 1, "element": 456}]
      }
    ],
    "kickoff_time": "2023-09-16T15:00:00Z",
    "finished": false,
    "difficulty": {
      "home": 3,
      "away": 4
    }
  }
]

User Data

FPL Manager Profile

Response Structure:

| --- | --- | --- |

Sample Response:

{
  "id": 12345,
  "joined_time": "2023-07-01T12:34:56Z",
  "started_event": 1,
  "favourite_team": 11,
  "player_first_name": "John",
  "player_last_name": "Doe",
  "summary_overall_points": 567,
  "summary_event_points": 78,
  "current_event": 5,
  "name": "John's Team"
}

Manager History

Response Structure:

| --- | --- | --- |

Sample Response:

{
  "current": [
    {
      "event": 5,
      "points": 78,
      "total_points": 567,
      "rank": 123456,
      "overall_rank": 1234567,
      "bank": 15,
      "value": 1034,
      "event_transfers": 2,
      "event_transfers_cost": 4
    }
  ],
  "past": [
    {
      "season_name": "2022/23",
      "total_points": 2345,
      "rank": 456789
    }
  ]
}

Team Selection