FotMob API endpoint
Returns ranked player or team statistics for a stat id discovered from /fotmob/stats-categories. The accepted stat ids vary by league, season, and type. team_id optionally restricts player statistics to one team. position filters player results client-side.
/fotmob/statsQuery parameters:
league_id (required): numeric FotMob league id from /api/v1/fotmob/leagues.season_id (optional): numeric season id from /api/v1/fotmob/stats-categories; defaults to the newest season.type (required): one of players or teams.stat (required): a stat id returned by /api/v1/fotmob/stats-categories for the selected league, season, and type.team_id (optional): numeric FotMob team id; filters player stats for that team.position (optional): one of all, striker, winger, attackingMidfielder, midfielder, fullback, or centerBack. These player-only categories mirror the position filter on the live stats page. Filtering is applied to the returned player rows; it is not an upstream query parameter.Returns ranked stats and the source's matching category and season metadata. Stat ids vary by league, season, and type; the service checks that the requested id appears in the current statsList and matches currentStatName.
| Field | Filled in, of 112 checked | Values in the sample |
|---|---|---|
| id | 112 | |
| teamId | 112 | 8,455 to 10,261, median 9,826 |
| name | 112 | “Erling Haaland” and 111 other values |
| position | 112 | 32 to 115, median 85 |
| substatValue | 112 | |
| statValue | 112 | |
| rank | 112 | 1 to 109, median 36 |
| type | 112 | players in all 112 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| league_id | string | Yes | Numeric FotMob league id | 47 | |
| season_id | string | No | the newest season | Numeric season id from /fotmob/stats-categories; defaults to the newest season | 36781 |
| type | string | Yes | Stats subject Allowed values: players, teams. | players | |
| stat | string | Yes | Stat id returned by /fotmob/stats-categories for this league, season, and type | goals | |
| team_id | string | No | Optional numeric team id to filter player stats | 8456 | |
| position | string | No | Optional client-side player position filter Allowed values: all, striker, winger, attackingMidfielder, midfielder, fullback, centerBack. | striker | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fotmob/stats?league_id=47&type=players&stat=goals&position=all" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"source_url": "https://www.fotmob.com/api/data/leagueseasondeepstats?id=47&season=36781&type=players&stat=goals",
"data": {
"statsData": [
{
"id": 737066,
"teamId": 8456,
"name": "Erling Haaland",
"statValue": {
"name": "goals",
"value": 5
},
"rank": 1,
"type": "players"
}
],
"currentSeasonId": "36781",
"currentStatName": "goals"
}
}
}Request schema
No body schema
Response schema
#/definitions/fotmob.responseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fotmob.sourceDataDoc | No | ||||
| data.data | object | No | ||||
| data.source_url | string | No | https://www.fotmob.com/api/data/matches?date=20260925&timezone=UTC | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/fotmob/stats?league_id=47&type=players&stat=goals&position=all" \
-H "x-api-key: $CRAWLORA_API_KEY"