NCAA Men's Basketball Play By Play Scraper avatar

NCAA Men's Basketball Play By Play Scraper

Under maintenance

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

Under maintenance

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

6

Total users

1

Monthly active users

2 months 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
Season4-digit year (2006–present)2026 → 2025-26 season
TeamFull 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