FUSSBALL.DE API endpoint
Returns the fixtures and results across all of a club's teams (senior and youth). `all` (default) is the club match plan for a date window (default the current season) optionally for one competition kind and paged with `limit` and `offset`; `next` is the next fixtures and `previous` the latest results. Each match names its competition and team type.
/fussballde/club-matchesclub_id (string, required): Club id from fussballde-club or fussballde-club-search.kind (string, optional): Match list kind, default all. Allowed values: all, next, previous.date_from (string, optional): kind all only: first day as YYYY-MM-DD, default 1 July of the current season.date_to (string, optional): kind all only: last day as YYYY-MM-DD, default 30 June of the season.competition_kind (string, optional): kind all only: competition kind id; omit for all kinds. Allowed values: 1, 8, 3, 7, 6, 11, 2, 21, 9. Names: 1 Meisterschaften, 8 Pokale, 3 Turniere, 7 Freundschaftsspiele, 6 Privatspiele, 11 Futsal-Ligabetrieb, 2 Hallenturniere (Futsal), 21 Beachsoccer-Meisterschaften, 9 Auswahlspiele.limit (integer, optional): Matches (kind all only) per call, 1 to 50, default 10.offset (integer, optional): Number of matches to skip, 0 to 1000, default 0.Standard envelope; data holds the result described above. Dates are ISO YYYY-MM-DD, times are local HH:MM. all pages with limit and offset; final is true on the last page. next and previous are fixed lists. Errors: 400 invalid parameter, 404 unknown id, 503 upstream failure.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| club_id | string | Yes | Club id from fussballde-club or fussballde-club-search | 00ES8GN8N400008VVV0AG08LVUPGND5I | |
| kind | string | No | Match list kind, default all Allowed values: all, next, previous. | all | |
| date_from | string | No | kind all only: first day as YYYY-MM-DD, default 1 July of the current season | 2026-10-01 | |
| date_to | string | No | kind all only: last day as YYYY-MM-DD, default 30 June of the season | 2026-10-31 | |
| competition_kind | string | No | kind all only: competition kind id; omit for all kinds Allowed values: 1, 8, 3, 7, 6, 11, 2, 21, 9. | 8 | |
| limit | integer | No | Matches (kind all only) per call, 1 to 50, default 10 | 10 | |
| offset | integer | No | Number of matches to skip, 0 to 1000, default 0 | 0 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fussballde/club-matches?club_id=00ES8GN8N400008VVV0AG08LVUPGND5I&kind=all&competition_kind=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"club_id": "00ES8GN8N400008VVV0AG08LVUPGND5I",
"count": 1,
"date_from": "2026-10-01",
"date_to": "2026-10-31",
"final": true,
"kind": "all",
"limit": 50,
"matches": [
{
"away": {
"club_id": "00ES8GN8N400008JVV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8N400008JVV0AG08LVUPGND5I",
"name": "SV Brackel 06",
"team_id": "011MICSAES000000VTVG0001VTR8C1K7",
"url": "https://www.fussball.de/mannschaft/sv-brackel-06-sv-brackel-06-westfalen/-/saison/2627/team-id/011MICSAES000000VTVG0001VTR8C1K7"
},
"away_score": 0,
"competition": "E-Junioren | Kreisfreundschaftsspiele",
"date": "2026-10-17",
"home": {
"club_id": "00ES8GN8N400008VVV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8N400008VVV0AG08LVUPGND5I",
"name": "Borussia Dortmund II (U10) 2",
"team_id": "01ADGLUQIK000000VV0AG80NVTF249LS",
"url": "https://www.fussball.de/mannschaft/borussia-dortmund-ii-u10-2-borussia-dortmund-westfalen/-/saison/2627/team-id/01ADGLUQIK000000VV0AG80NVTF249LS"
},
"home_score": 0,
"id": "032CK8UA8O000000VS5489BTVU989P58",
"match_number": "240015187",
"status": "finished",
"time": "11:00",
"url": "https://www.fussball.de/spiel/borussia-dortmund-ii-u10-2-sv-brackel-06/-/spiel/032CK8UA8O000000VS5489BTVU989P58"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/fussballde.clubMatchesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fussballde.ClubMatchesResponse | No | ||||
| data.club_id | string | No | ||||
| data.count | integer | No | ||||
| data.date_from | string | No | ||||
| data.date_to | string | No | ||||
| data.final | boolean | No | ||||
| data.kind | string | No | ||||
| data.limit | integer | No | ||||
| data.matches | array | No | MatchRow record, 24 fields: away, away_score, competition, date, home, home_score, id, league, match_number, note, status, team_type and 2 more. Described under FUSSBALL.DE Matchday API. | |||
| data.offset | integer | No | ||||
| 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/fussballde/club-matches?club_id=00ES8GN8N400008VVV0AG08LVUPGND5I&kind=all&competition_kind=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"