OrbTop

Action Network Sports Odds Scraper

SPORTSAI

Action Network Sports Odds Scraper

Scrapes multi-sportsbook odds from Action Network's API across six US sports leagues (NFL, NBA, MLB, NHL, NCAAF, NCAAB). Returns moneyline, spread, and totals from major sportsbooks (DraftKings, FanDuel, BetMGM, Caesars, and more) side-by-side, along with Action Network's public betting volume signal (num_bets) — all in one normalized, flat schema.

What it does

The actor fetches the Action Network scoreboard for each requested league and flattens the per-sportsbook odds data into individual rows. Each output row represents one game × one sportsbook combination, making it easy to compare lines across books or track line movement over time by scheduling repeat runs.

Key data points per record:

  • Teams (home and away), game ID, start time, league
  • Moneyline odds (home and away)
  • Spread (point spread value + juice per side)
  • Totals (over/under line + juice per side)
  • num_bets — Action Network's public betting volume count per game

Why use this over competitors?

Most betting-odds actors cover a single sportsbook. This actor delivers multi-book odds in one run — DraftKings, FanDuel, BetMGM, and Caesars side-by-side — plus Action Network's unique num_bets public-money signal. You get the data that arbitrage modelers, sharp bettors, and content sites actually need without stitching together multiple actors.

Input

Field Type Default Description
leagues string[] All 6 leagues Leagues to fetch. Valid values: nfl, nba, mlb, nhl, ncaaf, ncaab
bookIds string[] Top 10 US books Action Network sportsbook IDs. See table below for the default set
maxItems integer 0 (no limit) Cap on total output records

Default sportsbook IDs

ID Book
15 DraftKings
30 FanDuel
75 BetMGM
123 Caesars
69 PointsBet
68 BetRivers
972 Unibet
71 WynnBET
247 BetUS
79 FoxBet

Output

One record per game × sportsbook combination. Fields with no line posted (e.g. a league in pre-season) will be null for the odds columns; game metadata (teams, start_time) is always populated.

{
  "game_id": 290288,
  "league": "mlb",
  "start_time": "2026-06-01T22:40:00.000Z",
  "away_team": "Detroit Tigers",
  "home_team": "Tampa Bay Rays",
  "book_id": 15,
  "book_name": "DraftKings",
  "away_moneyline": 145,
  "home_moneyline": -176,
  "spread": 1.5,
  "spread_away_odds": -144,
  "spread_home_odds": 119,
  "total": 8,
  "over_odds": -102,
  "under_odds": -115,
  "num_bets": 5250,
  "source": "https://api.actionnetwork.com/web/v2/scoreboard/mlb?bookIds=15"
}

Usage tips

  • Line movement tracking: Schedule repeated runs and store results with a timestamp to track how lines move from open to game time.
  • Multi-league single run: Include multiple leagues in one run to get the full day's slate.
  • Arbitrage scanning: Filter to games where the same market has favorable odds across two or more books.
  • Off-season behavior: Leagues in the off-season return scheduled future games — some books post opening lines months in advance. Null odds fields indicate no line is posted yet for that book.