Action Network Odds, Betting Splits & Line Movement Scraper avatar

Action Network Odds, Betting Splits & Line Movement Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Action Network Odds, Betting Splits & Line Movement Scraper

Action Network Odds, Betting Splits & Line Movement Scraper

Sports betting odds from every major US sportsbook, public money/ticket percentages, scores, timestamped line movement and player props from Action Network - NFL, NBA, MLB, NHL, college and soccer, with incremental runs.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Categories

Share

actionnetwork-scraper

Scrapes sports-betting data from Action Network: odds from every major US sportsbook, the public betting splits (money and ticket percentages), scores and game status, timestamped line movement, and player and game props โ€” for the NFL, NCAA Football, NBA, NCAA Basketball, WNBA, MLB, NHL and soccer. No login required.

Contents

๐Ÿ”‘ Key features

  • Odds from every book. Moneyline, spread and total per game from Consensus, the opening line and the major US sportsbooks (DraftKings, FanDuel, BetMGM, BetRivers, Caesars, bet365 and more) โ€” pick the books you want with bookIds. Alternate lines and team totals are included where the book lists them.
  • Public betting splits. The share of bets (tickets_pct) and of money (money_pct) on each side of every market, so you can spot where the public and the money disagree.
  • Line movement. Every odds and line change with its timestamp, per outcome, per sportsbook.
  • Player and game props. Every prop market with every sportsbook's lines, player name and position.
  • Scores and status for every game, with the winner.
  • Two ways to choose games. Leave the dates empty for each league's current slate, walk a date range for the daily leagues, or a season and weeks for NFL and NCAA Football (regular season or playoffs).
  • Incremental runs. Schedule the games data type: after the first run you only receive new games and games whose status, score or closing line changed.
  • maxItems defaults to 50 โ€” a fast, cheap preview. Clear it (null) for everything in your scope.

๐Ÿ“‹ Output

Three data types, chosen with entityType. See .actor/dataset_schema.json for every field.

games โ€” one row per game:

{
"source": "actionnetwork",
"external_id": "256552",
"league": "nfl",
"season": 2025,
"week": 1,
"start_time": "2025-09-05T00:20:00.000Z",
"away_team": "Dallas Cowboys",
"home_team": "Philadelphia Eagles",
"status": "complete",
"away_score": 20,
"home_score": 24,
"winner": "home",
"moneyline_home": -425,
"spread_home": -8.5,
"total_line": 47.5,
"consensus": {
"spread": {
"home": {"odds": -110, "value": -8.5, "tickets_pct": 64, "money_pct": 72},
"away": {"odds": -110, "value": 8.5, "tickets_pct": 36, "money_pct": 28}
}
},
"books": [{"book_id": 68, "book": "DK NJ", "moneyline": {}, "spread": {}, "total": {}}],
"change_type": "new"
}

lineHistory โ€” one row per game, sportsbook and market line, with outcomes[].history as the timestamped series [{updated_at, odds, value, line_status}], the opening point and the number of moves.

props โ€” one row per prop market (a player and stat, or a game-level prop) with lines listing every sportsbook's odds and value.

๐Ÿ”ง Input

FieldTypeDefaultDescription
entityTypestringgamesgames, lineHistory or props.
leaguesarrayall 8NFL, NCAA Football, NBA, NCAA Basketball, WNBA, MLB, NHL, soccer. Out-of-season leagues return nothing.
dateFrom / dateTostringโ€”Game days (YYYY-MM-DD, US Eastern) for the daily leagues. Empty = the current slate. At most 400 days.
seasonintegerโ€”NFL / NCAA Football season year. Setting it walks the weeks below.
weekFrom / weekTointeger1 / end of seasonWeek range when season is set.
seasonTypestringregreg or post (playoffs / bowl games).
bookIdsarraysite defaultRestrict to these sportsbooks. Consensus is always kept because it carries the splits.
maxItemsinteger50Stop after this many rows. null = everything in scope.
modestringautoauto / full / incremental โ€” games only.
concurrencyinteger10Parallel requests (max 20).
impersonatestringfirefoxBrowser TLS fingerprint. Change only if requests are blocked.
proxyConfigurationobjectno proxyApify Proxy settings. Not needed in testing.

๐Ÿ“ฅ Input examples

Default preview (current slate of every league, first 50 games):

{}

Today's MLB slate with only DraftKings and FanDuel:

{ "leagues": ["mlb"], "bookIds": ["68", "69"], "maxItems": null }

A full NFL regular season of closing odds and betting splits:

{ "leagues": ["nfl"], "season": 2025, "maxItems": null }

Daily incremental feed of new and changed games (schedule this):

{ "leagues": ["nfl", "mlb", "nba", "nhl"], "maxItems": null }

Daily line-movement capture (schedule this):

{ "entityType": "lineHistory", "leagues": ["nfl", "mlb", "nba", "nhl"], "maxItems": null }

NBA prop markets for a single night:

{ "entityType": "props", "leagues": ["nba"], "dateFrom": "2025-01-01", "maxItems": 2000 }

๐Ÿ“ˆ Line history: what to expect

Action Network keeps the full timestamped line history for a game for only a few days after it is played. Games from about a week ago come back with every outcome present but an empty history. That makes lineHistory a capture product, not a backfill one: schedule it daily (or more often) and each game's complete history โ€” from the opening line to the close โ€” is saved before the site drops it.

Closing odds, the final public betting splits, scores and props are kept much longer (roughly the last two seasons for odds and splits; props for at least the past year), so games and props can be back-filled for a season with the season/week or date inputs.

๐Ÿ” Incremental mode

games only, and only for a run with maxItems cleared (null) โ€” a capped run is a preview and always returns games. In auto mode the first uncapped run returns every game in scope and remembers it. Later uncapped runs return only new games and games whose status, start time, score or closing consensus line changed (change_type is new or changed). The memory covers every league and date you have run and forgets games that started more than 60 days ago. A run stopped by maxItems, by your spending limit or by an error does not update it. lineHistory and props are always a fresh pull.

โ“ FAQ

Which sportsbooks are covered? Consensus, Open (the opening line), DraftKings, FanDuel, BetMGM, BetRivers, Caesars, bet365 and Unibet across several states. Pick them in bookIds.

Why is a league empty? It is out of season, or has no games in the selected scope.

What are the money and ticket percentages? Ticket % is the share of bets placed on a side; money % is the share of the dollars wagered. A big gap between them usually means large bets are on one side.

Do you cover UFC, tennis or golf? Not yet โ€” those use a different data shape and were not in season when this actor was built.