POST /v1/gaming/fpl-league-lookup
FPL league dashboard
Give it a classic league's ID and see the standings, the season's position race, form and transfer hits as a dashboard — no spreadsheet required.
Chart a Fantasy Premier League table now No key, no code — 2 credits either way.
curl -X POST "$DOATHING_API/v1/gaming/fpl-league-lookup" \
-H "x-api-key: $DOATHING_KEY" \
-H "content-type: application/json" \
-d '{"league_id": "314"}'
Give it a classic league's ID and see the standings, the season's position race, form and transfer hits as a dashboard — no spreadsheet required.
Fetch a classic FPL league's live standings and top-10 histories and shape them into a dashboard of standings, a position race, form and transfer hits.
Response
The result carries your remaining balance alongside it, so you can track spend without a second call.
{
"dashboard": {
"title": "Overall",
"subtitle": "Classic league · 3 entries",
"stats": [
{
"label": "Entries",
"value": "3"
},
{
"label": "Leader's points",
"value": "2145",
"hint": "Alex Carter"
},
{
"label": "Average points",
"value": "2124"
},
{
"label": "Gameweek high",
"value": "78",
"hint": "Alex Carter"
}
],
"table": {
"label": "Standings",
"columns": [
"Rank",
"Manager",
"Team",
"GW",
"Total"
],
"rows": [
[
"1",
"Alex Carter",
"Carter's Cannons",
"78",
"2145"
],
[
"2",
"Jo Bloggs",
"Bloggs FC",
"65",
"2130"
],
[
"3",
"Sam Lee",
"Lee United",
"71",
"2098"
]
],
"medals": true,
"deltas": [
1,
-1,
null
]
},
"comparisons": [
{
"label": "Total points through the season",
"xLabel": "gameweek",
"series": [
{
"name": "Carter's Cannons",
"points": [
[
1,
60
],
[
2,
140
],
[
3,
210
]
]
},
{
"name": "Bloggs FC",
"points": [
[
1,
70
],
[
2,
135
],
[
3,
210
]
]
},
{
"name": "Lee United",
"points": [
[
1,
65
],
[
2,
150
],
[
3,
195
]
]
}
]
},
{
"label": "League position through the season",
"xLabel": "gameweek",
"invertY": true,
"series": [
{
"name": "Carter's Cannons",
"points": [
[
1,
3
],
[
2,
2
],
[
3,
2
]
]
},
{
"name": "Bloggs FC",
"points": [
[
1,
1
],
[
2,
3
],
[
3,
1
]
]
},
{
"name": "Lee United",
"points": [
[
1,
2
],
[
2,
1
],
[
3,
3
]
]
}
]
},
{
"label": "Points per gameweek",
"xLabel": "gameweek",
"series": [
{
"name": "Carter's Cannons",
"points": [
[
1,
60
],
[
2,
80
],
[
3,
70
]
]
},
{
"name": "Bloggs FC",
"points": [
[
1,
70
],
[
2,
65
],
[
3,
75
]
]
},
{
"name": "Lee United",
"points": [
[
1,
65
],
[
2,
85
],
[
3,
45
]
]
}
]
}
],
"bars": [
{
"label": "Points left on the bench",
"xLabel": "points",
"bars": [
{
"name": "Jo Bloggs",
"value": 11
},
{
"name": "Alex Carter",
"value": 10
},
{
"name": "Sam Lee",
"value": 6
}
]
},
{
"label": "Transfer hits taken",
"xLabel": "points",
"bars": [
{
"name": "Sam Lee",
"value": -8
},
{
"name": "Alex Carter",
"value": -4
},
{
"name": "Jo Bloggs",
"value": 0
}
]
}
]
},
"request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
"credits_remaining": 96
}
Cost
2 credits per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.
A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.
Parameters
Generated from the endpoint’s own validation, so this is exactly what it accepts. A body field goes at the top level; an option goes inside options.
| Name | In | Type | Default | Notes |
|---|---|---|---|---|
| league_id * | body | string | — | The classic league's numeric ID, from its FPL URL. |