Sports Odds Scraper: Moneyline, Spread and Total avatar

Sports Odds Scraper: Moneyline, Spread and Total

Pricing

from $0.50 / 1,000 row returneds

Go to Apify Store
Sports Odds Scraper: Moneyline, Spread and Total

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.

deriverge s.r.o.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

EventPrice
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 modefree

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

  1. Open the actor and pick the leagues in the input form, or paste the JSON input from the example above.
  2. Click Start. The first rows appear in the Output tab within seconds; the run summary is in the Storage tab under the key SUMMARY.
  3. Download the results as JSON, CSV or Excel from the Output tab, or read them through the API link shown there.
  4. 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.