Action Network Sports Odds Line Movement Scraper
Pricing
Pay per event
Action Network Sports Odds Line Movement Scraper
Scrape Action Network odds, spreads, totals, public betting percentages, and game metadata by league/date for sports betting analytics.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Action Network Sports Odds Line Movement Scraper extracts sportsbook odds snapshots from public Action Network scoreboard endpoints. Use it to monitor moneylines, spreads, totals, public betting splits, game metadata, and source URLs across MLB, NBA, NFL, NHL, college football, and college basketball.
What does Action Network Sports Odds Line Movement Scraper do?
It turns Action Network scoreboard API responses into clean Apify dataset rows.
- ๐๏ธ Fetch leagues such as
mlb,nba,nfl,nhl,ncaab, andncaaf - ๐ Query one or more dates
- ๐ Save one row per sportsbook odds snapshot
- ๐ธ Extract moneylines, spreads, spread prices, totals, over prices, and under prices
- ๐ฅ Include public betting and money percentages when Action Network provides them
- ๐ Include both the API URL and a user-facing Action Network game URL
Who is this Action Network odds scraper for?
Sports betting analysts use it to compare lines across books.
Affiliate and content teams use it to create odds tables and daily market summaries.
Quantitative bettors use it to collect repeatable historical snapshots for models.
Media researchers use it to track market movement around high-profile games.
Automation teams use it to feed dashboards, alerts, spreadsheets, and data warehouses.
Why use it?
Action Network exposes rich scoreboard data, but the raw JSON is nested by game and sportsbook. This actor normalizes the data into flat rows that are easy to export, join, filter, and analyze.
You can run it on a schedule, compare books, archive odds snapshots, or pipe the data into your own betting intelligence workflow.
What data can you extract?
| Field group | Examples |
|---|---|
| League and event | league, sport, season, gameId, startTime, status |
| Teams | homeTeamName, homeTeamAbbr, awayTeamName, awayTeamAbbr |
| Sportsbook | bookId, bookName |
| Moneyline | moneylineHome, moneylineAway |
| Spread | spreadHome, spreadHomePrice, spreadAway, spreadAwayPrice |
| Total | total, overPrice, underPrice |
| Consensus | public bet percentages and money percentages when present |
| Traceability | apiUrl, sourceUrl, insertedAt, scrapedAt |
How much does it cost to scrape Action Network sports odds?
The actor uses pay-per-event pricing.
- Start event: small one-time run fee
- Item event: charged per saved odds row
- Higher usage tiers receive discounted per-row pricing
Use maxItems to control spend during tests. A normal monitoring run can start with 100-250 rows and scale up after you verify the leagues and books you need.
Input options
| Input | Description |
|---|---|
leagues | Action Network league slugs to fetch |
dates | Dates in YYYY-MM-DD or YYYYMMDD; leave empty for today |
bookIds | Action Network sportsbook IDs |
period | Market period, usually game |
maxItems | Maximum odds rows saved |
includeLive | Include live/in-progress games |
includeCompleted | Include completed games |
Example input
{"leagues": ["mlb", "nba", "nfl", "nhl"],"dates": ["2026-07-06", "2026-07-07"],"bookIds": ["15", "30", "76", "75", "123"],"period": "game","maxItems": 250,"includeLive": true,"includeCompleted": true}
Example output
{"league": "mlb","sport": "baseball","gameId": 291585,"startTime": "2026-07-06T22:45:00.000Z","status": "complete","bookName": "DraftKings","homeTeamName": "Washington Nationals","awayTeamName": "Houston Astros","moneylineHome": -115,"moneylineAway": -105,"spreadHome": -1.5,"spreadHomePrice": 145,"total": 10,"overPrice": -101,"underPrice": -119,"apiUrl": "https://api.actionnetwork.com/web/v1/scoreboard/mlb?...","sourceUrl": "https://www.actionnetwork.com/mlb/game/...","scrapedAt": "2026-07-07T02:33:10.608Z"}
How to scrape Action Network odds
- Choose one or more leagues.
- Add dates or leave dates empty for today.
- Keep the default sportsbook IDs or enter your own Action Network book IDs.
- Set
maxItemsto a safe number for your first run. - Run the actor.
- Export the dataset as JSON, CSV, Excel, or via the Apify API.
Tips for best results
- Use active sports seasons for the largest output volume.
- Include multiple leagues when you need at least 100 rows.
- Keep completed games enabled for historical date backfills.
- Use scheduled runs for daily line monitoring.
- Store
apiUrlandinsertedAtso you can audit exactly which Action Network snapshot produced each row.
Integrations
Send results to Google Sheets for editorial odds tables.
Send results to BigQuery, Snowflake, or Postgres for modeling.
Use webhooks to trigger Slack or Discord alerts when a scheduled run completes.
Use Make, Zapier, or n8n to combine odds rows with internal content calendars.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/action-network-sports-odds-line-movement-scraper').call({leagues: ['mlb', 'nba'],dates: ['2026-07-06'],maxItems: 100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/action-network-sports-odds-line-movement-scraper').call(run_input={'leagues': ['mlb', 'nba'],'dates': ['2026-07-06'],'maxItems': 100,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~action-network-sports-odds-line-movement-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"leagues":["mlb","nba"],"dates":["2026-07-06"],"maxItems":100}'
MCP integration
Use this actor from Claude Code or Claude Desktop through Apify MCP.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/action-network-sports-odds-line-movement-scraper
Example prompts:
- "Run the Action Network sports odds scraper for MLB and NBA today and summarize the tightest spreads."
- "Fetch 250 Action Network odds rows and identify books with different totals for the same game."
- "Export Action Network line movement snapshots for yesterday into a CSV-ready dataset."
Scheduling workflows
Run every morning for pre-game odds.
Run hourly during busy slates.
Run after major injury news if your workflow needs fresh market data.
Keep maxItems high enough to cover all selected leagues and books.
Data quality notes
The actor saves exactly what the public Action Network scoreboard endpoint returns at run time. If Action Network omits public betting percentages for a market, the actor returns null for those percentage fields instead of guessing.
Book names are mapped for common sportsbook IDs. Unknown IDs are preserved as numeric bookId values and labeled as Book <id>.
Troubleshooting
If you get no rows, try an active league/date combination such as MLB during regular season.
If you expected a specific book, verify that its Action Network book ID is included in bookIds.
If public betting percentages are null, Action Network did not include them in the public response for that game/book/market.
Legality
This actor extracts publicly accessible Action Network data. You are responsible for using the data in compliance with Action Network terms, applicable law, sportsbook rules, and any regulations that apply to betting data in your jurisdiction.
Related sports data scrapers
Explore related automation-lab actors on Apify:
- https://apify.com/automation-lab/google-news-scraper
- https://apify.com/automation-lab/espn-scraper
- https://apify.com/automation-lab/youtube-channel-scraper
Changelog
0.1
Initial release with Action Network scoreboard odds extraction by league, date, sportsbook IDs, period, and max item cap.
FAQ
Can it scrape line movement history?
Version 0.1 captures the current public scoreboard odds snapshot and Action Network line timestamp fields. Schedule the actor to build your own line movement archive over time.
Does it require a sportsbook account?
No. It uses unauthenticated public Action Network scoreboard responses.
Can I choose sportsbooks?
Yes. Pass Action Network sportsbook IDs in bookIds.
Can I run it for multiple days?
Yes. Add multiple values to dates.
Can I export to CSV?
Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, and HTML.
Is this a betting recommendation tool?
No. It provides structured odds data. It does not advise bets or guarantee price availability.