Every recognised match event in a canonical shape.
The widest surface. Shots, passes, tackles, cards, duels, clearances, recoveries, substitutions — all in the same TypeScript type, with coordinates already in Campos' attacker-perspective frame.
Just the shots, ready to plot.
A focused shot list with outcomes, xG (where the provider supplies it), body part, and situation coded to one vocabulary. Own-goals and shootouts are filtered out so your shot map doesn't have to.
Pass trajectories with start, end, and result.
Start and end coordinates, completion, pass type, and recipient where known. Direct input for pass maps, flow views, sonars, and network aggregation.
Canonical events plus provider context for audit views.
Packages canonical events, pass and shot projections, possession windows, provider context tags, enrichment counts, evidence, and caveats. It keeps interpretation out of the adapter.
Source-backed Opta/MA36 possession groups.
Groups enriched canonical events into provider possession windows, with event counts, pressure tags, receptions, line breaks, and xThreat totals preserved as source context.
Players and ball in absolute full-pitch space.
Normalises Second Spectrum player and ball frames into Campos percentages without pretending they are attacker-relative event co-ordinates.
Physical output rows with missingness preserved.
Maps player summaries and time-bin split blocks into nullable distance, HSR, sprint, high-intensity-run, HSR-count, and sprint-count fields.
Video, event, and tracking sync packets.
Carries event IDs, tracking frame IDs, video target time, evidence, caveats, and source metadata for sequence-atlas style views.
Lines, centroids, hulls, movements, and candidate lanes.
Packages reusable tracking overlays while keeping body orientation, tactical intent, and repeatability claims outside the adapter.
Home and away team sheets with starters and bench.
Starting XI, bench, captain, formation label, shirt numbers, and substitution metadata where the provider supports it. Everything a match header or lineup card needs.
Kickoff tactical shape for one side.
Narrower lineup view — players placed at their kickoff formation positions. Powers the Formation chart directly.
Scoreline, status, and team-level xG.
For schedules, scorelines, and result cards. Takes a row from a schedule scrape and returns a clean match summary with competition, kickoff, status, score, and team xG when provided.
Attack direction and period metadata.
The direction context that coordinate-dependent providers need to normalise events. Opta and Sportec expose this; most others bake it into their adapter internally.