fpl_my_team
Retrieve your Fantasy Premier League squad details, including picks, bank balance, transfer availability, and chip status, using your FPL session cookie.
Instructions
YOUR current squad including picks not yet visible to others, plus bank, free transfers and chip availability. Needs your FPL session cookie.
Returns: {picks:[{element, position:1-15, multiplier:0|1|2|3, is_captain, is_vice_captain, element_type:1-4, selling_price, purchase_price}], picks_last_updated, chips:[{id, status_for_entry:'available'|'played'|'unavailable', played_by_entry:[], name:'bboost'|'3xc'|'wildcard'|'freehit', number, start_event, stop_event, chip_type:'team'|'transfer', is_pending}], transfers:{cost, status:'unlimited'|'limited', limit, made, bank, value}} — VERIFIED against a live squad. The ONE place selling_price and purchase_price appear: FPL sells a risen player back at half the gain, so selling_price is often below now_cost and that difference decides whether a transfer is affordable.
TWO FIELDS THAT CHANGE THE ANSWER: transfers.status is 'unlimited' BEFORE the first deadline — unlimited free changes, so cost and limit do not apply and limit is null. And chips[].chip_type splits how a chip is played: 'team' chips (bboost, 3xc) ride POST /api/my-team/, 'transfer' chips (wildcard, freehit) ride POST /api/transfers/.
Returns 403 {'detail':'Authentication credentials were not provided.'} without FPL_SESSION_COOKIE.
Example: Your own squad {"managerId": 1}
Auth: works without a key; FPL_SESSION_COOKIE unlocks more if set.
Also answers this: espnfantasy_rosters, sleeper_league_rosters, yahoo_team_roster.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| managerId | Yes | Your own manager id — this endpoint only ever returns YOUR squad. Required — part of the URL path. |