Ergebnisse für Programme und KI-Assistenten
Schaltet ein Ausrichter seinen Spieltag in Matchday öffentlich, sind Spielplan, Ergebnisse, Tabellen und
Endplatzierung für jeden abrufbar — live während des Spieltags und danach. Zwei Wege führen dahin:
- JSON für Programme, etwa für die Vereinsseite, eine App oder Excel.
- MCP für KI-Assistenten: Eine KI wie Claude beantwortet Fragen wie „Wie steht es beim Herbstpokal in
Musterstadt?“ direkt aus Matchday.
Nur Mannschaftsdaten. Spielernamen, Geburtsdaten, UCI-IDs und Kartengründe stehen nie darin.
Beides ist nur lesend und braucht keine Anmeldung. Bitte bei Veröffentlichung „bikeball.app“ als Quelle nennen.
JSON für Programme
Grundadresse: https://bikeball.app/api/v1/matchday
| Adresse | Liefert |
/tournaments | Alle öffentlichen Spieltage, laufende zuerst. Filter: ?status=live
(planned, finished), ?q=U15 Musterstadt, ?from=2026-10-01,
?to=2026-10-31, ?limit=20 |
/tournaments/{id} | Ein Spieltag: Mannschaften, Spielplan mit Zeiten, Feldern und
Ergebnissen, Tore und Karten je Mannschaft mit Minute, Tabellen je Gruppe, Endplatzierung |
/tournaments/{id}/live | Je Spielfeld das laufende Spiel mit Stand und Uhr, das nächste und
das letzte. Ein Feld: ?court=2 |
/live | Alle Spieltage, die gerade laufen, je Feld mit Stand und Uhr — in einem Abruf
(so liest es bikeball.app/matchday/live) |
Beispiel
curl "https://bikeball.app/api/v1/matchday/tournaments?status=live"
{
"tournaments": [{
"id": "K7QH2MXP4TZA", "name": "Herbstpokal U15", "date": "2026-10-17",
"start": "10:00", "location": "Musterstadt", "class": "U15",
"status": "live", "teams": 6, "matches": 15, "played": 7, "courts": 2,
"url": "https://bikeball.app/api/v1/matchday/tournaments/K7QH2MXP4TZA"
}]
}
Gut zu wissen
time ist die Uhrzeit in der Halle (Zeitzone in timeZone), start und
end sind UTC im ISO-Format.
score ist das Ergebnis, das zählt. Bei einer Wertung 0:5 steht dazu forfeit
(gegen wen) und forfeitReason (noShow = nicht angetreten, awarded = am Tisch
gewertet, etwa nach Rot), der gespielte Stand in playedScore.
- Spielstatus:
scheduled, called (aufgerufen), running, halftime,
shootout (4-m-Schießen), ended (abgepfiffen), final (bestätigt).
- Mannschaften stehen in Spielen und Tabellen als Kennung (
home, away, team),
Namen und Kürzel in teams. Stehen sie noch nicht fest, sagt homeLabel, wer es wird
(„Sieger Halbfinale 1“).
- Die Daten sind höchstens wenige Sekunden alt, die Uhr wird bei jeder Abfrage neu berechnet. Einmal pro Sekunde
abfragen reicht für jede Anzeige.
- Offen für jede Website (CORS). Vollständige Beschreibung im OpenAPI-Format:
openapi.json.
MCP für KI-Assistenten
Adresse des MCP-Servers: https://bikeball.app/mcp
In KI-Anwendungen, die MCP-Server über eine Adresse einbinden — zum Beispiel Claude als eigener Connector —,
diese Adresse eintragen. Eine Anmeldung ist nicht nötig. Die KI bekommt drei Werkzeuge:
| Werkzeug | Wofür |
find_tournaments | Spieltage suchen: nach Name, Ort, Klasse, Status, Zeitraum |
get_tournament | Spielplan, Ergebnisse, Tabellen und Endplatzierung eines Spieltags |
get_live_score | Was gerade auf den Feldern läuft, mit Stand und Uhr |
Technisch: Streamable HTTP ohne Sitzung (Protokollversionen 2025-06-18, 2025-03-26 und
2024-11-05), nur Werkzeuge, alles nur lesend.
Für Ausrichter
Öffentlich wird ein Spieltag erst, wenn du es willst: in Matchday unter Einstellungen → Auf bikeball.app
veröffentlichen → Veröffentlichen (oder gleich beim Anlegen). Dort stehen dann auch die Adressen deines Spieltags zum Kopieren. Schaltest du
es wieder aus oder löschst den Spieltag, ist er über die Schnittstelle sofort nicht mehr abrufbar.
Results for programs and AI assistants
When an organiser makes their match day public in Matchday, the schedule, results, standings and
final ranking are available to everyone — live during the match day and afterwards. There are two ways in:
- JSON for programs, for example for a club website, an app or Excel.
- MCP for AI assistants: an AI such as Claude answers questions like “What’s the score at the Herbstpokal in
Musterstadt?” straight from Matchday.
Team data only. Player names, dates of birth, UCI IDs and reasons for cards are never included.
Both are read-only and need no sign-in. If you publish the data, please credit “bikeball.app” as the source.
JSON for programs
Base URL: https://bikeball.app/api/v1/matchday
| Endpoint | Returns |
/tournaments | All public match days, running ones first. Filters: ?status=live
(planned, finished), ?q=U15 Musterstadt, ?from=2026-10-01,
?to=2026-10-31, ?limit=20 |
/tournaments/{id} | One match day: teams, schedule with times, courts and
results, goals and cards per team with the minute, standings per group, final ranking |
/tournaments/{id}/live | For each court the current match with score and clock, the next one and
the last one. A single court: ?court=2 |
/live | All match days running right now, per court with score and clock — in a single request
(this is what bikeball.app/matchday/live reads) |
Example
curl "https://bikeball.app/api/v1/matchday/tournaments?status=live"
{
"tournaments": [{
"id": "K7QH2MXP4TZA", "name": "Herbstpokal U15", "date": "2026-10-17",
"start": "10:00", "location": "Musterstadt", "class": "U15",
"status": "live", "teams": 6, "matches": 15, "played": 7, "courts": 2,
"url": "https://bikeball.app/api/v1/matchday/tournaments/K7QH2MXP4TZA"
}]
}
Good to know
time is the local time in the hall (time zone in timeZone), start and
end are UTC in ISO format.
score is the result that counts. For a 0:5 award it comes with forfeit
(against whom) and forfeitReason (noShow = did not show up, awarded = awarded at the
table, e.g. after a red card), and the score as played in playedScore.
- Match status:
scheduled, called (called up), running, halftime,
shootout (penalty shoot-out), ended (final whistle), final (confirmed).
- In matches and standings, teams appear as IDs (
home, away, team),
with names and short codes in teams. If they are not set yet, homeLabel says who it will be
(“Sieger Halbfinale 1”, i.e. winner of semi-final 1).
- The data is at most a few seconds old, and the clock is recalculated on every request. Polling once per second
is enough for any display.
- Open to any website (CORS). Full description in OpenAPI format:
openapi.json.
MCP for AI assistants
MCP server URL: https://bikeball.app/mcp
Enter this URL in AI applications that connect MCP servers by URL — for example in Claude as a custom connector.
No sign-in is needed. The AI gets three tools:
| Tool | Purpose |
find_tournaments | Search match days: by name, place, class, status, period |
get_tournament | Schedule, results, standings and final ranking of a match day |
get_live_score | What is being played on the courts right now, with score and clock |
Technical details: Streamable HTTP without sessions (protocol versions 2025-06-18, 2025-03-26 and
2024-11-05), tools only, everything read-only.
For organisers
A match day only becomes public if you want it to: in Matchday under Settings → Publish on bikeball.app → Publish. That is also where you’ll find your match day’s URLs to copy. If you switch
it off again or delete the match day, it is immediately no longer available through the API.
プログラムとAIアシスタントのための結果
主催者が Matchday で大会を公開すると、対戦表、結果、順位表、最終順位を誰でも取得できます — 大会中はライブで、終了後も。
方法は2つあります:
- プログラム向けのJSON:クラブのサイト、アプリ、Excel などに。
- AIアシスタント向けのMCP:Claude などのAIが、「Musterstadt の Herbstpokal はどうなっていますか?」といった質問に
Matchday から直接答えます。
含まれるのはチームのデータのみです。選手名、生年月日、UCI ID、カードの理由は一切含まれません。
どちらも読み取り専用で、ログインは不要です。公開する際は出典として「bikeball.app」を明記してください。
プログラム向けのJSON
ベースURL:https://bikeball.app/api/v1/matchday
| URL | 内容 |
/tournaments | 公開中のすべての大会(開催中のものが先頭)。フィルター:?status=live
(planned、finished)、?q=U15 Musterstadt、?from=2026-10-01、
?to=2026-10-31、?limit=20 |
/tournaments/{id} | 1つの大会:チーム、時刻・コート・結果付きの対戦表、
チームごとのゴールとカード(分付き)、グループごとの順位表、最終順位 |
/tournaments/{id}/live | コートごとに、進行中の試合(スコアと時計付き)、次の試合、
直前の試合。1コートのみ:?court=2 |
/live | 現在開催中のすべての大会を、コートごとのスコアと時計付きで — 1回の取得で
(bikeball.app/matchday/live はこれを読み込んでいます) |
例
curl "https://bikeball.app/api/v1/matchday/tournaments?status=live"
{
"tournaments": [{
"id": "K7QH2MXP4TZA", "name": "Herbstpokal U15", "date": "2026-10-17",
"start": "10:00", "location": "Musterstadt", "class": "U15",
"status": "live", "teams": 6, "matches": 15, "played": 7, "courts": 2,
"url": "https://bikeball.app/api/v1/matchday/tournaments/K7QH2MXP4TZA"
}]
}
知っておくと便利なこと
time は会場の現地時刻(タイムゾーンは timeZone)、start と
end はISO形式のUTCです。
score は有効な結果です。0:5の判定の場合は、あわせて forfeit
(どちらの負けか)と forfeitReason(noShow = 不戦、awarded = 記録席での判定、
例:レッドカード後)が入り、実際のスコアは playedScore に入ります。
- 試合の状態:
scheduled、called(呼び出し済み)、running、halftime、
shootout(4mペナルティ戦)、ended(試合終了)、final(確定)。
- 試合と順位表では、チームはID(
home、away、team)で示され、
名前と略称は teams にあります。まだ決まっていない場合は、homeLabel にどのチームが入るかが示されます
(「準決勝1 勝者」)。
- データの遅れは最大でも数秒で、時計は取得のたびに再計算されます。どんな表示でも、1秒に1回の取得で
十分です。
- どのウェブサイトからも利用できます(CORS)。完全な仕様はOpenAPI形式で:
openapi.json。
AIアシスタント向けのMCP
MCPサーバーのURL:https://bikeball.app/mcp
URLでMCPサーバーを追加できるAIアプリ(例:カスタムコネクタとしての Claude)に、
このURLを入力してください。ログインは不要です。AIは3つのツールを使えるようになります:
| ツール | 用途 |
find_tournaments | 大会を検索:名前、場所、クラス、状態、期間で |
get_tournament | 大会の対戦表、結果、順位表、最終順位 |
get_live_score | いま各コートで行われている試合を、スコアと時計付きで |
技術情報:セッションなしの Streamable HTTP(プロトコルバージョン 2025-06-18、2025-03-26、
2024-11-05)、ツールのみ、すべて読み取り専用。
主催者の方へ
大会が公開されるのは、あなたが望んだときだけです:Matchday の 設定 → bikeball.app で公開 → 公開 で設定します。そこには、あなたの大会のURLもコピー用に表示されます。公開をオフにするか
大会を削除すると、APIからはすぐに取得できなくなります。
Výsledky pro programy a AI asistenty
Když pořadatel v Matchday zveřejní svůj hrací den, jsou rozpis, výsledky, tabulky a
konečné pořadí dostupné pro každého — živě během hracího dne i potom. Vedou k nim dvě cesty:
- JSON pro programy, třeba pro web klubu, aplikaci nebo Excel.
- MCP pro AI asistenty: AI jako Claude odpovídá na otázky typu „Jaký je stav na Podzimním poháru
v Musterstadtu?“ přímo z Matchday.
Jen údaje o družstvech. Jména hráčů, data narození, UCI ID a důvody karet tam nikdy nejsou.
Obojí je jen pro čtení a nevyžaduje přihlášení. Při zveřejnění prosím uveď jako zdroj „bikeball.app“.
JSON pro programy
Základní adresa: https://bikeball.app/api/v1/matchday
| Adresa | Vrací |
/tournaments | Všechny veřejné hrací dny, probíhající jako první. Filtry: ?status=live
(planned, finished), ?q=U15 Musterstadt, ?from=2026-10-01,
?to=2026-10-31, ?limit=20 |
/tournaments/{id} | Jeden hrací den: družstva, rozpis s časy, hřišti a
výsledky, góly a karty jednotlivých družstev s minutou, tabulky skupin, konečné pořadí |
/tournaments/{id}/live | Pro každé hřiště probíhající zápas se stavem a časem, další a
poslední. Jedno hřiště: ?court=2 |
/live | Všechny hrací dny, které právě probíhají, pro každé hřiště se stavem a časem — jedním dotazem
(takto ho čte bikeball.app/matchday/live) |
Příklad
curl "https://bikeball.app/api/v1/matchday/tournaments?status=live"
{
"tournaments": [{
"id": "K7QH2MXP4TZA", "name": "Herbstpokal U15", "date": "2026-10-17",
"start": "10:00", "location": "Musterstadt", "class": "U15",
"status": "live", "teams": 6, "matches": 15, "played": 7, "courts": 2,
"url": "https://bikeball.app/api/v1/matchday/tournaments/K7QH2MXP4TZA"
}]
}
Dobré vědět
time je místní čas v hale (časové pásmo v timeZone), start a
end jsou v UTC ve formátu ISO.
score je výsledek, který platí. Při kontumaci 0:5 je u něj navíc forfeit
(v čí neprospěch) a forfeitReason (noShow = nenastoupili, awarded = kontumováno
u stolku, třeba po červené kartě), odehraný stav je v playedScore.
- Stav zápasu:
scheduled, called (vyvolán), running, halftime,
shootout (rozstřel ze 4 m), ended (odpískán), final (potvrzen).
- Družstva jsou v zápasech a tabulkách uvedena jako identifikátor (
home, away, team),
názvy a zkratky jsou v teams. Pokud ještě nejsou známa, homeLabel říká, kdo to bude
(„Vítěz semifinále 1“).
- Data jsou stará nejvýš několik sekund, čas se přepočítává při každém dotazu. Dotaz jednou za sekundu
stačí pro jakékoli zobrazení.
- Otevřeno pro každý web (CORS). Úplný popis ve formátu OpenAPI:
openapi.json.
MCP pro AI asistenty
Adresa MCP serveru: https://bikeball.app/mcp
V AI aplikacích, které připojují MCP servery přes adresu — například Claude jako vlastní konektor —,
zadej tuto adresu. Přihlášení není potřeba. AI dostane tři nástroje:
| Nástroj | K čemu |
find_tournaments | Hledání hracích dnů: podle názvu, místa, kategorie, stavu, období |
get_tournament | Rozpis, výsledky, tabulky a konečné pořadí hracího dne |
get_live_score | Co se právě hraje na hřištích, se stavem a časem |
Technicky: Streamable HTTP bez relace (verze protokolu 2025-06-18, 2025-03-26 a
2024-11-05), jen nástroje, vše jen pro čtení.
Pro pořadatele
Veřejným se hrací den stane, až když to budeš chtít: v Matchday v Nastavení → Zveřejnit na bikeball.app → Zveřejnit. Tam pak najdeš i adresy svého hracího dne ke zkopírování. Když to
znovu vypneš nebo hrací den smažeš, přes rozhraní okamžitě přestane být dostupný.
Résultats pour les programmes et les assistants IA
Quand un organisateur rend sa journée publique dans Matchday, le calendrier, les résultats, les classements et le
classement final sont accessibles à tous — en direct pendant la journée et ensuite. Deux accès sont possibles :
- JSON pour les programmes, par exemple pour le site du club, une appli ou Excel.
- MCP pour les assistants IA : une IA comme Claude répond directement depuis Matchday à des questions comme
« Où en est le Herbstpokal à Musterstadt ? ».
Uniquement des données d’équipes. Les noms des joueurs, dates de naissance, identifiants UCI et motifs des cartons n’y figurent jamais.
Les deux accès sont en lecture seule et ne nécessitent aucune connexion. En cas de publication, merci de citer « bikeball.app » comme source.
JSON pour les programmes
Adresse de base : https://bikeball.app/api/v1/matchday
| Adresse | Renvoie |
/tournaments | Toutes les journées publiques, celles en cours d’abord. Filtres : ?status=live
(planned, finished), ?q=U15 Musterstadt, ?from=2026-10-01,
?to=2026-10-31, ?limit=20 |
/tournaments/{id} | Une journée : équipes, calendrier avec horaires, terrains et
résultats, buts et cartons par équipe avec la minute, classements par poule, classement final |
/tournaments/{id}/live | Pour chaque terrain, le match en cours avec score et chrono, le suivant et
le précédent. Un seul terrain : ?court=2 |
/live | Toutes les journées en cours, par terrain avec score et chrono — en une seule requête
(c’est ce que lit bikeball.app/matchday/live) |
Exemple
curl "https://bikeball.app/api/v1/matchday/tournaments?status=live"
{
"tournaments": [{
"id": "K7QH2MXP4TZA", "name": "Herbstpokal U15", "date": "2026-10-17",
"start": "10:00", "location": "Musterstadt", "class": "U15",
"status": "live", "teams": 6, "matches": 15, "played": 7, "courts": 2,
"url": "https://bikeball.app/api/v1/matchday/tournaments/K7QH2MXP4TZA"
}]
}
Bon à savoir
time est l’heure locale de la salle (fuseau horaire dans timeZone), start et
end sont en UTC au format ISO.
score est le résultat qui compte. En cas de 0:5 sur tapis vert, forfeit indique
contre qui et forfeitReason pourquoi (noShow = forfait, awarded = décision
de la table, par exemple après un carton rouge), le score joué figure dans playedScore.
- Statut du match :
scheduled, called (appelé), running, halftime,
shootout (tirs au but), ended (coup de sifflet final), final (validé).
- Dans les matchs et les classements, les équipes figurent sous forme d’identifiant (
home, away, team),
les noms et abréviations dans teams. Si elles ne sont pas encore connues, homeLabel indique qui ce sera
(« Sieger Halbfinale 1 », le vainqueur de la demi-finale 1).
- Les données datent au plus de quelques secondes, le chrono est recalculé à chaque requête. Une requête par seconde
suffit pour n’importe quel affichage.
- Ouvert à tous les sites web (CORS). Description complète au format OpenAPI :
openapi.json.
MCP pour les assistants IA
Adresse du serveur MCP : https://bikeball.app/mcp
Saisis cette adresse dans les applications d’IA qui intègrent des serveurs MCP par leur adresse — par exemple Claude, comme connecteur personnalisé.
Aucune connexion n’est nécessaire. L’IA dispose de trois outils :
| Outil | Usage |
find_tournaments | Chercher des journées : par nom, lieu, catégorie, statut, période |
get_tournament | Calendrier, résultats, classements et classement final d’une journée |
get_live_score | Ce qui se joue en ce moment sur les terrains, avec score et chrono |
Technique : Streamable HTTP sans session (versions du protocole 2025-06-18, 2025-03-26 et
2024-11-05), uniquement des outils, tout en lecture seule.
Pour les organisateurs
Une journée ne devient publique que si tu le veux : dans Matchday, sous Paramètres → Publier sur bikeball.app → Publier. Tu y trouves aussi les adresses de ta journée, prêtes à copier. Si tu désactives
l’option ou supprimes la journée, elle n’est immédiatement plus accessible via l’API.