FUSSBALL.DE API endpoint
Returns the matches FUSSBALL.DE's Matchkalender lists around a five-digit postcode within a date range (default today plus six days, at most 92 days), optionally filtered by team types and competition kind. Each match includes its team type (for example D-Junioren) and league. The upstream returns at most 10 matches per request and has no paging: `truncated` is true when the page is full, so narrow the dates or filters to see the rest. Zero matches is a valid response.
/fussballde/match-calendarpostal_code (string, required): Five-digit German postcode; look one up with fussballde-postal-codes.date_from (string, optional): First day as YYYY-MM-DD, default today (Europe/Berlin).date_to (string, optional): Last day as YYYY-MM-DD, at most 92 days after date_from, default six days after date_from.team_types (string, optional): Comma-separated team type ids such as 1,3; omit for all team types. Allowed ids: 49 Herren Ü70, 47 Herren Ü60, 807 Herren Ü60 Freizeit/Betrieb, 23 Herren Ü55, 24 Herren Ü50, 809 Herren Ü50 Freizeit/Betrieb, 21 Herren Ü45, 20 Herren Ü40, 811 Herren Ü40 Freizeit/Betrieb, 19 Herren Ü35, 56 Herren Ü32, 812 Herren Ü32 Freizeit/Betrieb, 1 Herren, 39 Herren-Reserve, 58 Herren-Talente U21, 813 Herren Freizeit/Betrieb, 450 Herren Walking Football, 231 Herren Blindenfußball, 230 Herren Gehörlosenfußball, 54 Herren Handicap-Fußball, 3 A-Junioren, 6 B-Junioren, 8 C-Junioren, 10 D-Junioren, 12 E-Junioren, 14 F-Junioren, 16 G-Junioren, 414 Ü16 Inklusionsfußball, 429 U16 Inklusionsfußball, 50 Frauen Ü50, 51 Frauen Ü40, 55 Frauen Ü35, 48 Frauen Ü32, 4 Frauen, 460 Frauen Walking Football, 5 A-Juniorinnen, 7 B-Juniorinnen, 9 C-Juniorinnen, 11 D-Juniorinnen, 13 E-Juniorinnen, 15 F-Juniorinnen, 17 G-Juniorinnen, 22 Freizeitsport, 57 Herren Freizeitsport, 40 Frauen Freizeitsport.competition_kind (string, optional): 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.Standard envelope; data holds the result described above. Dates are ISO YYYY-MM-DD, times are local HH:MM. Errors: 400 invalid parameter, 404 unknown id, 503 upstream failure.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| postal_code | string | Yes | Five-digit German postcode; look one up with fussballde-postal-codes | 44139 | |
| date_from | string | No | First day as YYYY-MM-DD, default today (Europe/Berlin) | 2026-10-24 | |
| date_to | string | No | Last day as YYYY-MM-DD, at most 92 days after date_from, default six days after date_from | 2026-10-31 | |
| team_types | string | No | Comma-separated team type ids such as 1,3; omit for all team types | 1,3 | |
| competition_kind | string | No | Competition kind id; omit for all kinds Allowed values: 1, 8, 3, 7, 6, 11, 2, 21, 9. | 1 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fussballde/match-calendar?postal_code=44139&competition_kind=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"count": 2,
"date_from": "2026-10-24",
"date_to": "2026-10-31",
"matches": [
{
"away": {
"club_id": "00ES8GN8QS00009FVV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8QS00009FVV0AG08LVUPGND5I",
"name": "Spielverein Westfalia Soest",
"team_id": "011MIEU318000000VTVG0001VTR8C1K7",
"url": "https://www.fussball.de/mannschaft/spielverein-westfalia-soest-sv-westfalia-soest-westfalen/-/saison/2627/team-id/011MIEU318000000VTVG0001VTR8C1K7"
},
"date": "2026-10-24",
"home": {
"club_id": "00ES8GN8N4000095VV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8N4000095VV0AG08LVUPGND5I",
"name": "TSC Eintracht Dortmund II",
"team_id": "011MI9U5J4000000VTVG0001VTR8C1K7",
"url": "https://www.fussball.de/mannschaft/tsc-eintracht-dortmund-ii-tsc-eintracht-48-95-westfalen/-/saison/2627/team-id/011MI9U5J4000000VTVG0001VTR8C1K7"
},
"id": "032DCS3SJ8000000VS5489BTVU989P58",
"league": "Kreisfreundschaftsspiele",
"status": "scheduled",
"team_type": "A-Junioren",
"time": "14:30",
"url": "https://www.fussball.de/spiel/tsc-eintracht-dortmund-ii-spielverein-westfalia-soest/-/spiel/032DCS3SJ8000000VS5489BTVU989P58"
},
{
"away": {
"club_id": "00ES8GN8UK00006IVV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8UK00006IVV0AG08LVUPGND5I",
"name": "DJK-VFL Willich A1",
"team_id": "011MIC2NE0000000VTVG0001VTR8C1K7",
"url": "https://www.fussball.de/mannschaft/djk-vfl-willich-a1-djk-vfl-1919-willich-niederrhein/-/saison/2627/team-id/011MIC2NE0000000VTVG0001VTR8C1K7"
},
"date": "2026-10-25",
"home": {
"club_id": "00ES8GN8N4000095VV0AG08LVUPGND5I",
"logo_url": "https://www.fussball.de/export.media/-/action/getLogo/format/0/id/00ES8GN8N4000095VV0AG08LVUPGND5I",
"name": "TSC Eintracht Dortmund II",
"team_id": "011MI9U5J4000000VTVG0001VTR8C1K7",
"url": "https://www.fussball.de/mannschaft/tsc-eintracht-dortmund-ii-tsc-eintracht-48-95-westfalen/-/saison/2627/team-id/011MI9U5J4000000VTVG0001VTR8C1K7"
},
"id": "032DCSCCT0000000VS5489BTVU989P58",
"league": "Kreisfreundschaftsspiele",
"status": "scheduled",
"team_type": "A-Junioren",
"time": "17:00",
"url": "https://www.fussball.de/spiel/tsc-eintracht-dortmund-ii-djk-vfl-willich-a1/-/spiel/032DCSCCT0000000VS5489BTVU989P58"
}
],
"postal_code": "44139",
"truncated": false
}
}Request schema
No body schema
Response schema
#/definitions/fussballde.matchCalendarResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fussballde.MatchCalendarResponse | No | ||||
| data.count | integer | No | ||||
| data.date_from | string | No | ||||
| data.date_to | string | 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.postal_code | string | No | ||||
| data.truncated | boolean | No | false | |||
| 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/match-calendar?postal_code=44139&competition_kind=1" \
-H "x-api-key: $CRAWLORA_API_KEY"