Skip to Content
API-ReferenzQuoten-Snapshot

Quoten-Momentaufnahme

Eine Momentaufnahme aktueller Quoten von Sportwettenanbietern abrufen.

GET /api/v1/odds

Authentifizierung

Erfordert einen API key. Verfügbar für alle Tarife.

Welche Sportwettenanbieter in Ihren Ergebnissen zurückgegeben werden, hängt von Ihrem Abonnement-Tarif ab. Nutzer des Free-Tarifs erhalten ausschließlich Quoten von DraftKings und FanDuel. Siehe Anbieterzugang nach Tarif weiter unten.

Query-Parameter

ParameterTypStandardBeschreibung
sportsbookstringtarifabhängigKommagetrennte Sportwettenanbieter-IDs (z. B. draftkings,fanduel). Tarif-Limits werden durchgesetzt.
sportstringalleFilter nach Sportart(en), kommagetrennt (z. B. basketball, football). Unterstützt Kategorie-Aliase.
leaguestringalleFilter nach Liga(en), kommagetrennt (z. B. nba, nfl, nhl)
marketstringalleFilter nach Markttyp(en), kommagetrennt. Unterstützt Kategorie-Aliase (main, spread, total, props) oder exakte Typen (point_spread, player_points).
eventstringFilter nach Event-ID(s), kommagetrennt
livebooleantrue = nur live, false = nur Prematch, weglassen = beides
sortstringSortierfeld mit optionalem --Präfix für absteigend (z. B. -odds_american, odds_probability)
fieldsstringalleKommagetrennte Feldnamen, die in der Antwort enthalten sein sollen (z. B. id,sportsbook,odds_american)
min_oddsnumberFilter für minimale American Odds (z. B. -110)
max_oddsnumberFilter für maximale American Odds (z. B. +200)
group_bystringErgebnisse nach Feld gruppieren (z. B. event)
statestringUS-Bundesstaatscode für Sportwettenanbieter-Deeplinks (z. B. nj, ny, il). Wenn gesetzt, enthalten deep_link-URLs ?state=XX, sodass die Weiterleitung auf die korrekte bundesstaatsspezifische Sportwettenanbieter-Domain zielt. Betrifft nur Anbieter mit bundesstaatsabhängigen URLs (BetMGM, Caesars, BetRivers).
limitinteger50Maximale Ergebnisse pro Seite (max. 200)
offsetinteger0Paginierungs-Offset. Muss ≤ 500 sein. Werte über 500 geben 400 offset_too_large zurück — verwenden Sie cursor für tiefere Paginierung. Kann doppelte Zeilen erzeugen, wenn sich Live-Daten zwischen Anfragen aktualisieren.
cursorstringUndurchsichtiger Cursor aus next_cursor einer vorherigen Antwort. Erforderlich für tiefe Paginierung (über Offset 500 hinaus) und empfohlen für jeden mehrseitigen Scan — stabil gegenüber Live-Datenänderungen. Hat Vorrang vor offset, wenn beide angegeben sind.

Verwenden Sie kommagetrennte Werte, um nach mehreren Sportwettenanbietern zu filtern: sportsbook=draftkings,fanduel,betmgm

Markt-Kategorie-Aliase

Anstatt einzelne Markttypen aufzulisten, können Sie einen Kategorie-Alias verwenden, um eine Gruppe verwandter Märkte abzugleichen. Aliase und exakte Typen können in einer kommagetrennten Liste beliebig kombiniert werden.

AliasErweitert zu
mainmoneyline, point_spread, total_points
spreadpoint_spread, puck_line, run_line, set_handicap
totaltotal_points, total_goals, total_runs, total_games, total_rounds, team_total
propsAlle player_*-Markttypen (Präfix-Match)
# Alle "main"-Märkte abrufen (moneyline + spreads + totals) curl "https://api.sharpapi.io/api/v1/odds?league=nba&market=main" \ -H "X-API-Key: YOUR_API_KEY" # Alias mit exaktem Typ kombinieren curl "https://api.sharpapi.io/api/v1/odds?league=nfl&market=spread,moneyline" \ -H "X-API-Key: YOUR_API_KEY" # Alle Player-Prop-Märkte curl "https://api.sharpapi.io/api/v1/odds?league=nba&market=props" \ -H "X-API-Key: YOUR_API_KEY"

Der props-Alias verwendet einen Präfix-Match, sodass automatisch alle Markttypen einbezogen werden, die mit player_ beginnen (z. B. player_points, player_rebounds, player_assists, player_strikeouts usw.).

Beispielanfragen

curl -X GET "https://api.sharpapi.io/api/v1/odds?league=nba&sportsbook=draftkings&market=moneyline" \ -H "X-API-Key: YOUR_API_KEY"

Paginierung

Verwenden Sie cursorbasierte Paginierung für mehrseitige Scans. Der /odds-Endpoint liefert Live-Daten, die etwa alle 15 Sekunden aktualisiert werden. Bei offsetbasierter Paginierung können Zeilen zwischen Anfragen ihre Position ändern, was an Seitengrenzen zu Duplikaten führt. Cursorbasierte Paginierung verankert jede Seite am zuletzt gesehenen Element — keine Drift.

Jede Antwort enthält sowohl next_cursor (stabil) als auch next_offset (Legacy) im pagination-Objekt. Verwenden Sie für sequenzielle Vollscans des Datensatzes immer next_cursor.

# Erste Seite — kein Cursor erforderlich curl "https://api.sharpapi.io/api/v1/odds?league=nfl&limit=200" \ -H "X-API-Key: YOUR_API_KEY" # Folgeseiten — next_cursor aus der vorherigen Antwort übergeben curl "https://api.sharpapi.io/api/v1/odds?league=nfl&limit=200&cursor=eyJlIjoiMzM0ODMxNTMiLCJiIjoiZHJhZnRraW5ncyIsIm0iOiJtb25leWxpbmUiLCJpIjoiZHJhZnRraW5nc18zMzQ4MzE1M19tb25leWxpbmVfUEhJIn0" \ -H "X-API-Key: YOUR_API_KEY"

Cursor sind undurchsichtig — parsen oder konstruieren Sie sie nicht. Sie kodieren die Sortierposition des letzten Elements der aktuellen Seite und sind nur für dieselben Filterparameter gültig.

?offset=N funktioniert weiterhin für flache Paginierung (bis Offset 500) und ist für Einzelseitenanfragen oder direkten Positionszugriff geeignet. Über 500 hinaus gibt die API 400 offset_too_large zurück — der Server müsste sonst bei jeder Seite das gesamte gefilterte Ergebnis sortieren, was sich viel günstiger vermeiden als pro Anfrage optimieren lässt. Verwenden Sie für tiefere Zugriffe cursor.

{ "error": { "code": "offset_too_large", "message": "offset must be <= 500; use `cursor=` from the previous response for deeper pagination", "max_offset": 500 } }

Antwort

Erfolg (200)

{ "success": true, "data": [ { "id": "draftkings_33483153_moneyline_PHO", "sportsbook": "draftkings", "event_id": "33483153", "sport": "basketball", "league": "nba", "home_team": "PHI 76ers", "away_team": "PHO Suns", "market_type": "moneyline", "selection": "PHO Suns", "selection_type": "away", "odds_american": -150, "odds_decimal": 1.667, "odds_probability": 0.60, "line": null, "event_start_time": "2026-01-26T19:00:00Z", "last_seen_at": "2026-01-26T02:10:24.125Z", "is_live": false }, { "id": "draftkings_33483153_moneyline_PHI", "sportsbook": "draftkings", "event_id": "33483153", "sport": "basketball", "league": "nba", "home_team": "PHI 76ers", "away_team": "PHO Suns", "market_type": "moneyline", "selection": "PHI 76ers", "selection_type": "home", "odds_american": 130, "odds_decimal": 2.30, "odds_probability": 0.4348, "line": null, "event_start_time": "2026-01-26T19:00:00Z", "last_seen_at": "2026-01-26T02:10:24.125Z", "is_live": false } ], "meta": { "count": 2, "total": 3095, "books_available": ["draftkings", "fanduel", "betmgm", "caesars", "pinnacle"], "books_returned": ["draftkings"], "pagination": { "limit": 50, "offset": 0, "has_more": true, "next_offset": 50, "next_cursor": "eyJlIjoiMzM0ODMxNTMiLCJiIjoiZHJhZnRraW5ncyIsIm0iOiJtb25leWxpbmUiLCJpIjoiZHJhZnRraW5nc18zMzQ4MzE1M19tb25leWxpbmVfUEhJIn0" }, "updated_at": "2026-01-26T02:10:37.846Z", "filters": { "league": "nba", "sportsbook": "draftkings", "market": "moneyline" } } }

Antwort-Header

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 299 X-RateLimit-Reset: 1737853200 X-Data-Delay: 0 X-Request-Id: req_abc123def456
HeaderBeschreibung
X-RateLimit-LimitMaximale Anfragen pro Minute für Ihren Tarif
X-RateLimit-RemainingVerbleibende Anfragen im aktuellen Zeitfenster
X-RateLimit-ResetUnix-Zeitstempel, wann das Rate Limit zurückgesetzt wird
X-Data-DelayDatenverzögerung in Sekunden (0 für Echtzeit, 60 für Free-Tarif)
X-Request-IdEindeutige Anfrage-Kennung zur Fehlersuche

Fehlerantworten

401 Unauthorized

{ "error": { "code": "unauthorized", "message": "Invalid or missing API key", "docs": "https://docs.sharpapi.io/en/authentication" } }

403 Tier Restricted

{ "error": { "code": "tier_restricted", "message": "Sportsbook 'pinnacle' requires Sharp tier or higher", "docs": "https://docs.sharpapi.io/en/pricing" } }

429 Rate Limited

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Retry after 45 seconds.", "docs": "https://docs.sharpapi.io/en/authentication#rate-limits" } }

Schema des Quoten-Objekts

FeldTypBeschreibung
idstringEindeutige Quoten-Kennung
sportsbookstringSportwettenanbieter-ID (z. B. draftkings)
event_idstringEvent-Kennung
sportstringSportart-Slug (z. B. basketball, football)
leaguestringLiga-Slug (z. B. nba, nfl)
home_teamstringName der Heimmannschaft
away_teamstringName der Auswärtsmannschaft
market_typestringmoneyline, spread, total, player_prop usw.
selectionstringDie Auswahl (Mannschaftsname, Over/Under, Spielername)
selection_typestringhome, away, over, under
odds_americannumberAmerican Odds (z. B. -110, +150)
odds_decimalnumberDezimalquoten (z. B. 1.909)
odds_probabilitynumberImplizite Wahrscheinlichkeit (z. B. 0.5238)
linenumber | nullSpread- oder Total-Linienwert (null bei Moneyline)
event_start_timestringISO 8601 Event-Startzeit
last_seen_atstringISO 8601 Zeitstempel der letzten Beobachtung dieser Zeile durch unseren Adapter. Wird in jedem Ingest-Zyklus aktualisiert — dies ist das Pipeline-Frische-Signal.
odds_changed_atstringISO 8601 Zeitstempel der quelleneigenen Aktualisierung des Sportwettenanbieters für diese Linie, sofern verfügbar. Bei Pinnacle wird er fortgeführt, solange Preis/Linie/is_live-Flag unverändert bleiben (siehe Pinnacles odds_changed_at verstehen). Verwenden Sie last_seen_at für die Pipeline-Frische.
is_livebooleanOb das Event derzeit live läuft
player_namestring|undefinedSpielername (nur bei Player-Prop-Märkten)
stat_categorystring|undefinedStatistikkategorie, z. B. points, rebounds (nur bei Player-Prop-Märkten)
public_bet_pctnumber|undefinedÖffentlicher Wetttickets-Prozentsatz (0.0-1.0). Derzeit nur BetMGM.
max_betnumber|undefinedMaximaler Einsatzbetrag (USD) für diesen Markttyp. Derzeit nur Pinnacle.

Sortierung

Verwenden Sie den sort-Parameter, um Ergebnisse nach einem beliebigen Feld zu ordnen. Mit - als Präfix für absteigende Reihenfolge.

# Sortieren nach besten American Odds (absteigend) curl "https://api.sharpapi.io/api/v1/odds?league=nba&sort=-odds_american" \ -H "X-API-Key: YOUR_API_KEY" # Sortieren nach odds_probability (aufsteigend) curl "https://api.sharpapi.io/api/v1/odds?league=nba&sort=odds_probability" \ -H "X-API-Key: YOUR_API_KEY" # Sortieren nach Event-Startzeit curl "https://api.sharpapi.io/api/v1/odds?sort=event_start_time" \ -H "X-API-Key: YOUR_API_KEY"

Gültige Sortierfelder: odds_american, odds_decimal, odds_probability, event_start_time, last_seen_at, sportsbook, league, sport.

Feldauswahl

Verwenden Sie den fields-Parameter, um nur bestimmte Felder zurückzugeben und so die Nutzlast zu verringern.

# Nur id, sportsbook und American Odds zurückgeben curl "https://api.sharpapi.io/api/v1/odds?league=nba&fields=id,sportsbook,odds_american" \ -H "X-API-Key: YOUR_API_KEY"

Die Antwort enthält dann nur die angeforderten Felder für jedes Quoten-Objekt:

{ "data": [ { "id": "draftkings_33483153_moneyline_PHO", "sportsbook": "draftkings", "odds_american": -150 } ] }

Filterung nach Quotenbereich

Verwenden Sie min_odds und max_odds, um nach American-Odds-Wert zu filtern.

# Nur Plus-Money-Quoten zurückgeben (+100 und höher) curl "https://api.sharpapi.io/api/v1/odds?league=nba&min_odds=100" \ -H "X-API-Key: YOUR_API_KEY" # Nur Quoten zwischen -200 und +200 zurückgeben curl "https://api.sharpapi.io/api/v1/odds?league=nba&min_odds=-200&max_odds=200" \ -H "X-API-Key: YOUR_API_KEY"

Nach Event gruppierte Antwort

Verwenden Sie group_by=event, um Quoten nach Event statt als flache Liste zu gruppieren. Dies ist nützlich für den Aufbau eventzentrischer UIs.

curl "https://api.sharpapi.io/api/v1/odds?league=nba&group_by=event" \ -H "X-API-Key: YOUR_API_KEY"
{ "data": [ { "event_id": "33483153", "event_name": "PHI 76ers vs PHO Suns", "sport": "basketball", "league": "nba", "start_time": "2026-01-26T19:00:00Z", "is_live": false, "odds": [ { "id": "draftkings_33483153_moneyline_PHO", "sportsbook": "draftkings", "market_type": "moneyline", "selection": "PHO Suns", "selection_type": "away", "odds_american": -150, "odds_decimal": 1.667, "odds_probability": 0.60, "line": null, "last_seen_at": "2026-01-26T02:10:24.125Z" } ] } ], "meta": { "group_by": "event", "books_available": 5, "filters": { "league": "nba" }, "updated_at": "2026-01-26T02:10:37.846Z" } }

Anbieterzugang nach Tarif

Welche Sportwettenanbieter in Ihren Quotenergebnissen enthalten sind, hängt von Ihrem Abonnement-Tarif ab:

TarifVerfügbare AnbieterEnthaltene Sportwettenanbieter
Free2DraftKings, FanDuel
Hobby5+ BetMGM, Caesars, theScore Bet
Pro15+ Bet365, BetRivers und weitere
SharpAlle 32Alle verfügbaren Sportwettenanbieter
EnterpriseAlle 32Alle verfügbaren Sportwettenanbieter

Pinnacle (Sharp Book) erfordert Sharp-Tarif oder höher. Die Anfrage sportsbook=pinnacle in einem Free-, Hobby- oder Pro-Tarif gibt einen 403 tier_restricted-Fehler zurück.

Filterbeispiele

# Live-NBA-Quoten von allen verfügbaren Anbietern abrufen curl "https://api.sharpapi.io/api/v1/odds?league=nba&live=true" \ -H "X-API-Key: YOUR_API_KEY" # Moneyline- und Spread-Quoten für ein bestimmtes Event abrufen curl "https://api.sharpapi.io/api/v1/odds?event=33483153&market=moneyline,spread" \ -H "X-API-Key: YOUR_API_KEY" # Durch alle NFL-Spread-Quoten paginieren (verwenden Sie next_cursor aus jeder Antwort) curl "https://api.sharpapi.io/api/v1/odds?league=nfl&market=spread&limit=200" \ -H "X-API-Key: YOUR_API_KEY"

Verwandte Endpoints

  • Odds Delta - Nur Quoten abrufen, die sich seit einem bestimmten Zeitstempel geändert haben
  • Best Odds - Die besten Quoten über alle Anbieter hinweg für jede Auswahl abrufen
  • Odds Comparison - Quoten anbieterübergreifend nebeneinander vergleichen
  • Batch Odds - Quoten für mehrere Events in einer Anfrage abrufen
  • Markets - Verfügbare Markttypen auflisten
  • Sportsbooks - Verfügbare Sportwettenanbieter und ihren Status auflisten
Last updated on