Öffentliche Schnittstelle

socometrix-API

Lies Spieltage, Prognosen und ihre späteren Ergebnisse direkt aus dem Dienst, den auch die App verwendet.

Erster Abruf

Die Basisadresse lautet https://api.socometrix.de/v1/. Die Antworten sind JSON. Ein API-Schlüssel und eine Anmeldung sind nicht nötig (Authentifizierung: keine). Die Schnittstelle ist lesend: GET und HEAD sind erlaubt; Schreibmethoden antworten mit 405.

curl -H 'Accept: application/json' \
  'https://api.socometrix.de/v1/competitions'

Die Liste liefert die aktuell freigegebenen Wettbewerbe. Ihre id kommt in alle wettbewerbsbezogenen Pfade. Ein Beispiel ist de.bl1; verwende für produktive Abrufe stets eine ID aus /competitions.

Endpunkte

Pfad hinter /v1Liefert
/competitionsFreigegebene Wettbewerbe mit IDs und Saison.
/competitions/{id}/matchdays?include=currentSpieltagsverzeichnis und aktuellen Spieltag mit Partien.
/competitions/{id}/matchdays/{order}Partien eines Spieltags und ihre festgeschriebenen oder vorläufigen Prognosen.
/competitions/{id}/seasons/{season}/matches/{matchId}Partiedetail, Prognose und verfügbaren Kontext.
/competitions/{id}/recordTrefferbilanz mit Auswertung je Modellversion.
/competitions/{id}/standings?order={spieltag}Tabelle und gegebenenfalls unverbindliche Projektion.
/competitions/{id}/modelBeschreibung des Modells für den gewählten Wettbewerb.
/modelAllgemeine Modellbeschreibung.
/ledgerÖffentliches Ereignisprotokoll mit Hash-Kette, einschließlich Lücken.
/sourcesVerwendete Datenquellen, Lizenzen und letzter erfolgreicher Abruf.

Die Betriebsendpunkte liegen außerhalb von /v1: https://api.socometrix.de/health/live prüft den Prozess, https://api.socometrix.de/health/ready die Datenbereitschaft und https://api.socometrix.de/health liefert den erweiterten Zustand.

Spieltag und Sprache

Der erste Aufruf zeigt, welcher Spieltag aktuell ist. Mit dessen order lässt sich derselbe Spieltag später gezielt laden:

curl 'https://api.socometrix.de/v1/competitions/de.bl1/matchdays?include=current'
curl 'https://api.socometrix.de/v1/competitions/de.bl1/matchdays/3?lang=en'

lang=de (Vorgabe) und lang=en steuern Begründung und übersetzte Modelltexte. Andere Werte ergeben 400. Das Ereignisprotokoll /ledger bleibt in der aufgezeichneten Sprache. Zeitstempel sind ISO 8601 in UTC.

Eine Partie kann vor der Festschreibung nur provisionalPrediction enthalten. Dieser Wert kann sich ändern. Erst prediction ist vor dem Anpfiff festgeschrieben und zählt zur späteren Bilanz. Fehlt beides, gibt es noch keine Prognose oder die Aufzeichnung ist ausgefallen.

Zwischenspeicher und Fehler

Erfolgreiche JSON-Antworten tragen ein ETag. Mit If-None-Match erhältst du bei unverändertem Stand 304 ohne Antwortkörper. Die meisten Endpunkte erlauben fünf Minuten Zwischenspeicherung; Modellbeschreibungen eine Stunde, Betriebsendpunkte keine. Rufe Spieltage nicht häufiger ab als nötig. Zu viele Anfragen ergeben 429, fehlende Pfade oder Wettbewerbe 404, fehlende Daten können 503 ergeben.

curl -i 'https://api.socometrix.de/v1/competitions'
curl -H 'If-None-Match: <ETag aus der ersten Antwort>' \
  'https://api.socometrix.de/v1/competitions'

Für Browser-Code auf einer fremden Domain stellt der Dienst keine CORS-Freigabe bereit. Die Website nutzt ihren eigenen Proxy unter socometrix.de/api/v1/. Für automatisierte Weiterverwendung gelten die Nutzungsbedingungen; systematische Massenabrufe sind dort ausgeschlossen.

Spielpläne und Ergebnisse stammen unter anderem von OpenLigaDB (ODbL). Welche Quelle zuletzt für eine Antwort verwendet wurde, zeigen meta und /sources.