NCAA API - College Sports avatar

NCAA API - College Sports

Pricing

from $0.01 / 1,000 results

Go to Apify Store
NCAA API - College Sports

NCAA API - College Sports

Fetch comprehensive NCAA college sports data including basketball rankings, football standings, team rosters, player statistics, and game schedules for all divisions. Basketball Data & Football Data Teams Rankings Schedule Scores Standings

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

1

Monthly active users

16 hours ago

Last modified

Share

NCAA API - College Sports Data

The most comprehensive NCAA data actor on Apify. 8 sports, 25+ tasks, betting odds with arbitrage detection, live score polling, recruiting rankings, bracket projections, and CSV export. Powered by ESPN + The Odds API.

Sports Covered

Basketball, Football, Baseball, Hockey, Lacrosse, Volleyball, Softball, Soccer — men's and women's.

All Tasks

Core Data (all sports)

Task PatternExampleWhat It ReturnsPrice
{sport}_teamsbasketball_teamsAll teams with IDs, conference, logo$0.01
{sport}_scoresfootball_scoresLive and final scores$0.01
{sport}_standingsbaseball_standingsConference standings$0.01
{sport}_rankingsbasketball_rankingsAP/Coaches Poll rankings$0.01
{sport}_schedulefootball_scheduleGame schedules with TV info$0.01

Team & Player

TaskRequiresPrice
team_rosterteamId$0.02
player_statsplayerId$0.02
injury_report$0.01
conference_teamsconference$0.01
team_scheduleteamId$0.02
head_to_headteamId + teamId2$0.02

Betting & Arbitrage

TaskRequiresPrice
betting_oddsoddsApiKey$0.05
betting_odds_historyoddsApiKey + oddsGameId$0.05
arbitrage_finderoddsApiKey$0.10

Live & Alerts

TaskRequiresPrice
live_scoreswebhookUrl$0.03
alertswebhookUrl (+ oddsApiKey for odds alerts)$0.03

Recruiting & Brackets

TaskPrice
recruiting_rankings$0.01
bracket_projections$0.01

Demo mode is always free for all tasks.

Examples

Get Basketball Rankings

{ "task": "basketball_rankings", "demoMode": false }

Multi-Task Batch (one run, multiple results)

{ "tasks": ["basketball_rankings", "basketball_scores", "football_standings"], "demoMode": false }

Get All SEC Football Teams

{ "task": "conference_teams", "sport": "football", "conference": "SEC", "demoMode": false }

Head-to-Head: Duke vs UNC

{ "task": "head_to_head", "sport": "basketball", "teamId": "150", "teamId2": "153", "demoMode": false }

Returns series record, win counts, and all games between the two teams this season.

Baseball Scores

{ "task": "baseball_scores", "demoMode": false }

Women's Volleyball Teams

{ "task": "volleyball_teams", "gender": "womens", "demoMode": false }

Betting Odds with Best Lines

{ "task": "betting_odds", "sport": "basketball", "oddsApiKey": "YOUR_KEY", "demoMode": false }

Every game includes bestLines — the best spread, moneyline, and total across DraftKings, FanDuel, BetMGM, etc.

Filter Odds by Team

{ "task": "betting_odds", "oddsApiKey": "YOUR_KEY", "oddsTeamFilter": "Duke", "demoMode": false }

Arbitrage Finder

{ "task": "arbitrage_finder", "sport": "basketball", "oddsApiKey": "YOUR_KEY", "demoMode": false }

Scans all games across all bookmakers. Returns profitable arb opportunities sorted by profit %, with exact stake percentages:

{
"type": "moneyline",
"game": "Duke vs Houston",
"profitPercent": 1.23,
"legs": [
{ "team": "Duke", "odds": -145, "bookmaker": "FanDuel", "stakePercent": 52.3 },
{ "team": "Houston", "odds": 155, "bookmaker": "DraftKings", "stakePercent": 47.7 }
]
}

Checks moneylines, spreads, AND totals for arb opportunities.

Live Score Polling

{
"task": "live_scores", "sport": "basketball",
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123/abc/",
"livePollingSeconds": 30, "liveMaxDuration": 600,
"demoMode": false
}

Alerts: Odds Movement

{
"task": "alerts", "sport": "basketball",
"oddsApiKey": "YOUR_KEY",
"webhookUrl": "https://your-webhook.com/alerts",
"alertType": "odds_movement", "alertThreshold": 2,
"alertPollingSeconds": 60, "alertMaxDuration": 600,
"demoMode": false
}

Monitors spread changes. When a spread moves 2+ points, pushes alert to your webhook.

Alerts: Upset Detection

{
"task": "alerts", "sport": "basketball",
"webhookUrl": "https://your-webhook.com/alerts",
"alertType": "upset",
"demoMode": false
}

Recruiting Rankings

Best results with a Firecrawl key (scrapes 247Sports for detailed data):

{ "task": "recruiting_rankings", "sport": "football", "season": 2026, "firecrawlApiKey": "fc-YOUR_KEY", "demoMode": false }

Without Firecrawl, falls back to ESPN's talent composite (less detailed):

{ "task": "recruiting_rankings", "sport": "football", "season": 2026, "demoMode": false }

Bracket Projections

{ "task": "bracket_projections", "sport": "basketball", "demoMode": false }

Returns NET rankings (bracket indicator) during March Madness, CFP rankings during football season.

CSV Export

{ "task": "basketball_rankings", "outputFormat": "csv", "demoMode": false }

CSV files are saved to the actor's Key-Value Store as {task}.csv. JSON results are always in the dataset.

Performance & Reliability

  • 15-min cache on ESPN responses via Apify KV Store. Identical requests within 15 min hit cache instantly. Betting odds and live scores always fetch fresh data.
  • Rate limiting — 200ms delay between ESPN API calls when running batched tasks. This keeps us under ESPN's rate limits and prevents your runs from getting throttled. You'll see "Rate limiting: 200ms between tasks" in the logs.
  • Batching — run multiple tasks in one actor call to save on Apify platform startup costs.
  • CSV export — set outputFormat: "csv" and CSV files are saved to the Key-Value Store alongside JSON.
  • Conference fallback — ESPN's API doesn't always return conference data. We hardcode D1 basketball and football conference-to-team mappings as a fallback so conference filtering works reliably.

Data Sources

SourceUsed ForAuthNotes
ESPN (site.api.espn.com)All sports dataNone neededPublic API, no key required
The Odds API (api.the-odds-api.com)Betting odds, arbitrageFree key (500 req/month)Used by betting_odds, betting_odds_history, arbitrage_finder
247Sports (via Firecrawl)Recruiting rankingsOptional Firecrawl keyUsed by recruiting_rankings for detailed team recruiting class data. Without it, falls back to ESPN (less detailed). Free key at firecrawl.dev.

FAQ

Why does football_standings return 0 results? ESPN removes college football standings after the season ends (January–August). This is an ESPN data availability issue, not a bug. Standings return data during the active football season (September–January).

Why does soccer_teams / lacrosse_teams / softball_teams return 0? ESPN's team listing API doesn't serve data for these three sports. However, *_scores tasks for these sports DO work during their active seasons (ESPN has scoreboard data even without team listings). Full team listing support for these sports is on our roadmap — we plan to build it by extracting team data from scoreboards and caching it.

How do I use conference filters? Both abbreviations and full names work: "ACC", "SEC", "Big Ten", "Mountain West", "Atlantic Coast Conference" — all valid. We map 35+ conference abbreviations to full names automatically.

How do bracket projections work? Best with a firecrawlApiKey — we scrape ESPN's Bracketology page for real seed projections during March Madness, and CFP rankings during football season. Without Firecrawl, we fall back to ESPN's rankings API (AP/Coaches polls only, no bracket-specific data).

How do recruiting rankings work? Best with a firecrawlApiKey — we scrape 247Sports for composite team recruiting class data (commits, points, 5-stars). Without Firecrawl, we fall back to ESPN which has limited recruiting data.

Roadmap

  • Soccer, lacrosse, softball team listings — extract from scoreboard data during active seasons
  • Transfer portal data — player transfer tracker
  • Historical game results — multi-season archives

Built by John Rippy | Actor Arsenal