Skip to Content
API-ReferenzSchlussquote

Closing Line

Gibt den Closing-Line-Snapshot für ein Event zurück — die Pro-Buch-Quoten, die in dem Moment erfasst werden, in dem jeder Sportsbook das Event von Pre-Match auf Live umstellt. Der Endpoint ist die kanonische Quelle für die Closing-Line-Value-Analyse (CLV) bei Wetten, die vor dem Anpfiff platziert wurden.

GET /api/v1/odds/closing

Jeder Sportsbook wird unabhängig erfasst, sobald er ein bestimmtes Event zum ersten Mal auf is_live=true umstellt. Erfasste Snapshots verbleiben 48 Stunden nach Eventbeginn in Valkey. Außerhalb dieses Zeitfensters verwenden Sie /api/v1/historical/odds/closing (Enterprise, ClickHouse-gestützt).

Authentifizierung

Erfordert einen API-Schlüssel. Verfügbar für die Tarife Pro, Sharp und Enterprise (Feature closing_line).

Query-Parameter

ParameterTypStandardBeschreibung
event_idstringerforderlichEvent-Identifikator. Gleiche IDs wie unter /api/v1/events.
sportsbookstringalleKommagetrennter Buchfilter (z. B. draftkings,fanduel). books= wird als Legacy-Alias akzeptiert.

event_id ist erforderlich. Wird er weggelassen, wird 400 validation_error zurückgegeben. Ungültige Zeichen im Wert führen ebenfalls zu 400 validation_error.

Beispielanfragen

curl -X GET "https://api.sharpapi.io/api/v1/odds/closing?event_id=mlb_athletics_mariners_2026-04-22" \ -H "X-API-Key: YOUR_API_KEY"

Antwort

{ "success": true, "data": { "event_id": "mlb_athletics_mariners_2026-04-22", "sport": "baseball", "league": "mlb", "home_team": "Seattle Mariners", "away_team": "Athletics", "event_start_time": "2026-04-22T22:10:00Z", "captured_at": "2026-04-22T22:09:58.412Z", "books": { "draftkings": [ { "sportsbook": "draftkings", "market_type": "moneyline", "selection": "Seattle Mariners", "selection_type": "home", "odds_american": -165, "odds_decimal": 1.606 }, { "sportsbook": "draftkings", "market_type": "spread", "selection": "Seattle Mariners", "selection_type": "home", "line": -1.5, "odds_american": 130, "odds_decimal": 2.30 } ], "pinnacle": [ { "sportsbook": "pinnacle", "market_type": "moneyline", "selection": "Seattle Mariners", "selection_type": "home", "odds_american": -158, "odds_decimal": 1.633 } ] } }, "meta": { "source": "valkey", "updated_at": "2026-04-22T17:34:54.692Z" } }

Leere Antwort

Wurde noch kein Closing-Snapshot erfasst (das Event hat noch nicht begonnen, oder die Event-ID weist innerhalb des 48-Stunden-Fensters keine Erfassungen auf), gibt die Antwort ein leeres books-Objekt zurück:

{ "success": true, "data": { "event_id": "mlb_athletics_mariners_2026-04-22", "books": {} }, "meta": { "source": "valkey", "updated_at": "2026-04-22T17:34:54.692Z" } }

Antwortfelder

FeldTypBeschreibung
data.event_idstringEvent-Identifikator, der aus der Anfrage zurückgegeben wird.
data.sportstringSportart (z. B. baseball). Leer, wenn keine Erfassungen vorliegen.
data.leaguestringLiga (z. B. mlb). Leer, wenn keine Erfassungen vorliegen.
data.home_team, data.away_teamstringTeamnamen. Leer, wenn keine Erfassungen vorliegen.
data.event_start_timestringGeplante Startzeit im ISO-8601-Format.
data.captured_atstringISO-8601-Zeitstempel der ersten Erfassung (das früheste Buch, das das Event auf Live umstellt).
data.booksobjectMap von book_id → ClosingOdd[]. Leer {}, wenn nichts erfasst wurde.

Struktur von ClosingOdd

FeldTypBeschreibung
sportsbookstringBuch-Identifikator (Kleinbuchstaben).
market_typestringz. B. moneyline, spread, total, player_prop.
selectionstringBezeichnung der Auswahl (z. B. Teamname, Spielername, over, under).
selection_typestringhome, away, over, under usw.
linenumber?Spread- oder Total-Linie, sofern zutreffend. Bei Moneylines weggelassen.
odds_americanintegerQuoten im amerikanischen Format zum Zeitpunkt der Erfassung.
odds_decimalnumberQuoten im Dezimalformat (3 Nachkommastellen).
player_namestring?Vorhanden bei Player Props.
stat_categorystring?Statistikkategorie (points, rebounds usw.) für Player Props.

Caching

Antworten werden am Edge für 30 s (s-maxage=30) und beim Client für 10 s (max-age=10) zwischengespeichert. Closing-Snapshots ändern sich nach der Erfassung nicht mehr, daher ist dies unbedenklich.

Fehlercodes

StatusCodeBedeutung
400validation_errorFehlende oder fehlerhafte event_id.
401missing_api_key / invalid_api_keySiehe Authentifizierung.
403tier_restrictedTarif unterhalb von Pro.
503not_readyClosing-Line-Erfassung ist derzeit nicht verfügbar (z. B. Backing-Store nicht erreichbar). Wiederholen Sie die Anfrage.

Verwandte Themen

Last updated on