Events
Einheitlicher Endpoint zum Auflisten und Suchen von Events mit Filterung, Paginierung und Suche.
GET /api/v1/eventsDieser 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
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
sport | string | alle | Filter nach Sportart. Kommagetrennt für mehrere Werte (z. B. basketball,football) |
league | string | alle | Filter nach Liga. Kommagetrennt für mehrere Werte (z. B. nba,nfl) |
sportsbook | string | alle | Filter nach Sportsbook (z. B. draftkings,pinnacle) |
live | boolean | — | true = nur Live, false = nur Prematch, weglassen = beide |
has_score | boolean | — | true = nur Events mit Live-Spielstand/-Ständen |
date | string | — | Filter nach Datum im Format YYYY-MM-DD |
team | string | — | Filter nach Teamname (Teilübereinstimmung, Groß-/Kleinschreibung wird ignoriert, unterstützt Aliasse wie lakers) |
q | string | — | Suchanfrage, die Teamnamen oder Eventnamen abgleicht |
limit | integer | 50 | Ergebnisse pro Seite (max. 200) |
offset | integer | 0 | Paginierungs-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:
| Header | Beschreibung |
|---|---|
X-RateLimit-Limit | Maximale Anfragen pro Minute für Ihren Tarif |
X-RateLimit-Remaining | Verbleibende Anfragen im aktuellen Zeitfenster |
X-RateLimit-Reset | Unix-Zeitstempel, wann das Rate-Limit-Fenster zurückgesetzt wird |
X-Data-Delay | Datenverzögerung für Ihren Tarif (z. B. 0s, 60s) |
X-Request-Id | Eindeutige Request-Kennung zur Fehlersuche |
Event-Objekt
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Kanonische 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_ids | object | Zuordnung 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. |
sport | string | Sportart-Kennung (z. B. basketball, football) |
league | string | Liga-Slug (z. B. nba, nfl) |
home_team | string | Name des Heim-Teams |
away_team | string | Name des Auswärts-Teams |
start_time | string | ISO-8601-Startzeit des Events |
status | string | Event-Status: upcoming oder live |
is_live | boolean | Gibt an, ob das Event derzeit live ist |
book_count | integer | Anzahl der Sportsbooks mit Quoten für dieses Event |
markets | string[] | Sortiertes Array der verfügbaren Markttypen (z. B. ["moneyline", "point_spread", "total_points"]) |
books | string[] | Sortiertes Array der Sportsbook-IDs mit Quoten für dieses Event |
game_state | object | undefined | Live-Spielstand (nur vorhanden bei Live-Events mit Ständen) |
Game-State-Objekt
Enthalten, wenn das Event live ist und Score-Daten vorliegen:
| Feld | Typ | Beschreibung |
|---|---|---|
home_score | number | Punktzahl des Heim-Teams |
away_score | number | null | Punktzahl des Auswärts-Teams |
period | string | null | Aktuelle Periode (z. B. Q3, 2nd, 3rd Period) |
clock | string | null | Verbleibende Zeit (z. B. 5:42) |
score_type | string | Score-Typ (z. B. game_points, match) |
possession | string | null | Team mit Ballbesitz (home oder away) |
is_timeout | boolean | null | Gibt an, ob ein Timeout läuft |
power_play | string | null | Power-Play-Information (home oder away, Eishockey) |
last_play | string | null | Beschreibung des letzten Spielzugs |
Beispielanfragen
Bevorstehende NBA- und NFL-Events auflisten
cURL
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
curl -X GET "https://api.sharpapi.io/api/v1/events?live=true" \
-H "X-API-Key: YOUR_API_KEY"Nach einem Team suchen
cURL
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
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 Pfad | Stattdessen verwenden |
|---|---|
GET /events/search?q=celtics | GET /events?q=celtics |
GET /events/list | GET /events |
GET /events/all | GET /events |
GET /events/find | GET /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_teamanstelle vonhomeTeam) - Die Antwort verwendet das standardmäßige
data/meta-Envelope anstelle einesevents-Arrays auf oberster Ebene - Query-Parameter verwenden die Singularform (
sportanstelle vonsports) - Die Basis-URL lautet
https://api.sharpapi.io(nichthttps://sharpapi.io) - Die Paginierung umfasst nun die Felder
has_moreundnext_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
- Event-Details - Vollständige Details für ein einzelnes Event abrufen
- Event-Quoten - Alle Quoten für ein bestimmtes Event abrufen
- Event-Märkte - Verfügbare Märkte für ein Event abrufen
- Quoten-Snapshot - Aktuelle Quoten über alle Events hinweg abrufen