NCAA Men's Basketball Play By Play Scraper avatar
NCAA Men's Basketball Play By Play Scraper

Pricing

from $0.02 / 1,000 results

Go to Apify Store
NCAA Men's Basketball Play By Play Scraper

NCAA Men's Basketball Play By Play Scraper

Scrape complete play-by-play data from any NCAA Men's game since 2006. Clean, structured, ready for analysis.

Pricing

from $0.02 / 1,000 results

Rating

0.0

(0)

Developer

SportsVerse

SportsVerse

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

๐Ÿ€ NCAA Basketball Play-by-Play Scraper

NCAA Logo

The best NCAA Men's Basketball play-by-play scraper on Apify โ€” clean and analysis-ready data from 2006 onward

Apify Store Maintained Made for Sports Analytics Data Quality

Stop cleaning messy college basketball data. Get every NCAA Men's Basketball play since 2006 - 50+ fields, proper types, zero cleanup required.


๐ŸŽฏ What does this scraper do?

This actor extracts detailed play-by-play information from every NCAA Men's Basketball game played since 2006. It delivers clean, structured data ready for analysis or integration into your applications. No manual cleanup, no parsing nightmares, no messy nested data.

Key Benefits

  • โœ… 50+ fields per play - shots, fouls, rebounds, substitutions, and more
  • โœ… 2006โ€“present - Nearly 20 seasons of historical coverage
  • โœ… All Division I teams - 350+ teams across all conferences
  • โœ… Clean structure - proper types and descriptive field names
  • โœ… Fast & reliable - built-in validation and error handling
  • โœ… Export anywhere - JSON, CSV, Excel, XML, and more

๐Ÿ’ก No manual cleanup. No parsing nightmares. Just clean data.


๐Ÿ“ฆ What data can you extract?

Every play returns 50+ structured data points organized into logical categories:

CategoryWhat's Included
๐ŸŽฎ Game InfoGame ID, season info, game date, game phase (regulation/overtime)
๐Ÿ€ TeamsHome & away team names, schools, mascots, abbreviations
โฑ๏ธ TimingHalf, period, game clock, time remaining in half/game
๐ŸŽฏ Play DetailsPlay type, category, full description, which team performed it
๐Ÿ“Š ScoringCurrent score, point differential, who's leading, tie status
๐Ÿน ShotsShot type, made/missed, points value, court coordinates
๐Ÿ‘ค PlayersPlayers involved in each play
๐Ÿ’ฐ BettingPoint spread, home favorite status
โž• And morePlay sequences, boolean flags

๐Ÿ’ก See the full data dictionary for all 50+ fields below.


๐Ÿš€ How to scrape NCAA basketball play-by-play data

Quick Start Guide

Extracting NCAA basketball play-by-play data is simple - no coding required.

  1. Create account โ€” Sign up for a free Apify account
  2. Open scraper โ€” Go to NCAA Basketball Play-by-Play Scraper
  3. Select inputs โ€” Choose a team and season year
  4. Run โ€” Click Start in the Apify Console
  5. Export โ€” Download as JSON, CSV, Excel, XML, or HTML

โœจ Try it FREE - No credit card required


๐Ÿ“ฅ Inputs

The scraper requires two simple inputs:

InputRequiredDescriptionExample
Seasonโœ…4-digit year (2006โ€“present)2026 โ†’ 2025-26 season
Teamโœ…Full team name (school + mascot)Kentucky Wildcats, Duke Blue Devils

Option A: Use Apify Console (No Code)

The easiest way to get started โ€” just point and click.

  1. Open the NCAA Basketball Play-by-Play Scraper
  2. Enter a season year (defaults to latest)
  3. Select a team from the dropdown (e.g., "Kentucky Wildcats", "Duke Blue Devils")
  4. Click Start
  5. Download results

Apify Console Input UI

๐Ÿ’ก Tip: Use the full team name including school and mascot. This ensures you get exactly the team you want โ€” for example, "Kentucky Wildcats" vs "Arizona Wildcats" (there are 10 teams with "Wildcats" as their mascot!).

Option B: Use the API (Programmatic)

For automation, scheduling, or integration into your pipeline:

{
"season": 2026,
"team": "Kentucky Wildcats"
}

โš ๏ธ Note: both season and team are required fields.


๐Ÿ“ค Output

Results are stored in the Storage tab as a structured dataset. View directly on the platform or download in multiple formats.

Results Preview

Once scraping completes, preview your data immediately in the Output tab:

Apify Output Preview

Organized Views

We've pre-configured logical dataset views to help you explore the data more easily:

Grouped Dataset Views

ViewDescription
๐Ÿ€ Game OverviewHigh-level view of games and key plays
๐ŸŽฏ Scoring PlaysAll plays that resulted in points
๐Ÿน Shot AnalysisDetailed shooting data with coordinates
๐Ÿ“Š Game FlowScore tracking throughout games
โšก Key EventsFouls, turnovers, and important moments
๐Ÿ‘ฅ Player InvolvementWhich players were involved in each play
๐Ÿ’ฐ Betting ContextPoint spreads and betting lines
โฑ๏ธ Time AnalysisDetailed timing information

Sample JSON Output

Each play returns a clean, flat JSON object with 50+ fields. Field names are descriptive and grouped by prefix (game_, time_, score_, shot_, etc.) so you can quickly find what you need.


๐Ÿ“– Data Dictionary

Complete reference for all 50+ fields returned by this scraper. Fields are grouped by prefix for easy navigation.

FieldTypeCategoryDescription
game_idintegerGameUnique identifier for the game
game_seasonintegerGameSeason year (e.g., 2026 for 2025-26 season)
game_season_typeintegerGameSeason type (1 = preseason, 2 = regular, 3 = postseason)
game_datestringGameGame date and tip-off time
game_phasestringGameCurrent phase (Regulation, Overtime, etc.)
home_team_idintegerHome TeamUnique team identifier
home_team_fullstringHome TeamFull team name (e.g., "Kentucky Wildcats")
home_team_locationstringHome TeamSchool name (e.g., "Kentucky")
home_team_mascotstringHome TeamTeam mascot (e.g., "Wildcats")
home_team_abbreviationstringHome TeamTeam abbreviation (e.g., "UK")
away_team_idintegerAway TeamUnique team identifier
away_team_fullstringAway TeamFull team name
away_team_locationstringAway TeamSchool name
away_team_mascotstringAway TeamTeam mascot
away_team_abbreviationstringAway TeamTeam abbreviation
play_sequenceintegerSequenceOrder of play within the game
play_idintegerSequenceUnique identifier for the play
time_halfintegerTimingCurrent half (1 or 2)
time_half_displaystringTimingDisplay format (e.g., "1st Half")
time_periodintegerTimingPeriod number (1-2 regulation, 3+ overtime)
time_clockstringTimingGame clock display (e.g., "12:34")
time_clock_minutesintegerTimingMinutes remaining on clock
time_clock_secondsintegerTimingSeconds remaining on clock
time_remaining_halfintegerTimingSeconds remaining in half
time_remaining_gameintegerTimingSeconds remaining in game
play_type_idintegerPlayNumeric code for play type
play_typestringPlaySpecific play type (e.g., "JumpShot", "PersonalFoul")
play_categorystringPlayStandardized category (Shot, Foul, Turnover, etc.)
play_descriptionstringPlayFull play description
play_team_idintegerPlayTeam that performed the play
play_team_fullstringPlayFull name of team that performed the play
play_team_rolestringPlayTeam role (Home or Away)
is_scoring_playbooleanFlagsWhether points were scored
is_turnoverbooleanFlagsWhether play resulted in turnover
is_foulbooleanFlagsWhether play involved a foul
is_substitutionbooleanFlagsWhether play was a substitution
score_homeintegerScoringHome team score after this play
score_awayintegerScoringAway team score after this play
score_differentialintegerScoringScore difference (home - away)
score_is_tiebooleanScoringWhether game is tied
score_home_leadingbooleanScoringWhether home team is leading
score_away_leadingbooleanScoringWhether away team is leading
score_leader_halfintegerScoringWhich team led at end of half (null if ongoing)
player_primary_idintegerPlayersPrimary player involved in play
player_secondary_idintegerPlayersSecondary player (e.g., assister, fouled player)
shot_is_attemptbooleanShotsWhether play was a shot attempt
shot_attempt_typestringShots"Two Points", "Three Points", or "Free Throw"
shot_resultstringShots"Made" or "Missed"
shot_points_valueintegerShotsPoints value (1, 2, or 3)
shot_coordinate_xnumberShotsCourt X coordinate
shot_coordinate_ynumberShotsCourt Y coordinate
betting_spreadnumberBettingPoint spread for the game
betting_home_favoritebooleanBettingWhether home team is favored
betting_spread_availablebooleanBettingWhether spread data is available
betting_home_spreadnumberBettingHome team spread value

๐Ÿ’ก Note: Some fields may be null depending on the play type โ€” for example, shot coordinates only appear for shot attempts. All missing values are explicit null, not empty strings.

Key Differences from NBA Data

NCAA basketball has some important structural differences from NBA:

AspectNCAANBA
Game LengthTwo 20-minute halvesFour 12-minute quarters
Overtime5-minute periods5-minute periods
Time Fieldstime_half, time_periodtime_quarter
Shot Clock30 seconds24 seconds
Teams350+ Division I teams30 teams

๐Ÿ”— Sportsverse Data Suite

Building something bigger? Our ecosystem covers comprehensive sports data. Check out our other sports scrapers:

ActorDescriptionStatus
๐Ÿ€ NCAA Basketball Play-by-PlayEvery play from every college game (this actor)โœ… Available
๐Ÿ€ NCAA Basketball Team Box ScoresCollege team statistics per gameโœ… Available
๐Ÿ€ NCAA Basketball Player Box ScoresCollege player statisticsโœ… Available
๐Ÿ€ NBA Play-by-PlayProfessional basketball play-by-playโœ… Available
๐Ÿ€ NBA Team Box ScoresNBA team statistics per gameโœ… Available
๐Ÿ€ NBA Player Box ScoresNBA player statistics per gameโœ… Available
๐Ÿ’ NHL Play-by-PlayHockey game events๐Ÿšง Coming Soon
๐Ÿ’ NHL Box ScoresPlayer & team statistics๐Ÿšง Coming Soon
๐Ÿˆ NFL Play-by-PlayFootball play tracking๐Ÿšง Coming Soon
๐Ÿˆ NFL Box ScoresPlayer & team statistics๐Ÿšง Coming Soon
โšพ MLB Play-by-PlayBaseball game events๐Ÿšง Coming Soon
โšพ MLB Box ScoresPlayer & team statistics๐Ÿšง Coming Soon

๐Ÿค Support & Feedback

Found a bug? Want a new field? Have an idea?

  • ๐Ÿ› Report issues in the actor comments
  • ๐Ÿ’ก Suggest features or enhancements
  • ๐Ÿ“Š Request additional fields or output tweaks

We read every message and aim to respond quickly.


Built with โค๏ธ and lots of โ˜• for the sports analytics community