NFL Stats Scraper - Game Logs, Props, Odds & Play-by-Play avatar

NFL Stats Scraper - Game Logs, Props, Odds & Play-by-Play

Pricing

from $2.00 / 1,000 row of data

Go to Apify Store
NFL Stats Scraper - Game Logs, Props, Odds & Play-by-Play

NFL Stats Scraper - Game Logs, Props, Odds & Play-by-Play

NFL player & team game logs, box scores, player props graded over/under vs actual stats, closing lines with ATS/O-U results, schedules with odds, play-by-play, injuries, standings and rosters. Flat rows for props, DFS, fantasy and ATS models.

Pricing

from $2.00 / 1,000 row of data

Rating

0.0

(0)

Developer

Datawright

Datawright

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Share

NFL Stats Scraper - Player Game Logs, Box Scores, Betting Lines, Player Props & More

Get clean, analysis-ready NFL 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, player prop lines graded against the actual result, play-by-play, standings and rosters.

Built for player props, DFS, fantasy football and ATS models, spreadsheets and AI agents. No API key, no browser, no login - fast and cheap.

What you get

Data typeOne row perHighlights
Player game logsplayer per gameFull box score, position, opponent, home/away, W/L, starter/DNP, closing line
Team game logsteam per gameTeam stats, spread, moneyline, total, ATS result, O/U result
Player propsprop lineDraftKings prop line (opening + current + movement), the actual stat and over/under/hit/miss result
Schedule & scoresgameStatus, score, venue, TV, records, opening vs current spread/total/moneyline
Play-by-playplayPeriod, clock, play type, text, score, players involved, down, distance, yard line, yards gained
Injury reportinjured playerStatus (Out/Questionable/...), injury, body part, expected return
StandingsteamWins/losses/draws, points, goal or point differential, streak, home/road
Player season statsplayerSeason totals and per-game averages
RostersplayerPosition, 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.

Player props: lines and results

Most prop tools only give you today's lines. This one also grades them: for every finished game you get the DraftKings line (opening and closing), the player's actual stat, the margin and the result (over / under / push, or hit / miss for milestones and TD scorers). Pull a season to get prop hit rates per player, per market or per matchup - and pull upcoming games to get this week's lines.

{
"dataType": "playerProps",
"season": "2026",
"players": [
"Josh Allen"
]
}

Sample prop row:

{
"league": "NFL",
"season": "2026",
"seasonType": "regular",
"week": 3,
"gameId": "401872948",
"gameDate": "2026-09-25T00:15Z",
"gameDateET": "2026-09-24",
"completed": true,
"playerId": "4036378",
"playerName": "Jordan Love",
"position": null,
"team": "GB",
"opponent": "ATL",
"homeAway": "home",
"market": "Total Passing Yards",
"marketCategory": "over-under",
"sportsbook": "DraftKings",
"line": 235.5,
"openLine": 232.5,
"lineMove": 3,
"lastUpdated": "2026-09-25T03:15Z",
"actual": 312,
"margin": 76.5,
"result": "over"
}

How to use

  1. Pick what data you want.
  2. Choose a season (e.g. 2026) or a date range - or leave both empty for the most recent games.
  3. Optionally filter by teams and players.
  4. 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": "2026"
}

One player's game log for the season:

{
"dataType": "playerGameLogs",
"season": "2026",
"players": [
"Josh Allen"
]
}

Upcoming games with betting lines:

{
"dataType": "games",
"daysAhead": 7
}

Sample output (player game log)

{
"league": "NFL",
"season": "2026",
"seasonType": "regular",
"week": 3,
"gameId": "401872948",
"gameDate": "2026-09-25T00:15Z",
"gameDateET": "2026-09-24",
"status": "STATUS_FINAL",
"completed": true,
"neutralSite": false,
"venue": "Lambeau Field",
"attendance": 76955,
"teamId": "1",
"team": "ATL",
"teamName": "Atlanta Falcons",
"opponentId": "9",
"opponent": "GB",
"homeAway": "away",
"teamScore": 35,
"opponentScore": 14,
"result": "W",
"playerId": "4360423",
"playerName": "Michael Penix Jr.",
"position": null,
"jersey": "9",
"starter": null,
"didNotPlay": null,
"dnpReason": null,
"ejected": null,
"positionGroup": null,
"oddsProvider": "Draft Kings",
"spread": 4.5,
"spreadOdds": -108,
"moneyline": 195,
"drawMoneyline": null,
"total": 43.5,
"overOdds": -105,
"underOdds": -115,
"passingCompletions": 18,
"passingAttempts": 25,
"passingYards": 256,
"passingYardsPerPassAttempt": 10.2,
"passingTouchdowns": 1,
"passingInterceptions": 1,
"passingSacks": 0,
"passingSackYardsLost": 0,
"passingAdjQBR": 84.5,
"passingQBRating": 101.4,
"rushingAttempts": 2,
"rushingYards": -2,
"rushingYardsPerRushAttempt": -1,
"rushingTouchdowns": 0,
"rushingLongRushing": -1
}

Pricing

Pay only for rows you get - see the Pricing tab. Play-by-play and player-prop 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.