Germany Regionalliga Soccer Data API
Integrate live scores, fixtures, standings, lineups, and odds for Germany Regionalliga through one fast, reliable, developer-friendly REST & WebSocket API. 170 clubs, 8 seasons of history, one consistent JSON schema.
No credit card required
The same schema powers Germany Regionalliga and 1,000+ competitions worldwide.
Access Full Data of Germany Regionalliga Matches
Every Germany Regionalliga match, table, and transfer flows through the same clean JSON — no scraping, no HTML parsing, no manual updates. Pick an endpoint, send one request, and get structured data you can ship straight into your product.
https://data.anysport.io/v1/soccer/livescore?match_id=as_0059673e806d4a0788a0d38a6a72f500&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/livescore',
headers={'apikey': 'YOUR_API_KEY'},
params={'match_id': 'as_0059673e806d4a0788a0d38a6a72f500', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_0059673e806d4a0788a0d38a6a72f500",
"home": "ABC",
"away": "Luverdense",
"league": "Brazil Serie D",
"minute": 90,
"phase": "finished",
"phase_label": "Finished",
"home_score": 4,
"away_score": 1,
"ht_score": "2-1",
"reg_score": "4-1",
"updated_at": "2026-07-26T21:57:59Z"
}
],
"meta": {
"total": 1
}
}https://data.anysport.io/v1/soccer/matches?league_id=asl_b874f79ebeab4186b0bc03707aaf68ef&season=2026%2F2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/matches',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_b874f79ebeab4186b0bc03707aaf68ef', 'season': '2026/2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_f3f344082d224225bbdcb3267f9f01ef",
"date": "2027-05-23",
"time": "12:00",
"status": "Not Started",
"league": "Regionalliga",
"league_id": "asl_b874f79ebeab4186b0bc03707aaf68ef",
"season": "2026/2027",
"home": {
"name": "Zwickau",
"team_id": "ast_effebd2714e943e28713410408b422f3"
},
"away": {
"name": "Magdeburg II",
"team_id": "ast_c71a8eca043f4154bfa4a05343959ea0"
},
"ht_score": "-",
"venue": "GGZ-Arena Zwickau"
},
{
"match_id": "as_c3605b79060f429ba294afebc96eda19",
"date": "2027-05-23",
"time": "12:00",
"status": "Not Started",
"league": "Regionalliga",
"league_id": "asl_b874f79ebeab4186b0bc03707aaf68ef",
"season": "2026/2027",
"home": {
"name": "RSV Eintracht",
"team_id": "ast_e0c69ab573754f2fb46ab098224e3070"
},
"away": {
"name": "Lokomotive Leipzig",
"team_id": "ast_70e33a691edd4b878a03a50b205f9b0b"
},
"ht_score": "-",
"venue": ""
},
{
"match_id": "as_3c816b1ac99f4de59ae047ef84c489e9",
"date": "2027-05-23",
"time": "12:00",
"status": "Not Started",
"league": "Regionalliga",
"league_id": "asl_b874f79ebeab4186b0bc03707aaf68ef",
"season": "2026/2027",
"home": {
"name": "Jena",
"team_id": "ast_f68587a91e994a049c44727b8a2e0b5e"
},
"away": {
"name": "Greifswald",
"team_id": "ast_4cc9379914b8442fa22c13cef9622adc"
},
"ht_score": "-",
"venue": ""
}
],
"meta": {
"total": 10
}
}https://data.anysport.io/v1/soccer/standings?league_id=asl_b874f79ebeab4186b0bc03707aaf68ef&season=2026-2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/standings',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_b874f79ebeab4186b0bc03707aaf68ef', 'season': '2026-2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"position": 1,
"team_id": "ast_bc731adfd68e4437bcb414d1ff476045",
"team": "SC Weiche-08",
"played": 15,
"wins": 11,
"draws": 1,
"losses": 3,
"goals_for": 43,
"goals_against": 17,
"goal_difference": 26,
"points": 34,
"form": "LWWWW"
},
{
"position": 1,
"team_id": "ast_63bbd9ae79eb47caaa167ac81ae83a32",
"team": "Erfurt",
"played": 14,
"wins": 9,
"draws": 4,
"losses": 1,
"goals_for": 42,
"goals_against": 18,
"goal_difference": 24,
"points": 31,
"form": "WDLWD"
},
{
"position": 1,
"team_id": "ast_1cb284d54ea446f6a38871347ab50066",
"team": "Freiberg",
"played": 13,
"wins": 7,
"draws": 6,
"losses": 0,
"goals_for": 32,
"goals_against": 13,
"goal_difference": 19,
"points": 27,
"form": "DWWDD"
}
],
"meta": {
"total": 91
}
}https://data.anysport.io/v1/soccer/topscorers?league_id=asl_30c1e028124f46529e230d780bbe0e9e&season=2025-2026&kind=goals&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/topscorers',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_30c1e028124f46529e230d780bbe0e9e', 'season': '2025-2026', 'kind': 'goals', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"rank": 1,
"player_id": "asp_0fc5b0bbf9de418abd1ea1459081e326",
"player_name": "Harry Kane",
"team_id": "ast_dd1f5dc0480040f89a8992e6659671c3",
"team_name": "Bayern Munich",
"value": 36
},
{
"rank": 2,
"player_id": "asp_251cc25a651c4aabad97ab9d83776c92",
"player_name": "Deniz Undav",
"team_id": "ast_15c6fce8ebc446a0acb0013afecc9bc2",
"team_name": "Stuttgart",
"value": 19
},
{
"rank": 3,
"player_id": "asp_aa4271c8822a498a863e5c8fa42d7f04",
"player_name": "Serhou Guirassy",
"team_id": "ast_c4a3b3c90a89431ca93d828e19f20284",
"team_name": "Dortmund",
"value": 19
}
],
"meta": {
"total": 3
}
}https://data.anysport.io/v1/soccer/teams?league_id=asl_b874f79ebeab4186b0bc03707aaf68ef&season=2026%2F2027&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/teams',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_b874f79ebeab4186b0bc03707aaf68ef', 'season': '2026/2027', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"team_id": "ast_1e3f5143531445a1ae54ce2d8cf41c89",
"name": "Aalen",
"country": "Germany",
"venue": "CENTUS ARENA"
},
{
"team_id": "ast_d7463c8693634ba2adeff321a85fc79d",
"name": "Altglienicke",
"country": "Germany",
"venue": "Friedrich-Ludwig-Jahn-Sportpark"
},
{
"team_id": "ast_6b79ab216e544c78ae0f6671ff16e2a9",
"name": "Ansbach",
"country": "Germany",
"venue": "Xaver-Bertsch-Sportpark"
}
],
"meta": {
"total": 50
}
}https://data.anysport.io/v1/soccer/odds/live?lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/odds/live',
headers={'apikey': 'YOUR_API_KEY'},
params={'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_0059673e806d4a0788a0d38a6a72f500",
"home": "ABC",
"away": "Luverdense",
"league": "Brazil Serie D",
"bookmaker": "bet365",
"phase": "live",
"main_market": "fulltime_result",
"main_market_label": "Fulltime Result",
"home_odd": 1.008,
"draw_odd": 26,
"away_odd": 51,
"markets": [
{
"market_code": "home_4th_goal_in_interval",
"market_code_label": "Home 4th Goal in Interval",
"handicap": 80,
"options": [
{
"name": "Yes",
"name_label": "Yes",
"odd": 9
},
{
"name": "No",
"name_label": "No",
"odd": 1.04
}
]
},
{
"market_code": "last_corner",
"market_code_label": "Last Corner",
"options": [
{
"name": "1",
"name_label": "1",
"odd": 1.8
},
{
"name": "2",
"name_label": "2",
"odd": 1.909
}
]
},
{
"market_code": "how_many_goals_will_away_team_score",
"market_code_label": "How many goals will Away Team score?",
"options": [
{
"name": "No goal",
"name_label": "No goal",
"odd": 1.571
},
{
"name": "1",
"name_label": "1",
"odd": 1.142
},
{
"name": "2",
"name_label": "2",
"odd": 5.5
},
{
"name": "3 or more",
"name_label": "3 or more",
"odd": 17
}
]
},
{
"market_code": "asian_handicap",
"market_code_label": "Asian Handicap",
"handicap": -2.25,
"options": [
{
"name": "1",
"name_label": "1",
"odd": 2.5
},
{
"name": "2",
"name_label": "2",
"odd": 1.5
}
]
}
],
"updated_at": "2026-07-26T21:41:43Z"
}
],
"meta": {
"total": 1
}
}https://data.anysport.io/v1/soccer/players?league_id=asl_b874f79ebeab4186b0bc03707aaf68ef&lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/players',
headers={'apikey': 'YOUR_API_KEY'},
params={'league_id': 'asl_b874f79ebeab4186b0bc03707aaf68ef', 'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [],
"meta": {
"total": 0
}
}https://data.anysport.io/v1/soccer/odds/prematch?lang=enimport requests
resp = requests.get(
'https://data.anysport.io/v1/soccer/odds/prematch',
headers={'apikey': 'YOUR_API_KEY'},
params={'lang': 'en'}
)
print(resp.json()){
"success": true,
"data": [
{
"match_id": "as_d21c97e73a5e45c7b87cb82e28c9f986",
"home": "Hafnarfjordur",
"away": "KR Reykjavik",
"league": "Iceland: Besta Deild Karla",
"bookmaker": "bet365",
"phase": "prematch",
"main_market": "match_winner",
"main_market_label": "Match Winner",
"home_odd": 3.9,
"draw_odd": 4.5,
"away_odd": 1.57,
"markets": [
{
"market_code": "match_winner",
"market_code_label": "Match Winner",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.9
},
{
"name": "Draw",
"name_label": "Draw",
"odd": 4.5
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.57
}
]
},
{
"market_code": "home_away",
"market_code_label": "Home/Away",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.4
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.3
}
]
},
{
"market_code": "2nd_half_winner",
"market_code_label": "2nd Half Winner",
"options": [
{
"name": "Home",
"name_label": "Home",
"odd": 3.6
},
{
"name": "Draw",
"name_label": "Draw",
"odd": 3.4
},
{
"name": "Away",
"name_label": "Away",
"odd": 1.83
}
]
},
{
"market_code": "asian_handicap",
"market_code_label": "Asian Handicap",
"options": [
{
"name": "Home -1",
"name_label": "Home -1",
"odd": 7
},
{
"name": "Away +1",
"name_label": "Away +1",
"odd": 1.1
},
{
"name": "Home -0.75",
"name_label": "Home -0.75",
"odd": 5
},
{
"name": "Away +0.75",
"name_label": "Away +0.75",
"odd": 1.17
},
{
"name": "Home -0.5",
"name_label": "Home -0.5",
"odd": 4
},
{
"name": "Away +0.5",
"name_label": "Away +0.5",
"odd": 1.23
},
{
"name": "Home -0.25",
"name_label": "Home -0.25",
"odd": 3.7
},
{
"name": "Away +0.25",
"name_label": "Away +0.25",
"odd": 1.26
},
{
"name": "Home +0",
"name_label": "Home +0",
"odd": 3.45
},
{
"name": "Away 0",
"name_label": "Away 0",
"odd": 1.3
},
{
"name": "Home +0.25",
"name_label": "Home +0.25",
"odd": 2.68
},
{
"name": "Away -0.25",
"name_label": "Away -0.25",
"odd": 1.45
},
{
"name": "Home +0.5",
"name_label": "Home +0.5",
"odd": 2.3
},
{
"name": "Away -0.5",
"name_label": "Away -0.5",
"odd": 1.6
},
{
"name": "Home +0.75",
"name_label": "Home +0.75",
"odd": 2.08
},
{
"name": "Away -0.75",
"name_label": "Away -0.75",
"odd": 1.72
},
{
"name": "Home +1",
"name_label": "Home +1",
"odd": 1.9
},
{
"name": "Away -1",
"name_label": "Away -1",
"odd": 1.9
},
{
"name": "Home +2",
"name_label": "Home +2",
"odd": 1.35
},
{
"name": "Away -2",
"name_label": "Away -2",
"odd": 3.1
},
{
"name": "Home +3",
"name_label": "Home +3",
"odd": 1.12
},
{
"name": "Away -3",
"name_label": "Away -3",
"odd": 6
},
{
"name": "Home +1.25",
"name_label": "Home +1.25",
"odd": 1.72
},
{
"name": "Away -1.25",
"name_label": "Away -1.25",
"odd": 2.08
},
{
"name": "Home +1.5",
"name_label": "Home +1.5",
"odd": 1.6
},
{
"name": "Away -1.5",
"name_label": "Away -1.5",
"odd": 2.3
},
{
"name": "Home +1.75",
"name_label": "Home +1.75",
"odd": 1.48
},
{
"name": "Away -1.75",
"name_label": "Away -1.75",
"odd": 2.6
},
{
"name": "Home +2.25",
"name_label": "Home +2.25",
"odd": 1.3
},
{
"name": "Away -2.25",
"name_label": "Away -2.25",
"odd": 3.45
},
{
"name": "Home +2.5",
"name_label": "Home +2.5",
"odd": 1.26
},
{
"name": "Away -2.5",
"name_label": "Away -2.5",
"odd": 3.7
},
{
"name": "Home +2.75",
"name_label": "Home +2.75",
"odd": 1.19
},
{
"name": "Away -2.75",
"name_label": "Away -2.75",
"odd": 4.5
}
]
}
],
"updated_at": "2026-07-28T14:20:04Z"
}
],
"meta": {
"total": 1
}
}One Request, the Full Germany Regionalliga Table
This isn't a screenshot. The standings below are served live from a single GET /standings call — the exact response your app receives. Positions, form, and goal difference update themselves; you never touch a spreadsheet.
| Position | Team | Played | W/D/L | Goals For / Against | Goal Difference | Form |
|---|---|---|---|---|---|---|
| 1 | SC Weiche-08 | 15 | 11/1/3 | 43/17 | 26 | LWWWW |
| 1 | Erfurt | 14 | 9/4/1 | 42/18 | 24 | WDLWD |
| 1 | Freiberg | 13 | 7/6/0 | 32/13 | 19 | DWWDD |
| 1 | Memmingen | 16 | 10/3/3 | 19/9 | 10 | WLWWW |
| 1 | Oberhausen | 14 | 11/1/2 | 35/13 | 22 | WLWWW |
| 2 | Dortmund II | 14 | 10/4/0 | 32/15 | 17 | WWWWW |
| 2 | Hannover II | 15 | 10/3/2 | 36/21 | 15 | WWWWW |
| 2 | Chemnitzer | 14 | 9/3/2 | 30/9 | 21 | LDWWW |
| 2 | Aalen | 13 | 8/3/2 | 23/11 | 12 | WWWWW |
| 2 | Buchbach | 16 | 8/5/3 | 30/23 | 7 | DLLDL |
| 3 | FC Gutersloh | 14 | 9/2/3 | 31/20 | 11 | WWLWL |
| 3 | Drochtersen/Assel | 15 | 10/1/4 | 48/22 | 26 | WLWWD |
| 3 | Hallescher | 14 | 8/5/1 | 22/11 | 11 | DWWWW |
| 3 | VfR Mannheim | 13 | 7/5/1 | 22/9 | 13 | WWWWW |
| 3 | Unterhaching | 15 | 7/7/1 | 22/12 | 10 | WDWDD |
| 4 | B. Monchengladbach II | 14 | 8/2/4 | 31/18 | 13 | LWWLW |
| 4 | VfB Oldenburg | 14 | 10/1/3 | 41/19 | 22 | WWWLL |
| 4 | Altglienicke | 14 | 8/3/3 | 26/17 | 9 | WWLWW |
| 4 | Stutt. Kickers | 13 | 7/2/4 | 22/18 | 4 | LWLWD |
| 4 | Munich 1860 | 15 | 7/6/2 | 31/19 | 12 | WLWDW |
| 5 | Siegen | 14 | 7/4/3 | 31/20 | 11 | WWWLW |
| 5 | Phonix Lubeck | 14 | 8/4/2 | 38/14 | 24 | DDWLW |
| 5 | Jena | 14 | 8/2/4 | 23/12 | 11 | DWWWL |
| 5 | Eintracht Trier | 13 | 7/1/5 | 16/17 | -1 | WWLLW |
| 5 | Augsburg II | 15 | 7/3/5 | 27/28 | -1 | WWWLW |
| 6 | Koln II | 14 | 6/3/5 | 28/25 | 3 | DWWLW |
| 6 | Schoningen | 14 | 7/3/4 | 22/24 | -2 | LLLDL |
| 6 | BFC Dynamo | 14 | 7/5/2 | 22/13 | 9 | DDWWW |
| 6 | Offenbach | 13 | 6/3/4 | 23/17 | 6 | DLDLL |
| 6 | Illertissen | 15 | 6/5/4 | 26/18 | 8 | LWDDD |
| 7 | Westfalia Rhynern | 14 | 6/3/5 | 24/26 | -2 | WDLLL |
| 7 | Delmenhorst | 14 | 5/5/4 | 21/22 | -1 | DWDWD |
| 7 | Aue | 14 | 7/3/4 | 23/18 | 5 | WLLLD |
| 7 | FC 08 Homburg | 13 | 5/5/3 | 18/17 | 1 | DWDDL |
| 7 | Bayreuth | 15 | 7/1/7 | 29/21 | 8 | WLWWW |
| 8 | Schalke II | 14 | 6/2/6 | 28/26 | 2 | DLDWW |
| 8 | Emden | 15 | 5/4/6 | 36/41 | -5 | LDLLW |
| 8 | Greifswald | 14 | 6/4/4 | 28/23 | 5 | LLWLW |
| 8 | Sandhausen | 13 | 5/4/4 | 20/22 | -2 | LWWDW |
| 8 | Vilzing | 14 | 5/6/3 | 22/21 | 1 | DWDLD |
| 9 | Hilden | 14 | 5/4/5 | 19/24 | -5 | DWWWL |
| 9 | VfB Lubeck | 14 | 4/6/4 | 20/23 | -3 | WWDWW |
| 9 | Magdeburg II | 14 | 6/1/7 | 27/28 | -1 | WWLLL |
| 9 | Freiburg II | 12 | 4/5/3 | 22/17 | 5 | DLLWW |
| 9 | Eichstatt | 16 | 6/3/7 | 18/24 | -6 | LLLLW |
| 10 | Bonner | 14 | 4/6/4 | 26/25 | 1 | LLWWD |
| 10 | Hannoverscher SC | 15 | 4/5/6 | 23/32 | -9 | LDWWL |
| 10 | Zwickau | 14 | 5/4/5 | 17/22 | -5 | LDWDL |
| 10 | Steinbach Haiger | 13 | 4/4/5 | 20/20 | 0 | LLWDW |
| 10 | Burghausen | 15 | 5/5/5 | 35/28 | 7 | DDDLW |
| 11 | Bocholt | 14 | 4/5/5 | 29/32 | -3 | DWLLL |
| 11 | Werder Bremen II | 14 | 4/3/7 | 21/25 | -4 | WLDLW |
| 11 | Lokomotive Leipzig | 14 | 4/6/4 | 27/27 | 0 | DDDLW |
| 11 | Eintracht Frankfurt II | 12 | 5/1/6 | 15/16 | -1 | WWLLW |
| 11 | Nurnberg II | 14 | 6/2/6 | 25/19 | 6 | DWWWL |
| 12 | Bergisch Gladbach | 14 | 5/2/7 | 22/30 | -8 | DLLLW |
| 12 | Eimsbutteler | 14 | 4/3/7 | 22/36 | -14 | DLDWD |
| 12 | Babelsberg | 14 | 4/4/6 | 15/23 | -8 | WLDWL |
| 12 | Kassel | 13 | 4/2/7 | 21/28 | -7 | LLWDL |
| 12 | Bayern II | 13 | 5/4/4 | 19/15 | 4 | WDDWW |
| 13 | Bochum II | 13 | 4/3/6 | 23/28 | -5 | DWWLW |
| 13 | Jeddeloh | 15 | 4/2/9 | 23/37 | -14 | DWLLL |
| 13 | Chemie Leipzig | 14 | 3/4/7 | 17/22 | -5 | WDLWL |
| 13 | Walldorf | 13 | 3/4/6 | 20/22 | -2 | WLDWL |
| 13 | Eltersdorf | 15 | 4/6/5 | 21/22 | -1 | LDDDW |
| 14 | Paderborn II | 13 | 3/5/5 | 21/25 | -4 | DLLWD |
| 14 | St. Pauli II | 14 | 4/1/9 | 27/29 | -2 | WLLLL |
| 14 | BFC Preussen | 14 | 2/5/7 | 16/22 | -6 | LLDLD |
| 14 | FSV Frankfurt | 13 | 3/4/6 | 20/23 | -3 | LLDLL |
| 14 | Schwaben Augsburg | 15 | 5/3/7 | 18/27 | -9 | WWLWL |
| 15 | SG Wattenscheid | 14 | 3/3/8 | 19/28 | -9 | LLLWD |
| 15 | Norderstedt | 13 | 3/4/6 | 27/35 | -8 | LLWLD |
| 15 | Tasmania Berlin | 14 | 3/2/9 | 21/39 | -18 | WWLLD |
| 15 | Kaiserslautern II | 13 | 2/5/6 | 14/27 | -13 | DLDLD |
| 15 | Schweinfurt | 15 | 4/5/6 | 20/30 | -10 | WLDDD |
| 16 | Rodinghausen | 14 | 2/4/8 | 23/30 | -7 | DLLWL |
| 16 | Hamburger SV II | 14 | 4/1/9 | 20/32 | -12 | LLWLW |
| 16 | Hertha Berlin II | 14 | 2/4/8 | 10/25 | -15 | LLDDW |
| 16 | Mainz II | 13 | 3/2/8 | 13/26 | -13 | LDDLW |
| 16 | Furth II | 15 | 3/4/8 | 19/25 | -6 | LDLDD |
| 17 | Wiedenbruck | 14 | 2/2/10 | 19/38 | -19 | LLLLL |
| 17 | Todesfelde | 15 | 3/3/9 | 23/48 | -25 | LDLWL |
| 17 | RSV Eintracht | 14 | 2/3/9 | 15/32 | -17 | LWLLL |
| 17 | Ulm | 13 | 1/7/5 | 16/23 | -7 | DDWDL |
| 17 | Ansbach | 15 | 3/3/9 | 13/30 | -17 | LDDLL |
| 18 | Lotte | 14 | 1/3/10 | 9/27 | -18 | LLWLL |
| 18 | Bremer | 14 | 3/2/9 | 13/27 | -14 | WLLLL |
| 18 | Luckenwalde | 14 | 2/0/12 | 14/34 | -20 | LLWLL |
| 18 | Fulda-Lehnerz | 13 | 2/3/8 | 17/28 | -11 | WLLDL |
| 18 | Aubstadt | 15 | 2/5/8 | 18/25 | -7 | DLDDL |
| 19 | Landsberg | 15 | 1/6/8 | 14/30 | -16 | LDLDL |
Data comes from the AnySport league standing endpoint. Update date: 2026/10/27
Germany Regionalliga Season 2026-2027, Quantified
Every figure below is computed from raw match data the API returns — not hand-entered. Build the same dashboards, betting models, or editorial widgets on top of the same numbers.
Last update: 2026/10/27
8 Seasons of Germany Regionalliga History, Queryable
Coverage runs back to 2019-2020 — champions and distinct title-holders, every final table archived and addressable by season. Backfill your database once, then keep it current from the same endpoints. This depth is what separates a data provider from a scoreboard.
| Season | Team | Points | Match Record | Goal Statistics |
|---|---|---|---|---|
| 2025-2026 | Grossaspach | 68 | 34/20/8/6 | 86/43/43 |
| 2024-2025 | Havelse | 74 | 34/23/5/6 | 67/34/33 |
| 2023-2024 | Stuttgart II | 65 | 34/19/8/7 | 78/50/28 |
| 2022-2023 | Energie Cottbus | 70 | 34/21/7/6 | 65/28/37 |
| 2021-2022 | VfB Oldenburg | 43 | 18/13/4/1 | 45/12/33 |
| 2020-2021 | Freiburg II | 93 | 42/28/9/5 | 95/38/57 |
| 2019-2020 | Viktoria Aschaffenburg | 50 | 25/15/5/5 | 51/27/24 |