Skip to Content

Events

Einheitlicher Endpoint zum Auflisten und Suchen von Events mit Filterung, Paginierung und Suche.

GET /api/v1/events

Dieser Endpoint ersetzt die bisherigen Endpoints /schedule, /events/live und /events/search. Die gesamte Funktionalität dieser Endpoints ist nun hier über Query-Parameter verfügbar. Siehe Migrationshinweise unten.

Authentifizierung

Erfordert einen API-Key über den X-API-Key-Header, den Authorization: Bearer-Header oder den api_key-Query-Parameter. Verfügbar in allen Tarifen.

Query-Parameter

ParameterTypStandardBeschreibung
sportstringalleFilter nach Sportart. Kommagetrennt für mehrere Werte (z. B. basketball,football)
leaguestringalleFilter nach Liga. Kommagetrennt für mehrere Werte (z. B. nba,nfl)
sportsbookstringalleFilter nach Sportsbook (z. B. draftkings,pinnacle)
livebooleantrue = nur Live, false = nur Prematch, weglassen = beide
has_scorebooleantrue = nur Events mit Live-Spielstand/-Ständen
datestringFilter nach Datum im Format YYYY-MM-DD
teamstringFilter nach Teamname (Teilübereinstimmung, Groß-/Kleinschreibung wird ignoriert, unterstützt Aliasse wie lakers)
qstringSuchanfrage, die Teamnamen oder Eventnamen abgleicht
limitinteger50Ergebnisse pro Seite (max. 200)
offsetinteger0Paginierungs-Offset (max. 5000)

Query-Parameter verwenden die Singularform und kommagetrennte Werte für mehrere Werte: sport=basketball,football, nicht sports=basketball&sports=football.

Response-Header

Alle Antworten enthalten standardmäßige Rate-Limit- und Metadaten-Header:

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-Fenster zurückgesetzt wird
X-Data-DelayDatenverzögerung für Ihren Tarif (z. B. 0s, 60s)
X-Request-IdEindeutige Request-Kennung zur Fehlersuche

Event-Objekt

FeldTypBeschreibung
idstringKanonische Event-Kennung — für jedes Sportsbook, das dieses Event abdeckt, identisch. Verwenden Sie diese als Primärschlüssel für den Abgleich zwischen Sportsbooks. Siehe Event-Matching.
external_idsobjectZuordnung von Sportsbook-ID zur nativen Event-ID des jeweiligen Sportsbooks (z. B. {"draftkings": "33483153"}). Verwenden Sie diese für Deep Links zurück zu den Sportsbook-Seiten.
sportstringSportart-Kennung (z. B. basketball, football)
leaguestringLiga-Slug (z. B. nba, nfl)
home_teamstringName des Heim-Teams
away_teamstringName des Auswärts-Teams
start_timestringISO-8601-Startzeit des Events
statusstringEvent-Status: upcoming oder live
is_livebooleanGibt an, ob das Event derzeit live ist
book_countintegerAnzahl der Sportsbooks mit Quoten für dieses Event
marketsstring[]Sortiertes Array der verfügbaren Markttypen (z. B. ["moneyline", "point_spread", "total_points"])
booksstring[]Sortiertes Array der Sportsbook-IDs mit Quoten für dieses Event
game_stateobject | undefinedLive-Spielstand (nur vorhanden bei Live-Events mit Ständen)

Game-State-Objekt

Enthalten, wenn das Event live ist und Score-Daten vorliegen:

FeldTypBeschreibung
home_scorenumberPunktzahl des Heim-Teams
away_scorenumber | nullPunktzahl des Auswärts-Teams
periodstring | nullAktuelle Periode (z. B. Q3, 2nd, 3rd Period)
clockstring | nullVerbleibende Zeit (z. B. 5:42)
score_typestringScore-Typ (z. B. game_points, match)
possessionstring | nullTeam mit Ballbesitz (home oder away)
is_timeoutboolean | nullGibt an, ob ein Timeout läuft
power_playstring | nullPower-Play-Information (home oder away, Eishockey)
last_playstring | nullBeschreibung des letzten Spielzugs

Beispielanfragen

Bevorstehende NBA- und NFL-Events auflisten

curl -X GET "https://api.sharpapi.io/api/v1/events?sport=basketball,football&league=nba,nfl&limit=20" \ -H "X-API-Key: YOUR_API_KEY"

Nur Live-Events abrufen

curl -X GET "https://api.sharpapi.io/api/v1/events?live=true" \ -H "X-API-Key: YOUR_API_KEY"

Nach einem Team suchen

curl -X GET "https://api.sharpapi.io/api/v1/events?q=celtics" \ -H "X-API-Key: YOUR_API_KEY"

Nach Datum und Sportsbook filtern

curl -X GET "https://api.sharpapi.io/api/v1/events?date=2026-02-08&sportsbook=draftkings,fanduel" \ -H "X-API-Key: YOUR_API_KEY"

Antwort

Erfolg (200)

{ "data": [ { "id": "evt_nba_bos_lal_20260208", "external_ids": { "draftkings": "33483200", "fanduel": "nba-bos-lal-20260208" }, "sport": "basketball", "league": "nba", "home_team": "Boston Celtics", "away_team": "Los Angeles Lakers", "start_time": "2026-02-08T19:30:00Z", "status": "upcoming", "is_live": false, "book_count": 6, "markets": ["moneyline", "point_spread", "total_points"], "books": ["betmgm", "caesars", "draftkings", "fanduel"] }, { "id": "evt_nba_gsw_mia_20260208", "external_ids": { "draftkings": "33483205" }, "sport": "basketball", "league": "nba", "home_team": "Golden State Warriors", "away_team": "Miami Heat", "start_time": "2026-02-08T22:00:00Z", "status": "upcoming", "is_live": false, "book_count": 5, "markets": ["moneyline", "point_spread", "total_points"], "books": ["betmgm", "draftkings", "fanduel"] } ], "meta": { "count": 2, "total": 43, "pagination": { "limit": 50, "offset": 0, "has_more": true, "next_offset": 50 }, "updated_at": "2026-02-08T12:00:00Z", "filters": { "sport": ["basketball"], "league": ["nba"] } } }

Fehlerantworten

401 Unauthorized

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

400 Bad Request

{ "error": { "code": "validation_error", "message": "Invalid date format. Use YYYY-MM-DD.", "docs": "https://docs.sharpapi.io/en/api-reference/events" } }

429 Rate Limited

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Upgrade your tier for higher limits.", "docs": "https://docs.sharpapi.io/en/pricing" } }

Migration von früheren Endpoints

Mehrere veraltete Event-Unterpfade aus früheren API-Versionen werden als Hinweis auf die Veraltung beibehalten — beim Aufruf wird 410 Gone mit einem maschinenlesbaren Hinweis zurückgegeben, der auf den korrekten Endpoint verweist.

Veralteter PfadStattdessen verwenden
GET /events/search?q=celticsGET /events?q=celtics
GET /events/listGET /events
GET /events/allGET /events
GET /events/findGET /events

Aufbau der 410-Antwort

{ "error": { "code": "unknown_endpoint", "message": "There is no /api/v1/events/search endpoint. Use GET /api/v1/events — results can be filtered with ?sport=, ?league=, and ?book= query parameters.", "correct_endpoint": "/api/v1/events", "docs": "https://docs.sharpapi.io/api-reference" } }

Antworten vor v1 verwendeten Feldnamen in camelCase (homeTeam, awayTeam, isLive, bookCount). Die v1-API verwendet ausschließlich snake_case (home_team, away_team, is_live, book_count). Aktualisieren Sie Ihren Client-Code entsprechend.

Wesentliche Änderungen gegenüber früheren Versionen

  • Feldnamen sind nun in snake_case (z. B. home_team anstelle von homeTeam)
  • Die Antwort verwendet das standardmäßige data/meta-Envelope anstelle eines events-Arrays auf oberster Ebene
  • Query-Parameter verwenden die Singularform (sport anstelle von sports)
  • Die Basis-URL lautet https://api.sharpapi.io (nicht https://sharpapi.io)
  • Die Paginierung umfasst nun die Felder has_more und next_offset

Event-Matching über mehrere Sportsbooks hinweg

Das Feld id ist eine kanonische Event-Kennung — dasselbe reale Event erhält dieselbe id, unabhängig davon, von welchem Sportsbook es stammt. Verwenden Sie sie als Primärschlüssel beim Erstellen von Vergleichstools über mehrere Sportsbooks hinweg. Das Feld external_ids ordnet jedem Sportsbook seine native Event-ID für Deep Links zu.

Vollständige Details zur Funktionsweise kanonischer IDs finden Sie unter Event-Matching.

Verwandte Endpoints

Last updated on