Spielereignisse
Abgeleitete Basketball- und Tennis-Markierungen für ein Spiel, ergänzend zum Preisverlauf in +EV History.
GET /api/v1/historical/match-eventsEnterprise erforderlich. Verwendet wie /api/v1/ev/history das Feature history. Niedrigere Tarife erhalten 403 tier_restricted.
Abfrageparameter
| Parameter | Type | Description |
|---|---|---|
game_id | string | Erforderlich. Dieselbe Spiel-ID wie bei /api/v1/ev/history. |
until | string | RFC-3339-Zeitstempel oder Unix-Sekunden. Standard ist jetzt; zukünftige Werte werden auf jetzt begrenzt. Nur Beobachtungen bis zu diesem Zeitpunkt werden berücksichtigt. |
curl -G 'https://api.sharpapi.io/api/v1/historical/match-events' \
-H 'X-API-Key: YOUR_API_KEY' \
--data-urlencode 'game_id=YOUR_GAME_ID' \
--data-urlencode 'until=2026-10-22T00:01:00Z'Antwort
Beispielantwort für Basketball; IDs und Zeiten sind illustrativ.
{
"success": true,
"events": [
{
"t": "2026-10-22T00:00:00Z",
"kind": "tip",
"label": "TIP",
"side": ""
}
],
"serve": [],
"meta": {
"game_id": "example-game-id",
"sport": "basketball",
"supported": true,
"as_of": "2026-10-22T00:01:00Z",
"snapshots": 2,
"truncated": false,
"available": true,
"serve_inferred": false,
"sampling": "event times are when SharpAPI observed a scoreboard change, so they can lag the real event, and a change that cancels out between two observations is not seen",
"max_lag_seconds": 30
}
}Ereignis- und Aufschlagfelder
Basketball: Spielbeginn, Periodenende und unbeantwortete Punkteserie. Tennis: Aufschlagverlust und Satzende.
| Field | Description |
|---|---|
events[].t | UTC-Beobachtungszeit (RFC 3339, gegebenenfalls mit Sekundenbruchteilen). |
events[].kind | tip, period_end, run, break, set_end |
events[].label | Kurze Anzeige; zum Beispiel TIP, Q1 end, 8-0, BRK, SET. |
events[].side | home, away oder eine leere Zeichenfolge für neutrale Ereignisse. |
serve | Nur Tennis: Intervalle mit t0, t1, server. Im Tiebreak wird tiebreak: true ausgegeben; server bezeichnet den ersten Aufschläger. Andere Sportarten liefern []. Die Ableitung von Aufschlag und Breaks hängt von abgetasteten Spielständen ab; sie ist kein verbindlicher punktweiser Aufschlagfeed. |
Metadaten und leere Ergebnisse
| Field | Description |
|---|---|
meta.game_id | Angeforderte Spiel-ID. |
meta.as_of | Effektiver UTC-Stichtag. |
meta.sport / meta.supported | Unterstützt werden basketball und tennis. Andere Sportarten liefern supported: false und leere Arrays. Ohne Zeilen ist sport leer und supported false. |
meta.snapshots | Anzahl verwendeter Spielstand-Snapshots. Ohne Zeilen: 200, snapshots: 0 und leere Arrays; dies beweist nicht, dass nichts passiert ist. |
meta.available | false, wenn der History-Reader nicht verfügbar ist; auch dann folgt eine leere 200-Antwort. Ein Abfragefehler liefert dagegen 500 upstream_error. |
meta.truncated | Ob das Zeilenlimit den Verlauf gekürzt hat. |
meta.serve_inferred | Ob der Tennisaufschlag aus einem bekannten ersten Aufschläger abgeleitet werden konnte. |
meta.sampling / meta.max_lag_seconds | Abtasthinweis und nomineller Verzögerungswert; siehe Grenzen unten. |
Grenzen der Beobachtungszeiten
Dies sind aus abgetasteten Spielstandsänderungen abgeleitete Markierungen, keine Play-by-Play-Zeitstempel. Sie geben an, wann SharpAPI eine Änderung beobachtet hat, nicht wann sie an der Quelle eintrat. max_lag_seconds ist ein nomineller Verzögerungswert, keine Latenzgarantie. Änderungen, die sich zwischen Abtastungen aufheben, können fehlen.
Fehler
400 validation_error bei fehlender/ungültiger game_id oder ungültigem until. Die übliche API-Key-Authentifizierung und Ratenbegrenzung gelten.