Skip to Content
API-ReferenzWettverteilung

Wett-Splits

Öffentliche Wett-Splits (Handle % und Bet %) von DraftKings, Circa Sports und BetMGM abrufen.

GET /api/v1/splits

AuthentifizierungPermalink for this section

Erfordert API-Schlüssel. Erfordert Pro-Tarif ($229/Monat) oder höher.

Was sind Wett-Splits?Permalink for this section

Handle % ist der Prozentsatz des gesamten gewetteten Geldes auf jeder Seite. Bet % ist der Prozentsatz der gesamten Tickets (platzierten Wetten) auf jeder Seite.

Die Lücke zwischen Bet % und Handle % offenbart Sharp Money. Wenn 30 % der Tickets 60 % des Geldes ausmachen, sind Sharp-Bettors auf dieser Seite.

DatenquellenPermalink for this section

QuelleTypEnthaltene WerteAktualisierungshäufigkeit
DraftKingsRecreational Book (~35 % US-Marktanteil)Handle % und Bet %Alle 5 Minuten
Circa SportsSharp-freundliches Buch (zieht Profis an)Handle % und Bet %Alle 5 Minuten
BetMGMRecreational Book — abgeleitet aus dem eigenen Public-Bet-Prozentsatz-FeldNur Bet % — handle_pct-Werte sind nullUnregelmäßig

Der Vergleich der Splits von DraftKings (recreational) vs. Circa (sharp) zeigt, wo professionelles Geld vom Publikum abweicht.

Die Abdeckung ist auf diese drei Bücher festgelegt. Sie wächst nicht mit dem Sportsbook-Kontingent Ihres Tarifs — mehr ausgewählte Bücher oder ein höherer Tarif fügen keine weiteren Splits-Quellen hinzu. Kein anderes Buch veröffentlicht Wett-Splits, und weitere sind nicht geplant. Da BetMGM nur einen Ticket-Prozentsatz liefert, lässt sich die Bet-%/Handle-%-Differenz, die Sharp Money offenlegt, ausschließlich für DraftKings- und Circa-Zeilen berechnen. Der Verlauf enthält innerhalb des 48-Stunden-Fensters erfasste Samples von DraftKings, Circa und BetMGM. BetMGM veröffentlicht nur Ticket-Prozentsätze; die Handle-Prozentsätze bleiben null.

consensus ist ein Label, kein Sportsbook. Wenn alle Quellen zu einem Event identische Zahlen melden, werden diese Zeilen zu einer einzigen Zeile mit "sportsbook": "consensus" zusammengefasst. Die API vergibt dieses Label synthetisch — es erscheint nie in /api/v1/sportsbooks, /splits?sportsbook=consensus filtert jedoch darauf. Zusammengefasste Zeilen werden von einem sportsbook=draftkings-Filter nicht zurückgegeben.

Query-ParameterPermalink for this section

ParameterTypBeschreibung
sportstringNach Sportart filtern (kommagetrennt). Beispiel: basketball
leaguestringNach Liga filtern (kommagetrennt). Beispiel: nba,ncaab
sportsbookstringNach Splits-Quelle filtern. Beispiel: draftkings,circa. Akzeptiert außerdem den synthetischen Wert consensus.
event_idstringNach kanonischer Event-ID filtern (kommagetrennt)
marketstringFiltert auf Events, die einen bestimmten Split-Markt führen (kommagetrennt). Eines oder mehrere von spread, total, moneyline.
limitintegerMaximale Ergebnisse (Standard 100, Maximum 200)
offsetintegerPaginierungs-Offset (Standard 0)

AntwortPermalink for this section

{ "data": [ { "event_id": "mlb_guardians_orioles_2026-04-16", "sport": "baseball", "league": "mlb", "sportsbook": "draftkings", "away_team": "Baltimore Orioles", "home_team": "Cleveland Guardians", "spread": { "away_odds": -1.5, "home_odds": 1.5, "handle_pct": { "away": 0.22, "home": 0.78 }, "bets_pct": { "away": 0.20, "home": 0.80 } }, "total": { "line": 8, "handle_pct": { "over": 0.53, "under": 0.47 }, "bets_pct": { "over": 0.57, "under": 0.43 } }, "moneyline": { "away_odds": 104, "home_odds": -126, "handle_pct": { "away": 0.28, "home": 0.72 }, "bets_pct": { "away": 0.33, "home": 0.67 } }, "fetched_at": "2026-04-16T19:25:28.363825+00:00", "available_metrics": ["bets_pct", "handle_pct"] } ], "pagination": { "limit": 100, "offset": 0, "count": 1, "total": 41, "has_more": false, "next_offset": null }, "updated_at": "2026-04-16T19:29:38.920698424Z" }

In der /splits-Antwort führt der Spread Linien-Werte innerhalb der Schlüssel away_odds/home_odds (z. B. -1.5 / +1.5) — die Feldbenennung ist eine bekannte Inkonsistenz. Der historische Endpoint verwendet away_line/home_line für dieselben Daten.

AntwortfelderPermalink for this section

FeldTypBeschreibung
event_idstringKanonische Event-ID — verwenden Sie diese, um sie mit /odds-Daten zu verknüpfen
sportstringAtlas-normalisierter Sportname
leaguestringAtlas-normalisierter Liganame
sportsbookstringQuell-Sportsbook für die Splits-Daten (draftkings, circa, betmgm oder der synthetische Wert consensus)
away_teamstringName des Auswärtsteams
home_teamstringName des Heimteams
spread.away_oddsnumberAuswärts-Spread-Linien-Wert (z. B. -1.5) — siehe Hinweis oben
spread.home_oddsnumberHeim-Spread-Linien-Wert (z. B. +1.5)
spread.handle_pctobjectGeld-% auf jeder Seite (away, home; 0.0-1.0)
spread.bets_pctobjectTicket-% auf jeder Seite (away, home; 0.0-1.0)
total.linenumberOver/Under-Linie (z. B. 225.5)
total.handle_pctobjectGeld-% (over, under; 0.0-1.0)
total.bets_pctobjectTicket-% (over, under; 0.0-1.0)
moneyline.away_oddsnumberAuswärts-Moneyline-Quoten (amerikanisches Format)
moneyline.home_oddsnumberHeim-Moneyline-Quoten (amerikanisches Format)
moneyline.handle_pctobjectGeld-% auf jeder Seite (away, home; 0.0-1.0)
moneyline.bets_pctobjectTicket-% auf jeder Seite (away, home; 0.0-1.0)
fetched_atstringISO-8601-Zeitstempel, wann die Daten zuletzt erfasst wurden
available_metricsarrayWelche Split-Metriken der Sportsbook dieser Zeile überhaupt veröffentlicht — bets_pct, handle_pct oder beide, immer in dieser Reihenfolge. Eine Aussage über den Sportsbook, nicht über die Werte dieser Zeile. Entfällt, wenn der Sportsbook nicht erklärt ist — siehe unten.

Welche Werte null sein können — und welche Schlüssel ganz fehlen können. Die oben genannten Prozentsatz- und Quoten-Schlüssel sind immer vorhanden, einige enthalten aber statt einer Zahl null. Zwei Schlüssel können ganz fehlen, statt null zu führen: total.line fehlt bei einem Event, für das die Buchmacher-Seite kein Total veröffentlicht hat, und available_metrics fehlt bei einem Buch, das SharpAPI nicht erklärt hat — lies beide mit einem Standardwert, statt ihr Vorhandensein vorauszusetzen. handle_pct.away / .home (und .over / .under bei Totals) sind in jeder betmgm-Zeile null, da BetMGM nur einen Ticket-Prozentsatz veröffentlicht — es gibt keine Handle-Zahl. bets_pct-Werte sind null, wenn die Quelle für diesen Markt noch keinen Prozentsatz gemeldet hat; der BetMGM-Feed ist unregelmäßig, daher tritt das dort auf. moneyline.away_odds / .home_odds sind null, wenn eine Buchmacher-Seite die Moneyline für ein Event zurückgezogen hat, die Split-Prozentsätze aber weiter veröffentlicht — das kommt auch bei DraftKings- und Circa-Zeilen vor, nicht nur bei BetMGM. Die OpenAPI-Spezifikation deklariert all dies als nullable, ein generierter Client akzeptiert die Werte also.

Das Feld event_id verwendet dasselbe kanonische ID-Format wie der /odds-Endpoint, sodass Sie Splits direkt mit Odds-Daten verknüpfen können. Beispielsweise können Sie Quoten für ein bestimmtes Spiel abrufen und mit dessen Splits vergleichen:

GET /api/v1/odds?event_id=nba_thunder_timberwolves_2026-03-15 GET /api/v1/splits?event_id=nba_thunder_timberwolves_2026-03-15

/odds enthält kein zeilenweises öffentliches Bet %. Wettdaten-Splits (Geld-% und Ticket-%) sind nur über diesen Endpoint (/splits) und dessen historische Variante (/splits/history) verfügbar. Das Feld public_bet_pct existiert nicht in /odds-Zeilen.

available_metrics lesenPermalink for this section

Eine Splits-Zeile kann available_metrics enthalten, ein Array mit den Split-Metriken, die der Sportsbook dieser Zeile überhaupt veröffentlicht. Es beschreibt den Sportsbook, nicht die Zeile: Ein Buch, das den Geldanteil veröffentlicht, führt handle_pct weiterhin auf, auch wenn die handle_pct-Member dieser Zeile null sind.

Es können nur zwei Namen auftreten, immer in dieser Reihenfolge, und jeder ist exakt ein Schlüssel innerhalb der Objekte spread, total und moneyline — ein Name hier verweist also auf ein Feld, das Sie nachschlagen können:

  • bets_pct — Anteil der Tickets (platzierte Wetten), 0.0-1.0
  • handle_pct — Anteil des Geldes (Handle), 0.0-1.0

Das Feld entfällt vollständig, wenn SharpAPI nicht erklärt hat, was ein Buch veröffentlicht. Fehlt es, bedeutet das nicht angegeben — niemals veröffentlicht nichts.

Lesen Sie die Liste zusammen mit dem Wert. Am Beispiel von handle_pct:

available_metricshandle_pct-MemberBedeutung
vorhanden, führt handle_pct aufZahlenDas Buch veröffentlicht den Geldanteil und wir haben ihn.
vorhanden, führt handle_pct aufnullDas Buch veröffentlicht den Geldanteil und uns fehlt er — eine Lücke auf unserer Seite, keine Einschränkung des Buchs.
vorhanden, führt handle_pct nicht aufnullDas Buch veröffentlicht keinen Geldanteil. Es ist nichts kaputt.
vorhanden, führt handle_pct nicht aufZahlenSollte nicht vorkommen; behandeln Sie es als veraltete Angabe und vertrauen Sie dem Wert.
fehltZahlen oder nullÜber dieses Buch ist nichts angegeben. Leiten Sie nichts ab — lesen Sie die Werte für sich, und vermerken Sie das Buch nicht als „veröffentlicht nichts“.

Eine consensus-Zeile führt die Schnittmenge. Eine zusammengeführte Zeile mit "sportsbook": "consensus" fasst mehrere Bücher zusammen, ihre Aussage muss also für jedes einzelne gelten: Sie führt nur die Metriken auf, die alle beitragenden Bücher erklären, und lässt das Feld ganz weg, wenn eines davon nicht erklärt ist.

BeispielePermalink for this section

curl "https://api.sharpapi.io/api/v1/splits?league=nba" \ -H "X-API-Key: YOUR_API_KEY"

Splits-VerlaufPermalink for this section

Verfolgen Sie, wie sich Splits im Laufe der Zeit für ein bestimmtes Event verschieben.

GET /api/v1/splits/history?event_id={event_id}

Query-ParameterPermalink for this section

ParameterTypErforderlichBeschreibung
event_idstringJaKanonische Event-ID
sportsbookstringNeinNach Buch filtern (kommagetrennt), vor der Seiteneinteilung.
start_timestringNeinUntere Grenze. RFC 3339 (2026-04-16T13:00:00Z) oder Unix-Sekunden (1776344602).
end_timestringNeinObere Grenze, gleiche Formate.
limitintegerNeinMaximale Einträge (Standard 100, Maximum 200).
cursorstringNeinFortsetzungstoken aus meta.next_cursor; Event-, Buch- und Zeitfilter unverändert lassen.

Die Aufbewahrung beträgt nur 48 Stunden. Es gibt kein langfristiges Archiv und keine Wiederherstellung außerhalb dieses Fensters. Folgen Sie meta.next_cursor, solange meta.has_more true ist. meta.total, books, oldest und newest beschreiben die aktuelle Seite; meta.limit ist die effektive Seitengröße (Standard 100, maximal 200; größere Werte werden auf 200 begrenzt). Verwenden Sie für einen festen Zeitraum auf jeder Seite denselben end_time. Ungültige Zeitangaben oder unpassende Cursor liefern 400; vorübergehende Speicherfehler liefern 503.

AntwortPermalink for this section

Einträge werden vom ältesten zuerst sortiert. Dieser Endpoint gibt den Erfolgs-Envelope (success/data/meta) aus — abweichend von /splits, das data/pagination/updated_at ausgibt.

Die Verlaufs-Payload verwendet book (nicht sportsbook) und der Spread führt away_line/home_line (nicht away_odds/home_odds). Beides sind bekannte Inkonsistenzen gegenüber /splits. Jeder Eintrag enthält außerdem available_metrics mit derselben Bedeutung wie bei /splits: die Metriken, die das Buch dieses Eintrags überhaupt veröffentlicht. Bei einem nicht erklärten Buch entfällt das Feld.

Verlaufswerte können fehlen. Prozentwerte können null sein; BetMGM veröffentlicht keine Handle-Prozentsätze. Linien und Quoten können fehlen oder null sein. available_metrics nennt die vom Buch veröffentlichten Metriken; prüfen Sie einzelne Marktwerte auf fehlende oder Null-Werte.

{ "success": true, "data": [ { "available_metrics": ["bets_pct", "handle_pct"], "book": "circa", "ts": "2026-04-16T13:03:21.071966+00:00", "timestamp": 1776344602.36, "spread": { "away_line": -1.5, "home_line": 1.5, "handle_pct": { "away": 0.37, "home": 0.63 }, "bets_pct": { "away": 0.27, "home": 0.73 } }, "total": { "line": 8, "handle_pct": { "over": 0.43, "under": 0.57 }, "bets_pct": { "over": 0.55, "under": 0.45 } }, "moneyline": { "away_odds": 104, "home_odds": -126, "handle_pct": { "away": 0.35, "home": 0.65 }, "bets_pct": { "away": 0.35, "home": 0.65 } } } ], "meta": { "event_id": "mlb_guardians_orioles_2026-04-16", "total": 1, "books": ["circa"], "limit": 100, "has_more": false, "next_cursor": "", "oldest": "2026-04-16T13:03:22.360588312Z", "newest": "2026-04-16T13:03:22.360588312Z", "updated_at": "2026-04-16T19:28:50.525875452Z" } }

Daten werden alle ~5 Minuten erfasst und für 48 Stunden über ein Valkey-Sorted-Set (splits_history:{event_id}), bewertet nach Unix-Zeitstempel, aufbewahrt.

curl "https://api.sharpapi.io/api/v1/splits/history?event_id=nba_thunder_timberwolves_2026-03-15" \ -H "X-API-Key: YOUR_API_KEY"

Splits interpretierenPermalink for this section

SignalWas es bedeutet
Bet % hoch, Handle % niedrigPublic-Seite — viele kleine Wetten
Bet % niedrig, Handle % hochSharp-Seite — weniger, aber größere Wetten
DK und Circa stimmen übereinMarktkonsens — sowohl Publikum als auch Sharps ausgerichtet
DK und Circa weichen abSharp-Public-Split — Circa (sharp) ist anderer Meinung als DK (public)

Splits stammen ausschließlich von drei Büchern — DraftKings und BetMGM (recreational) sowie Circa (sharp-nah). Kein echtes Sharp Book veröffentlicht Splits, und weitere Quellen sind nicht geplant. Verwenden Sie Splits als ein Signal zusammen mit Linienbewegung und +EV-Analyse, nicht isoliert.

Last updated on