Skip to Content
API-ReferenzClosing Line Value (CLV)

Closing Line Value (CLV)

Analysieren Sie, wie gut die Schlussquoten eines Sportsbooks im Vergleich zur devigged (No-Vig) Wahrscheinlichkeit von Pinnacle abschneiden. Ein positiver CLV bedeutet, dass der Buchmacher lockerer geschlossen hat als Pinnacle — ein historischer Indikator für einen Edge.

GET /api/v1/historical/clv

Sharp-Tier oder höher erforderlich. Pro- und niedrigere Tiers erhalten einen 403 tier_restricted-Fehler. Dieser Endpoint ist durch das closing_lines-Feature gesperrt.

Phase 1 Datenfenster: Schlusslinien werden in Echtzeit erfasst, sobald Spiele live gehen. Der Valkey-Speicher behält die Daten 30 Tage lang. Historische Daten, die älter als 30 Tage sind, sind noch nicht verfügbar.

Wie Schlusslinien erfasst werden

Wenn ein Spiel vom Pre-Match- in den Live-Status übergeht, erfasst der Server die letzten Pre-Match-Quoten jedes Buchmachers als Schlusslinie für dieses Event. Der Schlusspreis wird mit der Power-Methode devigged (dieselbe wie bei der EV-Berechnung), um eine No-Vig-Wahrscheinlichkeit pro Auswahl zu erzeugen.

Der CLV wird dann wie folgt berechnet:

CLV% = (pin_no_vig_prob - book_no_vig_prob) / book_no_vig_prob × 100

Wobei pin_no_vig_prob die devigged Wahrscheinlichkeit von Pinnacle (die Sharp-Referenz) und book_no_vig_prob die devigged Wahrscheinlichkeit des Soft-Buchmachers ist. Ein positiver CLV% bedeutet, dass der Soft-Buchmacher zu einem Preis geschlossen hat, der günstiger ist als die faire Pinnacle-Linie.

Authentifizierung

API key erforderlich. Sharp-Tier oder höher erforderlich (closing_lines-Feature).

Query-Parameter

ParameterTypStandardBeschreibung
fromstringvor 7 TagenStartdatum (YYYY-MM-DD oder ISO 8601). Auf 30-Tage-Fenster begrenzt.
tostringheuteEnddatum (YYYY-MM-DD oder ISO 8601).
group_bystringsportsbookAggregationsdimension. Eine von: sportsbook, sport, league, market, day.
sportstringalleFilter nach Sportart(en), kommagetrennt (z. B. basketball,football).
leaguestringalleFilter nach Liga(en), kommagetrennt (z. B. nba,nfl).
sportsbookstringalleFilter nach Sportsbook(s), kommagetrennt.

Datumsfenster

Das Sharp-Tier erlaubt bis zu 30 Tage Verlauf (das aktuelle Speicherfenster für Schlusslinien-Daten). Anfragen für Daten außerhalb dieses Fensters werden stillschweigend auf das früheste verfügbare Datum begrenzt.

Beispielanfragen

# CLV nach Sportsbook für die letzten 7 Tage curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?from=2026-04-10&to=2026-04-17&group_by=sportsbook" \ -H "X-API-Key: YOUR_API_KEY" # CLV gruppiert nach Sportart, nur NBA curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?league=nba&group_by=sport" \ -H "X-API-Key: YOUR_API_KEY" # CLV gruppiert nach Tag für DraftKings curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?sportsbook=draftkings&group_by=day" \ -H "X-API-Key: YOUR_API_KEY"

Antwort

Erfolg (200)

{ "success": true, "data": { "group_by": "sportsbook", "groups": [ { "group_key": "draftkings", "samples": 312, "avg_clv_percent": 1.42, "avg_abs_clv_percent": 2.18, "distinct_books": 1, "distinct_sports": 4 }, { "group_key": "fanduel", "samples": 289, "avg_clv_percent": 0.87, "avg_abs_clv_percent": 1.95, "distinct_books": 1, "distinct_sports": 4 }, { "group_key": "betmgm", "samples": 201, "avg_clv_percent": -0.21, "avg_abs_clv_percent": 1.74, "distinct_books": 1, "distinct_sports": 3 } ], "date_range": { "from": "2026-04-10T00:00:00.000", "to": "2026-04-17T00:00:00.000" }, "total_events": 58, "comparable_events": 51, "sharp_reference": "pinnacle" }, "meta": { "source": "valkey:closing_line", "tier_window_days": 30, "phase": "1", "filters": { "sport": null, "league": null, "sportsbook": null, "group_by": "sportsbook" }, "updated_at": "2026-04-17T20:00:00.000000000Z" } }

Leeres Ergebnis (noch keine Schlusslinien-Daten):

{ "success": true, "data": { "group_by": "sportsbook", "groups": [], "date_range": { "from": "...", "to": "..." }, "total_events": 0, "comparable_events": 0, "sharp_reference": "pinnacle" }, "meta": { "source": "valkey:closing_line", "phase": "1", ... } }

Ein leeres groups-Array ist eine gültige Antwort, wenn für den angefragten Datumsbereich keine Schlusslinien-Daten erfasst wurden — kein Fehler.

Fehlerantworten

403 Tier Restricted

{ "error": { "code": "tier_restricted", "message": "The 'closing_lines' feature requires Sharp or higher.", "required_tier": "sharp", "docs": "https://docs.sharpapi.io/en/pricing" } }

400 Validation Error

{ "error": { "code": "validation_error", "message": "Invalid group_by. Must be one of: day, league, market, sport, sportsbook" } }

Antwortfelder

data-Objekt

FeldTypBeschreibung
group_bystringDie für die Aggregation verwendete Dimension
groupsarrayArray von Gruppenzeilen, sortiert nach samples absteigend
date_rangeobjectTatsächlich verwendete from/to-Werte nach Tier-Begrenzung
total_eventsintegerGesamtzahl der im Datumsbereich gefundenen Events (vor Pinnacle-Filter)
comparable_eventsintegerEvents mit verfügbarer Pinnacle-Schlusslinie zum Vergleich
sharp_referencestringAls Fair-Odds-Referenz verwendeter Sharp-Buchmacher ("pinnacle")

Felder der Gruppenzeile

FeldTypBeschreibung
group_keystringDer Gruppenbezeichner (Sportsbook-Name, Sportart, Liga, Markttyp oder YYYY-MM-DD-Datum)
samplesintegerAnzahl der Schlusslinien-Vergleiche in dieser Gruppe
avg_clv_percentnumberDurchschnittlicher CLV% über alle Samples. Positiv = Buchmacher hat lockerer als Pinnacle geschlossen.
avg_abs_clv_percentnumberDurchschnittlicher absoluter CLV% (richtungsunabhängiges Maß für Markteffizienz)
distinct_booksintegerAnzahl der unterschiedlichen Buchmacher in dieser Gruppe
distinct_sportsintegerAnzahl der unterschiedlichen Sportarten in dieser Gruppe

meta-Objekt

FeldTypBeschreibung
sourcestringImmer "valkey:closing_line" (Phase-1-Backend)
tier_window_daysintegerMaximaler Rückblick in Tagen für Ihr Tier (Sharp = 30)
phasestring"1" — Echtzeit-Erfassung bei Live-Übergängen. ClickHouse-Backfill für Phase 2 geplant.
updated_atstringISO 8601 Antwort-Zeitstempel

Interpretation des CLV

CLV%Interpretation
> +2%Buchmacher hat durchgängig deutlich lockerer als Sharp-Linien geschlossen — hoher Wert erfasst
+0,5% bis +2%Buchmacher hat leicht locker geschlossen — typisch für Freizeit-Buchmacher
-0,5% bis +0,5%Marktnaher Schluss — effizient oder gemischt
< -0,5%Buchmacher hat sich zum Schluss verengt — kann auf Steam Chasing oder Sharp-Side-Action hinweisen

Ein positiver durchschnittlicher CLV bei Ihren Wetten ist der stärkste Indikator dafür, dass Sie auf ineffiziente Preise setzen. Über eine große Stichprobe hinweg sagt ein positiver CLV einen positiven ROI stark voraus.

Verwandte Endpoints

Last updated on