Sports Odds Scraper: Moneyline, Spread and Total
Pricing
from $0.50 / 1,000 row returneds
Sports Odds Scraper: Moneyline, Spread and Total
[$1.50 / 1K] Betting lines for upcoming NFL, NBA, MLB, NHL, college football and soccer games: moneyline, spread and total with closing odds and the bookmaker, from a public source. Games without a line are dropped and never charged. Date ranges split into days. Changes only since your last run.
Pricing
from $0.50 / 1,000 row returneds
Rating
0.0
(0)
Developer
deriverge s.r.o.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Sports Odds Scraper
What does Sports Odds Scraper do?
Sports Odds Scraper returns the betting lines for upcoming games in the NFL, NBA, MLB, NHL, college football, the major soccer leagues and more, in one table. Every row has the moneyline for both sides, the spread with its odds, the total with the over and under odds, the bookmaker that set them and the game itself: teams, start time, venue and broadcasters.
No browser, no proxies, no API key. The lines come from a public sports data interface that publishes them for the games it lists.
Only games that have a line
Lines normally appear one to two days before a game. A run over a whole month would return hundreds of games with no line yet, and most tools charge you for every one of them. This actor drops games without a line and never charges for them. What you get is the board as it stands right now.
Several leagues in one run
Pass any list of league keys and the result is one table with the league on every row, so you can compare the board across sports without merging exports. Keys: nfl, ncaaf, nba, wnba, ncaab, mlb, nhl, epl, laliga, bundesliga, seriea, ligue1, mls, ucl, ufc, pga, f1 and the rest of the catalogue in the multi-sport actor.
Line movement, only when it moves
Give the run a watch name or save it as a task and schedule it hourly. Each run compares against the previous snapshot and returns only games that are new or whose status or score moved, so a line-tracking task bills for changes and not for re-reading a static board.
Input
{"leagues": ["nfl", "nba", "mlb", "nhl"],"statusFilter": "scheduled","oddsOnly": true,"dateFrom": "2026-09-23","dateTo": "2026-09-30","newOnly": false}
Output
{"key": "espn:nfl:401872963","league": "nfl","name": "Philadelphia Eagles at Chicago Bears","startsAt": "2026-09-29T00:15:00.000Z","home": { "name": "Chicago Bears", "shortName": "CHI", "record": "1-1" },"away": { "name": "Philadelphia Eagles", "shortName": "PHI", "record": "2-0" },"odds": {"provider": "DraftKings","details": "PHI -4.5","spread": 4.5,"overUnder": 43.5,"homeMoneyLine": 180,"awayMoneyLine": -215,"homeSpreadLine": 4.5,"homeSpreadOdds": -110,"awaySpreadLine": -4.5,"awaySpreadOdds": -110,"overOdds": -110,"underOdds": -110,"favorite": "away"},"url": "https://www.espn.com/nfl/game/_/gameId/401872963/eagles-bears"}
Odds are American style, exactly as the bookmaker publishes them. A field the source does not publish is null, never a guess.
Pricing
| Event | Price |
|---|---|
| Game with a line returned | $0.003, falling to $0.0015 on higher plans |
| Games without a line, games removed by the status filter, games unchanged in change mode | free |
No start fee. A run that returns nothing costs nothing.
Frequently asked questions
Which bookmaker are the lines from? The one the source shows for that game, named in provider on every row. In practice that is a major US sportsbook.
How far ahead are lines available? Usually one to two days for daily sports and the whole week for the NFL. Games beyond that come back without a line and are dropped by this actor.
Can I get live in-play odds? No. The lines are the pre-game board. Once a game starts the line field is no longer updated by the source.
Can I track how a line moves? Schedule the run with a watch name. Each row carries the line at run time, so consecutive runs give you the sequence, and the change mode tells you which games moved.
How to use Sports Odds Scraper
- Open the actor and pick the leagues in the input form, or paste the JSON input from the example above.
- Click Start. The first rows appear in the Output tab within seconds; the run summary is in the Storage tab under the key
SUMMARY. - Download the results as JSON, CSV or Excel from the Output tab, or read them through the API link shown there.
- To run it on a schedule, click Save as a task, set the input once and add a schedule.
Integrations
The actor is available in the Apify apps for Make, Zapier, n8n and Keboola, where you pick it by name and map the input fields. It is also exposed to AI agents through the Apify MCP server, and callable from any language through the Apify API; the API tab on this page has ready-made snippets for Node.js, Python and curl. Every run can post its results to a webhook when it finishes.
Support
Questions and problems go into the Issues tab of this actor. Each issue is answered by the maintainer, and fixes ship as new builds without any change on your side.
Every sport and every mode is in Sports Data Scraper, the multi-sport actor this one is built from.
Built and operated by deriverge s.r.o. Same rules as our other actors: unified schema, honest billing, no charge for what you did not get.