Coverage Board
Play-by-Play Endpoints
Possession feed, action log, and win probability endpoints
Play-by-Play Endpoints
Three endpoints power the possession feed for a single game.
One-route key: Every endpoint on this page starts from
game_id.Pair this board with Box Scores for postgame totals and Other for rotations, officials, and summary tables.
Quick route
| If you need... | Use | Why it is the fastest route |
|---|---|---|
| the preferred modern action log | PlayByPlayV3 | Best structured possession feed for newer games, with action taxonomy and shot coordinates |
| legacy-format historical event detail | PlayByPlayV2 | Best fit for older games and the classic three-player event structure |
| score-state leverage at every event | WinProbabilityPBP | Adds live win odds and score margin swing on top of the action sequence |
Action log family
| Endpoint | Result sets | Key columns / signals | Route cue |
|---|---|---|---|
PlayByPlayV3 | PlayByPlay | action_number, clock, period, action_type, sub_type, description, shot_distance, shot_result, x_legacy, y_legacy | Preferred starting point for games from 2021-22 onward |
PlayByPlayV2 | PlayByPlay, AvailableVideo | eventmsgtype, eventmsgactiontype, homedescription, visitordescription, player1_id, player2_id, player3_id | Use for historical coverage or when you need the legacy event-code model |
WinProbabilityPBP | WinProbPBP, GameInfo | home_pct, visitor_pct, home_pts, visitor_pts, home_score_margin, period, seconds_remaining | Layer this in when “what happened” needs “how much it changed the game” |
Route cues
- Reach for V3 first when the game is modern enough to support the structured action taxonomy.
- Keep V2 nearby for older historical games and any workflow built around legacy
eventmsgtypecodes. - Add WinProbabilityPBP when the possession log needs leverage, comeback, or collapse framing.
Possession feed codes (PlayByPlayV2)
Legacy eventmsgtype values from PlayByPlayV2 map to the following game events:
| Type | Description |
|---|---|
| 1 | Made shot |
| 2 | Missed shot |
| 3 | Free throw |
| 4 | Rebound |
| 5 | Turnover |
| 6 | Foul |
| 7 | Violation |
| 8 | Substitution |
| 9 | Timeout |
| 10 | Jump ball |
| 12 | Period start |
| 13 | Period end |
Next steps from play-by-play
Close the loop with the final line
Pair this page with Box Scores when the
event stream needs the team and player totals, ratings, and matchup summaries keyed
by the same game_id.
Add off-ball game context
Continue to Other for rotation stints, officiating crews, summary packets, and shot-map detail that complement the ordered action log.
Turn one game into a season question
Use League Stats when a possession pattern needs league-wide comparison through standings, lineups, play types, or season matchup data.
Keep moving
Stay in the same possession
Keep the mental model warm with adjacent pages, section hubs, and search-friendly routes into the same topic cluster.