PitchKit

statsbomb

StatsBomb open-data loader.

import { fetchMatchEvents, shots, isGoal } from "@pitchkit/data-providers/statsbomb";

const events = await fetchMatchEvents(15946);
const goals = shots(events).filter(isGoal);

Four layers, each usable on its own: parse* (pure, no network), load*/fetch* (network), shots/passes/carries (narrowing selectors) and the is* predicates (composable filters).

360 optical tracking data follows the same pattern — parseThreeSixty/fetchMatchThreeSixty, joined to events with indexThreeSixtyByEvent — but only exists for matches StatsBomb has tracked; check match.match_status_360 === "available" first.

Interfaces

Type Aliases

Variables

Functions

References

DataProviderError

Re-exports DataProviderError


DataProviderErrorKind

Re-exports DataProviderErrorKind


LoadOptions

Re-exports LoadOptions

On this page