POST /v1/gaming/fpl-manager-lookup
FPL manager dashboard
Give it a manager's team ID and see their season as a dashboard — rank, points against the global average, squad value, transfers and past seasons, charted gameweek by gameweek.
Chart an FPL manager's season now No key, no code — 2 credits either way.
curl -X POST "$DOATHING_API/v1/gaming/fpl-manager-lookup" \
-H "x-api-key: $DOATHING_KEY" \
-H "content-type: application/json" \
-d '{"manager_id": "1"}'
Give it a manager's team ID and see their season as a dashboard — rank, points against the global average, squad value, transfers and past seasons, charted gameweek by gameweek.
Fetch an FPL manager's entry, history and the game's gameweek averages and shape them into a dashboard.
Response
The result carries your remaining balance alongside it, so you can track spend without a second call.
{
"dashboard": {
"title": "Carter's Cannons",
"subtitle": "Alex Carter · GW3",
"stats": [
{
"label": "Overall rank",
"value": "12,345",
"trend": "+687,655"
},
{
"label": "Overall points",
"value": "2145"
},
{
"label": "This gameweek",
"value": "78",
"hint": "Rank 100,000"
},
{
"label": "Best gameweek",
"value": "78",
"hint": "GW3"
},
{
"label": "Squad value",
"value": "£100.5m",
"hint": "£0.5m in the bank"
},
{
"label": "Points hit on transfers",
"value": "-4"
}
],
"series": [
{
"label": "Points per gameweek",
"xLabel": "gameweek",
"points": [
[
1,
68
],
[
2,
54
],
[
3,
78
]
]
},
{
"label": "Overall rank",
"xLabel": "gameweek",
"invertY": true,
"format": "compact",
"points": [
[
1,
500000
],
[
2,
700000
],
[
3,
12345
]
]
},
{
"label": "Squad value",
"xLabel": "gameweek",
"format": "money",
"points": [
[
1,
100.0
],
[
2,
100.2
],
[
3,
100.5
]
]
},
{
"label": "Total points",
"xLabel": "gameweek",
"points": [
[
1,
68
],
[
2,
122
],
[
3,
200
]
]
}
],
"comparisons": [
{
"label": "Points vs the field",
"xLabel": "gameweek",
"series": [
{
"name": "This manager",
"points": [
[
1,
68
],
[
2,
54
],
[
3,
78
]
]
},
{
"name": "Global average",
"points": [
[
1,
55
],
[
2,
48
],
[
3,
60
]
]
}
]
}
],
"bars": [
{
"label": "Points left on the bench",
"bars": [
{
"name": "GW1",
"value": 6
},
{
"name": "GW2",
"value": 2
},
{
"name": "GW3",
"value": 9
}
]
},
{
"label": "Transfers per gameweek",
"bars": [
{
"name": "GW1",
"value": 0
},
{
"name": "GW2",
"value": 1
},
{
"name": "GW3",
"value": 1
}
]
},
{
"label": "Points per season",
"bars": [
{
"name": "2024/25",
"value": 2410
},
{
"name": "2023/24",
"value": 2201
}
]
}
],
"badges": [
{
"label": "Chips played",
"badges": [
{
"label": "Wildcard",
"detail": "GW2"
},
{
"label": "Triple Captain",
"detail": "GW3"
}
]
}
],
"table": {
"label": "Previous seasons",
"columns": [
"Season",
"Points",
"Overall rank"
],
"rows": [
[
"2024/25",
"2410",
"45,210"
],
[
"2023/24",
"2201",
"102,345"
]
]
}
},
"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 |
|---|---|---|---|---|
| manager_id * | body | string | — | The manager's team (entry) ID, from their FPL URL. |