NBA Stats Scraper - Game Logs, Box Scores, Odds & Play-by-Play
Pricing
from $2.00 / 1,000 row of data
NBA Stats Scraper - Game Logs, Box Scores, Odds & Play-by-Play
NBA player & team game logs, box scores, closing lines with ATS/O-U results, schedules with odds, play-by-play, injuries, standings and rosters. Flat rows for player props, DFS and fantasy basketball.
Pricing
from $2.00 / 1,000 row of data
Rating
0.0
(0)
Developer
Datawright
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
NBA Stats Scraper - Player Game Logs, Box Scores, Betting Lines & More
Get clean, analysis-ready NBA data in one click: every player's line for every game, team game logs with closing spread, moneyline and total plus ATS and over/under results, schedules with opening and current lines, play-by-play, standings and rosters.
Built for player props, DFS and fantasy basketball, spreadsheets and AI agents. No API key, no browser, no login - fast and cheap.
What you get
| Data type | One row per | Highlights |
|---|---|---|
| Player game logs | player per game | Full box score, position, opponent, home/away, W/L, starter/DNP, closing line |
| Team game logs | team per game | Team stats, spread, moneyline, total, ATS result, O/U result |
| Schedule & scores | game | Status, score, venue, TV, records, opening vs current spread/total/moneyline |
| Play-by-play | play | Period, clock, play type, text, score, players involved, shot coordinates |
| Injury report | injured player | Status (Out/Questionable/...), injury, body part, expected return |
| Standings | team | Wins/losses/draws, points, goal or point differential, streak, home/road |
| Player season stats | player | Season totals and per-game averages |
| Rosters | player | Position, jersey, height, weight, age, birthplace, experience |
Every row is flat (no nested JSON), so it drops straight into Excel, Google Sheets, pandas or a database.
How to use
- Pick what data you want.
- Choose a season (e.g.
2025-26) or a date range - or leave both empty for the most recent games. - Optionally filter by teams and players.
- Run, then download as JSON, CSV or Excel, or pull it via the API.
Examples
Latest player box scores (great as a daily schedule with Only new games on):
{"dataType": "playerGameLogs","daysBack": 3,"onlyNewGames": true}
Full season of team game logs with ATS and over/under results:
{"dataType": "teamGameLogs","season": "2025-26"}
One player's game log for the season:
{"dataType": "playerGameLogs","season": "2025-26","players": ["LeBron James"]}
Upcoming games with betting lines:
{"dataType": "games","daysAhead": 7}
Sample output (player game log)
{"league": "NBA","season": "2025-26","seasonType": "regular","week": null,"gameId": "401810770","gameDate": "2026-03-07T20:00Z","gameDateET": "2026-03-07","status": "STATUS_FINAL","completed": true,"neutralSite": false,"venue": "Target Center","attendance": 18978,"teamId": "19","team": "ORL","teamName": "Orlando Magic","opponentId": "16","opponent": "MIN","homeAway": "away","teamScore": 119,"opponentScore": 92,"result": "W","playerId": "4432573","playerName": "Paolo Banchero","position": "F","jersey": "5","starter": true,"didNotPlay": false,"dnpReason": null,"ejected": false,"positionGroup": null,"oddsProvider": "Draft Kings","spread": 6.5,"spreadOdds": -105,"moneyline": 215,"drawMoneyline": null,"total": 224.5,"overOdds": -110,"underOdds": -110,"minutes": 35,"points": 25,"fieldGoalsMade": 10,"fieldGoalsAttempted": 18,"threePointFieldGoalsMade": 1,"threePointFieldGoalsAttempted": 5,"freeThrowsMade": 4,"freeThrowsAttempted": 4,"rebounds": 15,"assists": 3,"turnovers": 5,"steals": 0,"blocks": 0,"offensiveRebounds": 2,"defensiveRebounds": 13,"fouls": 3,"plusMinus": 15}
Pricing
Pay only for rows you get - see the Pricing tab. Play-by-play rows are priced lower because each game has hundreds of them. Use Max rows or the run's maximum cost to cap spending, and Only new games on schedules so you never pay twice for the same game.
Automate it
- Schedule a daily run (Schedules → Create) with Only new games enabled to keep a database or spreadsheet current.
- Connect to Google Sheets, Zapier, Make, n8n or webhooks from the Integrations tab.
- Call it from code with the Apify API or from AI agents via the Apify MCP server.
FAQ
How fresh is the data? Box scores are available minutes after a game ends; injuries, schedules and lines are fetched live on every run.
Which betting lines are included? The primary sportsbook line published on ESPN (usually DraftKings): closing spread, moneyline and total on game logs, and opening vs current lines on the schedule.
What if there are no games right now? With no dates set, the actor returns the most recent game day (or, for schedules, the next one) instead of an empty result.
Can I get historical seasons? Yes - set Season to any past season ESPN has box scores for.
Disclaimer
This actor is not affiliated with, endorsed by or connected to ESPN, DraftKings or any league. It collects publicly available factual sports statistics. You are responsible for using the data in line with applicable terms and laws.