FotMob API endpoint
Returns one page of older team matches. Start with the fixtures.previousFixturesUrl cursor from /fotmob/team, then pass each response's previous value as cursor until it is empty or null. Team ids are open-ended numeric ids discoverable through /fotmob/search.
/fotmob/team-fixturesQuery parameters:
team_id (required): numeric FotMob team id, discoverable with /api/v1/fotmob/search or /api/v1/fotmob/team.cursor (required): opaque cursor copied from fixtures.previousFixturesUrl in /api/v1/fotmob/team, or the previous value returned by an earlier call to this endpoint.Returns one page of older team matches and the cursor for the next older page. Pass previous back as cursor until it is empty or null. Each observed page contains 20 matches. The cursor is validated as a FotMob URL for the supplied team; arbitrary hosts and mismatched team ids are rejected.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| pageUrl | 20 | “/matches/chelsea-vs-arsenal/2rhhrp#4813646” and 19 other values |
| opponent | 20 | |
| home | 20 | |
| away | 20 | |
| displayTournament | 20 | true in 20 of 20 |
| result | 20 | -1 to 1, median 1 |
| notStarted | 20 | true in 0 of 20 |
| tournament | 20 | |
| status | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| team_id | string | Yes | Numeric FotMob team id | 9825 | |
| cursor | string | Yes | Opaque cursor copied from fixtures.previousFixturesUrl in /fotmob/team or previous in the preceding response | https://pub.fotmob.com/prod/db/api/team/9825/fixture-by-date?beforeTimestamp=1785607200 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fotmob/team-fixtures?team_id=9825&cursor=https%3A%2F%2Fpub.fotmob.com%2Fprod%2Fdb%2Fapi%2Fteam%2F9825%2Ffixture-by-date%3FbeforeTimestamp%3D1785607200" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://www.fotmob.com/api/data/pageableFixtures?teamId=9825&cursor=...",
"data": {
"matches": [
{
"id": 4813646,
"opponent": {
"id": 8455,
"name": "Chelsea"
},
"status": {
"utcTime": "2026-03-01T16:30:00Z"
}
}
],
"previous": "/api/data/pageableFixtures?teamId=9825&cursor=..."
}
}
}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/team-fixtures?team_id=9825&cursor=https%3A%2F%2Fpub.fotmob.com%2Fprod%2Fdb%2Fapi%2Fteam%2F9825%2Ffixture-by-date%3FbeforeTimestamp%3D1785607200" \
-H "x-api-key: $CRAWLORA_API_KEY"