NFL Stats avatar
NFL Stats

Pricing

$3.00 / 1,000 results

Go to Apify Store
NFL Stats

NFL Stats

Developed by

PayAI

PayAI

Maintained by Community

Scrapes live NFL statistics and calculates Expected Value percentages for pick'em leagues. Analyzes Against The Spread records, home/road performance, and momentum trends from ESPN, TeamRankings, and Pro Football Reference. Provides top team recommendations with confidence ratings for smart bettors.

0.0 (0)

Pricing

$3.00 / 1,000 results

0

1

1

Last modified

7 hours ago

NFL Stats EV Scraper

Overview

Advanced NFL statistics scraper that calculates Expected Value (EV) percentages for pick'em leagues and sports betting analysis. This actor aggregates data from multiple authoritative sources to provide comprehensive team performance metrics and betting recommendations.

Features

  • Multi-Source Data Collection: Scrapes from ESPN, TeamRankings, NFL.com, and Pro Football Reference
  • EV Calculation Engine: Proprietary 4-factor weighted algorithm for accurate predictions
  • ATS Performance Tracking: Against The Spread records with home/road splits
  • Real-Time Updates: Current season statistics with automatic weekly updates
  • Supabase Integration: Optional database storage for historical tracking
  • Excel Export Ready: Formatted data for spreadsheet analysis

Quick Start

// Basic usage - get current week's picks
const input = {
"week": "current",
"season": "2024"
};

Input Parameters

ParameterTypeDefaultDescription
weekstring"current"NFL week number or "current" for latest
seasonstring"2024"NFL season year
sourcesarray["espn", "teamrankings", "nfl", "pro-football-reference"]Data sources to scrape
calculateEVbooleantrueEnable EV calculations
updateSupabasebooleanfalseStore in Supabase (requires config)
includeInjuriesbooleantrueInclude injury reports
pickemStrategystring"ev"Strategy: "ev", "contrarian", "chalk", "balanced"

Output Format

Team Data Structure

{
"team": "BAL",
"teamName": "Baltimore Ravens",
"atsRecord": "13-5-1",
"atsPercentage": 72.2,
"coverRate": 72.2,
"homeATSPercentage": 75.0,
"roadATSPercentage": 69.4,
"units": 3.8,
"profitability": "profitable",
"evPercentage": 59,
"evCategory": "SOLID PLAY",
"last5ATS": "4-1",
"favoriteCoverRate": 68.5,
"underdogCoverRate": 76.0
}

Complete Output Example

{
"type": "FINAL_ANALYSIS",
"week": "current",
"season": "2024",
"totalTeams": 32,
"teams": [...],
"recommendations": {
"topPicks": [
{
"rank": 1,
"team": "CAR",
"teamName": "Carolina Panthers",
"evPercentage": 61,
"confidenceLevel": "SOLID PLAY",
"atsRecord": "13-4-0",
"units": 7.6
}
],
"confidencePool": [...],
"avoidList": [
{
"team": "NYG",
"teamName": "New York Giants",
"evPercentage": 44,
"confidenceLevel": "LEAN FADE",
"atsRecord": "6-11-0"
}
],
"analysis": {
"bestATS": [...],
"bestHome": [...],
"bestRoad": [...],
"momentum": [...]
}
}
}

EV Categories & Confidence Levels

EV ScoreCategoryActionConfidence Points
65%+STRONG PLAYMaximum bet15-16 points
58-64%SOLID PLAYStrong bet12-14 points
52-57%LEAN PLAYMedium bet8-11 points
48-51%TOSS UPSkip/minimal4-7 points
42-47%LEAN FADEAvoid1-3 points
<42%STRONG FADEStrong avoid0 points

EV Calculation Methodology

The Expected Value is calculated using a weighted 4-factor model:

Standard EV Strategy (Default)

  • ATS Performance (40%): Historical Against The Spread success rate
  • Situational Factors (30%): Home/road, division, prime time performance
  • Spread Analysis (20%): Performance as favorite vs underdog
  • Momentum (10%): Recent form and trending patterns

Formula: EV = (0.40 × ATS) + (0.30 × Situational) + (0.20 × Spread) + (0.10 × Momentum)

Alternative Strategies

Contrarian

  • Fades public favorites, targets underdogs
  • Weights: ATS 30%, Situational 20%, Spread 20%, Momentum 30%

Chalk

  • Follows favorites and public consensus
  • Weights: ATS 50%, Situational 20%, Spread 20%, Momentum 10%

Balanced

  • Mix of value and safety
  • Weights: ATS 35%, Situational 25%, Spread 25%, Momentum 15%

Usage Examples

Via Apify Console

  1. Navigate to the actor page
  2. Enter your desired parameters
  3. Click "Run"
  4. View results in the dataset

Via API

curl -X POST https://api.apify.com/v2/acts/payai/nfl-stats/runs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"week": "5",
"season": "2024",
"pickemStrategy": "ev"
}'

Via JavaScript Client

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({
token: 'YOUR_API_TOKEN',
});
// Run the actor
const run = await client.actor('payai/nfl-stats').call({
week: 'current',
season: '2024',
calculateEV: true,
pickemStrategy: 'ev'
});
// Get results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
// Find top picks
const finalAnalysis = items.find(item => item.type === 'FINAL_ANALYSIS');
console.log('Top 5 Picks:', finalAnalysis.recommendations.topPicks);

Via Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
# Run the actor
run = client.actor('payai/nfl-stats').call(run_input={
'week': 'current',
'season': '2024',
'pickemStrategy': 'ev'
})
# Get results
items = client.dataset(run['defaultDatasetId']).list_items().items
# Process results
for item in items:
if item.get('type') == 'FINAL_ANALYSIS':
print('Top picks:', item['recommendations']['topPicks'])

Data Sources

TeamRankings

  • Data: ATS trends, home/road splits, O/U trends
  • Update Frequency: Real-time during games
  • Reliability: 95%+ uptime

ESPN

  • Data: Standings, power rankings, injury reports
  • Update Frequency: Daily
  • Reliability: 90%+ uptime

Pro Football Reference

  • Data: Historical stats, advanced metrics, game logs
  • Update Frequency: Daily after games
  • Reliability: 95%+ uptime

NFL.com

  • Data: Official stats, current matchups, news
  • Update Frequency: Real-time
  • Reliability: 85%+ uptime

Performance & Cost

Performance Metrics

  • Average Runtime: 2-4 minutes
  • Data Points: 500+ per run
  • Teams Analyzed: All 32 NFL teams
  • Success Rate: 95%+ data retrieval
  • Memory Usage: 512MB-1GB

Cost Estimation

  • Compute Units: ~0.01-0.02 per run
  • Cost per Run: $0.004-0.008
  • Daily Usage (1 run): ~$0.008
  • Weekly Usage (7 runs): ~$0.056
  • Monthly Usage (30 runs): ~$0.24
  • Season Usage (150 runs): ~$1.20

Best Practices

Optimal Timing

  • Tuesday-Thursday: Most accurate weekly data
  • Friday Morning: Final injury reports available
  • Sunday Morning: Last-minute updates before games
{
"week": "current",
"season": "2024",
"sources": ["teamrankings", "espn"],
"calculateEV": true,
"pickemStrategy": "ev",
"includeInjuries": true
}

Pick'em League Strategy

  1. Run actor Tuesday evening for initial analysis
  2. Update Friday for injury adjustments
  3. Final run Sunday morning for late changes
  4. Use top 5 picks for confidence pool
  5. Avoid bottom 5 teams completely

Troubleshooting

Common Issues

No Team Data Returned

  • Cause: Website structure changed
  • Solution: Report issue, actor will be updated

Timeout Errors

  • Cause: Slow website response
  • Solution: Reduce sources array, try again later

Missing Current Week

  • Cause: Season transition period
  • Solution: Specify week number explicitly

Database Integration (Optional)

When updateSupabase is enabled, data is stored in:

  • nfl_team_stats: Current team statistics
  • nfl_weekly_analysis: Weekly recommendations
  • nfl_ev_calculations: Detailed EV breakdowns

Required environment variables:

SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_KEY=your_service_key

Limitations

  • Data availability depends on source website structure
  • Preseason weeks have limited statistics
  • Playoff weeks use different calculation weights
  • Live odds not included (historical ATS only)
  • Injury reports updated once daily (not real-time)

This actor provides statistical analysis for informational purposes only. Users are responsible for compliance with local laws regarding sports betting. No gambling advice is provided or implied. Past performance does not guarantee future results.

Support & Feedback

  • Issues: Report via Apify platform
  • Feature Requests: Contact through Apify console
  • Documentation: This README
  • Updates: Follow actor for notifications

Version History

  • v0.1.10: Enhanced selector robustness, 32 teams found
  • v0.1.9: Improved TeamRankings accuracy
  • v0.1.8: Added multiple fallback selectors
  • v0.1.0: Initial release with 4-source integration

Last Updated: September 2025 Actor ID: S654tc9Mr9Tka4FSw