FotMob API endpoint
Returns one page of player match history. The player's matchFilters and permitted league/team pairs are discovered from /fotmob/player. For another page, copy the numeric before timestamp from the upstream previous URL.
/fotmob/player-matchesQuery parameters:
player_id (required): numeric FotMob player id discovered through /api/v1/fotmob/search.league_id (optional): use all for all competitions, or a numeric league id paired with team_id in the player's /api/v1/fotmob/player → matchFilters data. Defaults to all.team_id (optional): use all for all teams, or a numeric team id paired with league_id in the player's matchFilters. Defaults to all.before (optional): numeric timestamp copied from the upstream previous URL to request an earlier page. Omit it for the newest page.Returns one page under matches, plus the previous URL when another older page is available. Only matching league/team pairs discovered for this player are accepted. Callers do not supply URLs.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| teamId | 20 | 8,491 to 9,825, median 8,491 |
| teamName | 20 | England (11), Arsenal (9) |
| opponentTeamId | 20 | 5,922 to 10,252, median 8,463 |
| opponentTeamName | 20 | “Leeds United” and 18 other values |
| isHomeTeam | 20 | true in 9 of 20 |
| id | 20 | |
| matchDate | 20 | |
| matchPageUrl | 20 | “/matches/leeds-united-vs-arsenal/2rkmmx#5795465” and 19 other values |
| leagueId | 20 | 42 to 9,806, median 77 |
| leagueName | 20 | World Cup (7), Premier League (6), UEFA Nations League A (4) and 3 more |
| stage | 6 | “final” and 5 other values |
| homeScore | 20 | 0 to 4, median 2 |
| awayScore | 20 | 0 to 7, median 1 |
| minutesPlayed | 20 | 0 to 90, median 71 |
| goals | 20 | 0 to 3, median 0 |
| assists | 20 | 0 to 1, median 0 |
| yellowCards | 20 | 0 |
| redCards | 20 | 0 |
| ratingProps | 20 | |
| playerOfTheMatch | 20 | true in 2 of 20 |
| onBench | 20 | true in 3 of 20 |
| lineupPositionId | 13 | 82 to 83, median 83 |
| playedInMatch | 20 | true in 17 of 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| player_id | string | Yes | Numeric FotMob player id from fotmob/search | 961995 | |
| league_id | string | No | all, or a numeric league id from fotmob/player matchFilters | 47 | |
| team_id | string | No | all, or a numeric team id paired with league_id in fotmob/player matchFilters | 9825 | |
| before | string | No | Numeric before timestamp from the upstream previous URL; omit for the newest page | 1767902400 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fotmob/player-matches?player_id=961995" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://www.fotmob.com/api/data/playerMatches?url=https%3A%2F%2Fpub.fotmob.com%2Fprod%2Fdb%2Fapi%2Fplayer%2F961995%2Fmatches%3FleagueId%3Dall%26teamId%3Dall",
"data": {
"matches": [
{
"id": 5795457,
"teamId": 9825,
"leagueId": 47,
"goals": 0,
"assists": 0
}
],
"previous": "https://pub.fotmob.com/prod/db/api/player/961995/matches?before=1767902400&leagueId=all&teamId=all"
}
}
}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/player-matches?player_id=961995" \
-H "x-api-key: $CRAWLORA_API_KEY"