Skip to Content
API-Referenz+EV-Möglichkeiten

+EV-Möglichkeiten

Finden Sie Wettmöglichkeiten mit positivem Erwartungswert bei allen Sportwettenanbietern.

GET /api/v1/opportunities/ev

Dieser Endpoint ersetzt die früheren Endpoints /positive-ev und /value-bets. Alle Bewertungsfelder (confidence_score, kelly_percent, fair_probability) sind jetzt in jeder Antwort enthalten.

Multi-Book-Ergebnisse: Wenn mehrere Sportwettenanbieter bei derselben Auswahl +EV haben, gibt die API für jeden Anbieter eine separate Möglichkeit zurück. Wenn beispielsweise DraftKings +105, FanDuel +103 und BetMGM +101 auf dieselbe Moneyline anbieten, sehen Sie drei Einträge — jeder mit eigenem sportsbook, odds_american, ev_percentage, kelly_percent und confidence_score. Die Ergebnisse werden standardmäßig nach EV% absteigend sortiert, sodass der Anbieter mit den besten Quoten zuerst erscheint. Verwenden Sie den sportsbook-Filter, um auf bestimmte Anbieter einzugrenzen.

Live-Spielstatus: EV-Zeilen enthalten keine Spielstände, Spielabschnitte oder Spielzeit. Der Live-Spielstatus wird ausschließlich über den Game State-Endpoint und den gamestate-Streamkanal bereitgestellt. Verknüpfen Sie Zeilen mit dem Spielstatus über event_id.

Authentifizierung

Erfordert API-Key. Pro-Tarif oder höher erforderlich. Ihr Konto muss das ev-Feature aktiviert haben.

Query-Parameter

ParameterTypStandardBeschreibung
sportstringalleFiltern nach Sportart(en), kommagetrennt (z. B. basketball, football, ice_hockey)
leaguestringalleFiltern nach Liga(en), kommagetrennt (z. B. nba, nfl, nhl)
sportsbookstringtarifabhängigFiltern nach Sportwettenanbieter(n), kommagetrennt. Tarifgrenzen werden durchgesetzt.
marketstringalleFiltern nach Markttyp(en), kommagetrennt. Unterstützt Kategorie-Aliase (main, spread, total, props) oder exakte Typen (point_spread, player_points).
eventstringalleFiltern nach Spiel-/Event-ID(s), kommagetrennt
min_evnumber0Mindestschwellenwert für EV-Prozentsatz
max_evnumberHöchstschwellenwert für EV-Prozentsatz
livebooleantrue = nur live, false = nur vor dem Spiel, weglassen = beides
min_oddsnumberMinimale American Odds (z. B. -200)
max_oddsnumberMaximale American Odds (z. B. +500)
min_market_widthnumberMinimale Marktbreite (Vig-Indikator). Geringere Breite = schärferer Markt.
max_market_widthnumberMaximale Marktbreite
max_holdnumber5.0Maximaler Buchmacher-Hold (Vig) in Prozent. Verwirft Möglichkeiten, bei denen der Markt-Hold diesen Schwellenwert überschreitet.
min_kellynumberMinimaler Kelly-Prozentsatz (z. B. 2 = 2 % Bankroll-Allokation)
max_kellynumberMaximaler Kelly-Prozentsatz
min_confidencenumberMinimaler Confidence-Score (0–100)
max_confidencenumberMaximaler Confidence-Score (0–100)
max_odds_agenumberMaximales Alter der Quoten in Sekunden. Filtert veraltete Möglichkeiten heraus, bei denen die zugrundeliegenden Quoten älter als dieser Schwellenwert sind.
is_player_propbooleantrue = nur Player Props, false = nur Spielmärkte auf Spielebene
is_alternate_linebooleantrue = nur alternative Linien, false = nur Hauptlinie
arb_availablebooleantrue = nur Möglichkeiten, die zusätzlich einen Arbitrage-Querverweis haben
player_namestringFilter auf einen bestimmten Spieler (Alias: player). Groß-/Kleinschreibung wird ignoriert, exakte Übereinstimmung mit dem kanonischen Namen (z. B. Aaron Judge).
stat_categorystringFilter auf eine Player-Prop-Statistikkategorie (z. B. points, rebounds, passing_yards)
selectionstringFilter auf einen bestimmten Auswahlnamen (Groß-/Kleinschreibung wird ignoriert, exakte Übereinstimmung)
devig_bookstringÜberschreibt das Sharp-Anchor-Buch, das für das Devigging verwendet wird. Standardmäßig Pinnacle.
date_rangestringFiltern nach Event-Datum: today, tomorrow oder week. Daten werden in US Eastern Time (ET) ausgewertet.
sortstring-evSortierfeld. Optionen: ev, confidence/confidence_score, kelly/kelly_percent, time/start_time, book_count/books. Mit - als Präfix für absteigende Sortierung.
limitinteger50Ergebnisse pro Seite (max. 200)
offsetinteger0Paginierungs-Offset (max. 5000)

Filtern mehrerer Werte

Verwenden Sie kommagetrennte Werte für Mehrfachauswahl-Filter:

?sportsbook=draftkings,fanduel&league=nba,nfl

Beispielanfragen

# Grundlegende EV-Möglichkeiten für die NBA curl -X GET "https://api.sharpapi.io/api/v1/opportunities/ev?league=nba&min_ev=2" \ -H "X-API-Key: YOUR_API_KEY"

Antwort

Erfolg (200)

{ "success": true, "data": [ { "id": "ev_dk_nba_33483153_ml_PHO", "game_id": "evt_nba_phi_pho_20260208", "ev_percentage": 4.2, "odds_american": -105, "odds_decimal": 1.952, "no_vig_odds": -118, "fair_probability": 0.541, "market_width": 3.2, "devig_method": "power", "sharp_book": "pinnacle", "selection": "PHO Suns", "market": "moneyline", "line": null, "sportsbook": "draftkings", "game": "PHI 76ers vs PHO Suns", "sport": "basketball", "league": "nba", "home_team": "PHI 76ers", "away_team": "PHO Suns", "start_time": "2026-02-08T19:00:00Z", "is_live": false, "confidence_score": 87, "kelly_percent": 2.1, "book_count": 5, "arb_available": false, "arb_profit": null, "is_player_prop": false, "player_name": null, "stat_category": null, "possibly_stale": false, "oldest_odds_age_seconds": null, "warnings": [], "detected_at": "2026-02-08T14:22:10.456Z" }, { "id": "ev_fd_nba_33483153_ml_PHO", "game_id": "evt_nba_phi_pho_20260208", "ev_percentage": 2.8, "odds_american": -108, "odds_decimal": 1.926, "no_vig_odds": -118, "fair_probability": 0.541, "market_width": 3.2, "devig_method": "power", "sharp_book": "pinnacle", "selection": "PHO Suns", "market": "moneyline", "line": null, "sportsbook": "fanduel", "game": "PHI 76ers vs PHO Suns", "sport": "basketball", "league": "nba", "home_team": "PHI 76ers", "away_team": "PHO Suns", "start_time": "2026-02-08T19:00:00Z", "is_live": false, "confidence_score": 82, "kelly_percent": 1.5, "book_count": 5, "arb_available": false, "arb_profit": null, "is_player_prop": false, "player_name": null, "stat_category": null, "possibly_stale": false, "oldest_odds_age_seconds": null, "warnings": [], "detected_at": "2026-02-08T14:22:10.456Z" } ], "pagination": { "limit": 50, "offset": 0, "has_more": false, "next_offset": null }, "meta": { "source": "redis", "last_update": "2026-02-08T14:22:10.456Z", "summary": { "count": 24, "avg_ev": 3.8, "max_ev": 7.1, "by_sportsbook": { "draftkings": 9, "fanduel": 8, "betmgm": 7 }, "by_sport": { "basketball": 12 }, "by_market": { "moneyline": 5, "point_spread": 4, "player_points": 3 } }, "filters": { "sport": null, "league": ["nba"], "sportsbook": null, "market": null, "min_ev": 2.0, "max_ev": null, "live": null, "sort": "-ev", "include": null } } }

Antwort-Header

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 298 X-RateLimit-Reset: 1707401000 X-Data-Delay: 0 X-Request-Id: req_abc123def456

Fehlerantworten

401 Unauthorized

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

403 Feature Required

{ "error": { "code": "feature_required", "message": "The 'ev' feature is required. Upgrade to Pro or higher.", "docs": "https://docs.sharpapi.io/en/pricing" } }

429 Rate Limited

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded", "docs": "https://docs.sharpapi.io/en/api-reference/overview" } }

Antwortfelder

Kernfelder

FeldTypBeschreibung
idstringEindeutige Möglichkeits-Kennung (Hash)
game_idstring|nullZugehörige Spiel-/Event-Kennung
external_event_idstring|nullNative Event-ID des Sportwettenanbieters
selection_idstring|nullNative Outcome-/Selection-ID des Sportwettenanbieters (für Deep Linking zum Wettschein)
ev_percentagenumberErwartungswert in Prozent (z. B. 4.2 = 4,2 % EV). Veralteter Alias: ev_percent.
odds_americannumberAktuelle American Odds beim Sportwettenanbieter
odds_decimalnumberDecimal Odds (z. B. 1.952)
no_vig_oddsnumber|nullFaire (vig-freie) American Odds, abgeleitet aus der Sharp Line
fair_probabilitynumber|nullVig-freie (devigged) faire Wahrscheinlichkeit (0,0 bis 1,0)
market_widthnumber|nullBreite des Marktes (Vig-Indikator)
devig_methodstringVerwendete Devig-Methode (z. B. power)
sharp_bookstringAls Referenz verwendetes Sharp Book (z. B. pinnacle). Veralteter Alias: devig_book.
selectionstringDie Auswahl (Teamname, Over/Under, Spieler usw.)
marketstringMarkttyp (moneyline, point_spread, total_points usw.)
linenumber|nullSpread-/Total-Linie (z. B. -3.5, 220.5)
sportsbookstringSportwettenanbieter, der diese Quoten anbietet. Es können mehrere Einträge für dieselbe Auswahl existieren, wenn mehrere Anbieter +EV haben.
gamestringMenschenlesbarer Spielname
sportstringSport-Kennung (Kleinbuchstaben)
leaguestringLiga-Kennung
home_teamstring|nullName des Heimteams
away_teamstring|nullName des Auswärtsteams
start_timestring|nullISO 8601 Event-Startzeit
is_livebooleanOb das Event derzeit live ist
confidence_scorenumberMultifaktor-Confidence-Score (0–100)
kelly_percentnumber|nullOptimaler Prozentsatz der Bankroll für Full Kelly (0–100, z. B. 2.1 = 2,1 % der Bankroll). Die meisten Praktiker wenden vor der Einsatzbestimmung einen Fractional-Kelly-Multiplikator (¼ oder ½) an — siehe Kelly-Kriterium unten.
book_countnumberAnzahl der Sportwettenanbieter, die diesen Markt anbieten
arb_availablebooleanOb auf diesem Markt eine Arbitrage existiert
arb_profitnumber|nullArbitrage-Gewinnprozentsatz, falls verfügbar
is_player_propbooleanOb es sich um einen Player-Prop-Markt handelt
player_namestring|nullSpielername (bei Player Props)
stat_categorystring|nullStatistiktyp (bei Player Props, z. B. points, rebounds)
possibly_stalebooleantrue, wenn sich die zugrundeliegenden Quoten seit der Erkennung möglicherweise verändert haben
oldest_odds_age_secondsnumber|nullAlter der ältesten in der EV-Berechnung verwendeten Quoten (in Sekunden)
warningsstring[]Datenqualitätswarnungen (z. B. POTENTIALLY_STALE_ODDS, LIVE_STALE_ODDS)
detected_atstringISO 8601 Zeitstempel der ersten Erkennung des +EV

Meta-Summary-Felder

FeldTypBeschreibung
summary.countnumberGesamtzahl der Möglichkeiten, die den Filtern entsprechen
summary.avg_evnumberDurchschnittlicher EV über alle Ergebnisse
summary.max_evnumberHöchster gefundener EV
summary.by_sportsbookobjectAnzahl der Möglichkeiten pro Sportwettenanbieter
summary.by_sportobjectAnzahl der Möglichkeiten pro Sportart
summary.by_marketobjectAnzahl der Möglichkeiten pro Markttyp

Den Erwartungswert verstehen

Der Erwartungswert (EV) misst den durchschnittlichen Gewinn oder Verlust pro Wette über die Zeit. Eine Wette mit positivem EV (+EV) bedeutet, dass Sie einen mathematischen Vorteil gegenüber dem Sportwettenanbieter haben.

EV% = (fair_probability x decimal_odds - 1) x 100

Wobei:

  • fair_probability = Vig-freie Wahrscheinlichkeit, abgeleitet vom Sharp Book (Pinnacle)
  • decimal_odds = Die vom Soft Book angebotenen Decimal Odds

Wie SharpAPI EV berechnet

SharpAPI verwendet Pinnacle (ein Sharp Book mit effizienten Quoten) als Quelle der Wahrheit für die faire Wahrscheinlichkeit.

Schritt 1: Holen Sie die Sharp-Book-Quoten

Pinnacle: Team A -115 / Team B +105

Schritt 2: Entfernen Sie den Vig, um die faire Wahrscheinlichkeit zu finden (Power-Methode)

// Implied probabilities (with vig) probA = 1 / 1.87 = 0.535 // -115 in decimal = 1.87 probB = 1 / 2.05 = 0.488 // +105 in decimal = 2.05 total = 1.023 // 2.3% vig // Power devig: solve for k where probA^k + probB^k = 1 // k ≈ 1.036 for this market fairProbA = 0.535^1.036 = 0.522 (52.2%) fairProbB = 0.488^1.036 = 0.478 (47.8%)

Schritt 3: Vergleichen Sie mit einem Soft Book

DraftKings: Team A -105 (decimal 1.952) Fair probability: 52.3% EV% = (0.523 x 1.952 - 1) x 100 EV% = +2.1%

Ein +2,1 % EV bedeutet, dass Sie für jede 100 $ Einsatz auf diese Wette langfristig 2,10 $ Gewinn erwarten.

Warum dies funktioniert

BuchmachertypEigenschaften
Sharp (Pinnacle)Geringer Vig, effiziente Quoten, genaue Wahrscheinlichkeiten
Soft (DraftKings, FanDuel, BetMGM)Höherer Vig, langsamere Anpassung, ausnutzbar

Wenn Soft Books ihre Quoten nach einer Marktbewegung langsam aktualisieren, weicht ihre implizite Wahrscheinlichkeit von der Realität ab und schafft eine +EV-Möglichkeit.

EV-Schwellenwerte

EV %QualitätEmpfohlene Aktion
< 0%Negativer EVVermeiden
0 - 2%MarginalNur bei hohem Volumen sinnvoll
2 - 5%GutStandard-Profitabilitätsschwelle
5%+AusgezeichnetMöglichkeiten mit hoher Confidence

Wir empfehlen, min_ev=2 für die meisten Anwendungsfälle einzustellen. Marginaler EV (unter 2 %) kann durch Linienbewegung erodieren, bevor Sie die Wette platzieren.

Kelly-Kriterium

Das Feld kelly_percent gibt den optimalen Prozentsatz Ihrer Bankroll (0–100) an, der laut Full-Kelly-Kriterium gesetzt werden sollte. Ein Wert von 2.1 bedeutet, dass Full Kelly 2,1 % der Bankroll empfiehlt; ein Wert von 34.4 bedeutet 34,4 %.

Kelly% = (fair_prob × decimal_odds - 1) / (decimal_odds - 1) × 100

Dies ist Full Kelly, berechnet aus der fairen Wahrscheinlichkeit des Modells ohne Anpassung für die Signalqualität. Full Kelly ist mathematisch nur dann optimal, wenn die wahre Wahrscheinlichkeit genau bekannt ist. In der Praxis sind Sharp Anchors mit Unsicherheit behaftet (einzelne Sharp-Referenz, spät eintreffende Live-Quoten, geringe Cross-Validation), und Full Kelly kann gefährlich große Einsatzempfehlungen erzeugen. Konsultieren Sie confidence_score, cross_ref_count und warnings (z. B. SINGLE_SHARP_REF, LIVE_STALE_ODDS), bevor Sie die Einsatzgröße bestimmen.

Verwenden Sie einen Fractional-Kelly-Multiplikator: Die meisten Praktiker wenden ¼ oder ½ Kelly an (kelly_percent × 0.25 oder × 0.5). Begrenzen Sie jede einzelne Wette auf 1–2 % der Bankroll, unabhängig davon, was kelly_percent angibt, insbesondere wenn warnings nicht leer ist oder confidence_score < 80 ist.

Kelly-Sizing-Leitfaden

kelly_percentRisikogradEmpfehlung
< 1NiedrigGeringer Edge, Auslassen erwägen
1 – 3ModeratStandard-Einsatzgröße — Quarter Kelly = 0,25–0,75 % der Bankroll
3 – 5AggressivStarker Edge — Quarter Kelly = 0,75–1,25 % der Bankroll
5+Sehr aggressivAusgezeichneter Edge oder Sharp-Signal-Artefakt; in jedem Fall auf 1–2 % der Bankroll begrenzen

Varianzwarnung: +EV garantiert keinen Gewinn bei jeder Wette. Über 100 Wetten bei 5 % EV können die tatsächlichen Ergebnisse stark variieren. Der Edge materialisiert sich erst über Hunderte oder Tausende von Wetten. Wetten Sie niemals mehr, als Sie sich leisten können zu verlieren.

Best Practices

  1. Setzen Sie einen Mindest-EV-Schwellenwert - Verwenden Sie min_ev=2 oder höher, um sich auf bedeutsame Edges zu konzentrieren
  2. Verwenden Sie Kelly-Sizing - kelly_percent ist ein Prozentsatz (z. B. 2.1 = 2,1 % der Bankroll). Wenden Sie vor der Einsatzbestimmung einen Fractional-Kelly-Multiplikator (¼ oder ½) an
  3. Filtern Sie nach Confidence - Verwenden Sie confidence_score, um Möglichkeiten mit hoher Confidence zu priorisieren
  4. Überwachen Sie market_width - Schmale Märkte (geringe Breite) deuten auf effizientere Preisbildung und zuverlässigere EV-Berechnungen hin
  5. Handeln Sie schnell - +EV-Möglichkeiten sind flüchtig; Linien bewegen sich schnell
  6. Verfolgen Sie Ihre Ergebnisse - Protokollieren Sie jede Wette und vergleichen Sie den tatsächlichen ROI mit dem erwarteten EV über die Zeit
  7. Verwenden Sie Fractional Kelly - Die meisten Profis verwenden Quarter oder Half Kelly, um die Varianz zu reduzieren

Verwandte Endpoints

Last updated on