FanDuel Odds, Player Props & Same Game Parlay Scraper avatar

FanDuel Odds, Player Props & Same Game Parlay Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
FanDuel Odds, Player Props & Same Game Parlay Scraper

FanDuel Odds, Player Props & Same Game Parlay Scraper

Scrapes FanDuel Sportsbook (sportsbook.fanduel.com) odds for NFL, NBA, NHL, MLB, soccer and more: moneylines, spreads, totals, alternate lines, player props, futures, American or decimal odds and a same game parlay eligible flag per selection.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

ActorFlow

ActorFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Security

Limited permissions

Share

Scrape FanDuel Sportsbook odds and player props from sportsbook.fanduel.com for the NFL, NBA, NHL, MLB, soccer, tennis and more: moneylines, spreads, totals, alternate lines, game props, futures and player props, one row per selection with American or decimal odds, the line, previous odds and a same game parlay (SGP) eligible flag. Paste a league or game URL, press Start, and export the FanDuel odds data as JSON, CSV or Excel, or call it as an API.

FanDuel odds, player props and same game parlay scraper cover: 1,409 selections from one game

Target website: sportsbook.fanduel.com

✨ Features of this FanDuel odds, props and same game parlay scraper

  • Odds extraction — event, teams, league, start time, market, selection, line, American and/or decimal odds and previous odds for every selection
  • Alternate lines and game props — alternate spreads and totals, team totals, halves, quarters, scoring and other game markets
  • Player props extraction — player name, prop type (Passing Yds, Points, Anytime TD...), over/under side and line from every props tab
  • Same game parlay flags — every row says whether FanDuel allows that market in a same game parlay, and the parlay tab lists all combinable markets of a game
  • Futures — season and outright markets such as Super Bowl winner, MVP and division winners
  • Live games — optional in-play games with the odds at scrape time
  • Filtering — market groups, prop type keywords, league and sport pickers, odds format
  • Change tracking — an optional snapshot name marks every selection new, changed or unchanged since your last run
  • Proxy support — runs on a US Apify Proxy by default, because FanDuel blocks IPs outside the US
  • No browser required — plain HTTP requests make runs fast and cheap

🚀 How to scrape FanDuel odds and player props in 5 steps

  1. Sign up for a free Apify account — includes $5 monthly credit.
  2. Open the actor page and click Try for free.
  3. Keep the prefilled NFL URL or paste any FanDuel league, sport or game URL, then pick the market groups you need.
  4. Click Start and wait for the run to complete.
  5. Download results from the Output tab in JSON, CSV, or Excel format.

You can also run this actor via the Apify API or integrate it directly into your workflows using Zapier, Make, or n8n.

💰 Pricing for the FanDuel odds scraper

This actor uses pay-per-result billing based on the compute units a run consumes.

  • New Apify accounts include $5 of free monthly credit.
  • It uses plain HTTP requests, so it costs significantly less to run than browser-based scrapers.
  • A US datacenter proxy is enough, which is much cheaper than residential traffic.
  • Main lines are cheap (one request per league page). Player props add one request per props tab and the same game parlay tab adds about 1 MB per game, so keep Max events low for prop runs.

🔧 FanDuel odds scraper input configuration

The form has the main inputs on top, one optional group of league, sport and filter options, and the proxy at the bottom.

FanDuel scraper input form with the 9 input fields numbered 1 to 9

  1. FanDuel league, sport or event URLs — league, sport or game pages to scrape
  2. Max events — games per start URL
  3. Market groups — what to scrape (main lines, alternate lines, player props, game props, same game parlay, futures)
  4. Leagues — NFL, NBA, NHL, MLB pages in addition to the start URLs
  5. Sports — whole sport pages
  6. Prop types — keyword filter for props
  7. Include live (in-play) games — also return games already started
  8. Odds format — American, decimal or both
  9. Snapshot name — compare odds with the previous run
#FieldTypeRequiredDefaultDescription
1FanDuel league, sport or event URLs (startUrls)array—NFL league page (prefill)League, sport or single game URLs. Add ?tab=passing-props to a game URL for one tab.
2Max events (maxItems)integer—5Games per start URL (futures events counted separately). Each game returns all its selections.
3Market groups (marketGroups)array—main linesmain, alternate_lines, props, game_props, sgp (same game parlay eligible markets), futures.
4Leagues (leagues)array——NFL, NBA, NHL, MLB pages in addition to the start URLs.
5Sports (sports)array——Whole sport pages: football, basketball, baseball, hockey, soccer, tennis, golf, cricket, rugby union, snooker, MMA.
6Prop types (propTypes)array—all propsKeep props containing these words, e.g. passing yds, points.
7Include live games (includeLive)boolean—falseAlso return games already in play.
8Odds format (oddsFormat)string—americanamerican, decimal or both.
9Snapshot name (snapshotName)string——Same name on each run adds changeSinceLastRun (new, changed, unchanged). Rows are never skipped.
—Proxy configuration (proxyConfiguration)object—Apify Proxy, country USFanDuel blocks non-US IPs. Switch to RESIDENTIAL if blocked.

Supported URL types:

  • League pages: https://sportsbook.fanduel.com/football/nfl, /basketball/nba, /hockey/nhl, /baseball/mlb (or the short /nfl, /nba, /nhl, /mlb)
  • Sport pages: https://sportsbook.fanduel.com/tennis, /soccer, /golf, /mma and the other sports in the picker
  • Game pages: https://sportsbook.fanduel.com/football/nfl/houston-texans-@-jacksonville-jaguars-35605984 (the number at the end is the event id)

📦 FanDuel odds scraper output data (JSON, CSV, Excel)

The dataset is JSON (exportable as CSV or Excel) with these fields per selection: eventId, eventName, homeTeam, awayTeam, league, sport, startTime, isLive, marketId, marketName, marketType, marketGroup, tab, isSgpEligible, selectionId, selectionName, side, playerName, propType, line, oddsAmerican, previousOddsAmerican, oddsDecimal, previousOddsDecimal, marketStatus, url, scrapedAt and, with a snapshot name, changeSinceLastRun. The odds columns follow your Odds format choice. There are 3 views:

  • Odds overview — game, market, selection, line, odds, same game parlay flag and live flag.
  • Games and teams — game-level columns (teams, league, sport, start time) next to each selection.
  • Player props — player, prop type, side, line, odds and previous odds.

Output at a glance:

GameMarketSelectionLineAmericanDecimalSGP
Houston Texans @ Jacksonville JaguarsMoneylineHouston Texans—+1202.2yes
Baltimore Ravens @ Cleveland BrownsTotal PointsOver39.5-1051.952yes
Houston Texans @ Jacksonville JaguarsC.J. Stroud - Passing YdsC.J. Stroud Over256.5-1131.885yes
Houston Texans @ Jacksonville JaguarsC.J. Stroud - Passing YdsC.J. Stroud Under256.5-1131.885yes

Sample output (raw JSON):

[
{
"eventId": "36160507",
"eventName": "Baltimore Ravens @ Cleveland Browns",
"homeTeam": "Cleveland Browns",
"awayTeam": "Baltimore Ravens",
"league": "NFL",
"sport": "American Football",
"startTime": "2026-10-18T17:01:00.000Z",
"isLive": false,
"marketId": "734.190243440",
"marketName": "Total Points",
"marketType": "TOTAL_POINTS_(OVER/UNDER)",
"marketGroup": "main",
"tab": null,
"isSgpEligible": true,
"selectionId": "7017916",
"selectionName": "Over",
"side": "over",
"playerName": null,
"propType": null,
"line": 39.5,
"oddsAmerican": -105,
"previousOddsAmerican": null,
"marketStatus": "ACTIVE",
"url": "https://sportsbook.fanduel.com/football/nfl/baltimore-ravens-@-cleveland-browns-36160507",
"scrapedAt": "2026-10-18T03:19:14.725Z"
},
{
"eventId": "35605984",
"eventName": "Houston Texans @ Jacksonville Jaguars",
"homeTeam": "Jacksonville Jaguars",
"awayTeam": "Houston Texans",
"league": "NFL",
"sport": "American Football",
"startTime": "2026-10-18T13:30:00.000Z",
"isLive": false,
"marketId": "734.191307374",
"marketName": "C.J. Stroud - Passing Yds",
"marketType": "PLAYER_X_PASSING_YARDS_HIGH",
"marketGroup": "props",
"tab": "Passing Props",
"isSgpEligible": true,
"selectionId": "41158959",
"selectionName": "C.J. Stroud Over",
"side": "over",
"playerName": "C.J. Stroud",
"propType": "Passing Yds",
"line": 256.5,
"oddsAmerican": -113,
"previousOddsAmerican": -114,
"oddsDecimal": 1.885,
"previousOddsDecimal": 1.877,
"marketStatus": "ACTIVE",
"url": "https://sportsbook.fanduel.com/football/nfl/houston-texans-@-jacksonville-jaguars-35605984",
"scrapedAt": "2026-10-18T03:19:40.942Z"
}
]

🐍 How to scrape FanDuel odds with Python, JavaScript or the API

Run the actor programmatically with the official Apify clients. Replace <YOUR_API_TOKEN> with the token from your Apify Console.

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("confidential_gnat/fanduel-odds-sgp-scraper").call(run_input={
"startUrls": [{"url": "https://sportsbook.fanduel.com/football/nfl"}],
"maxItems": 5,
"marketGroups": ["main", "props"],
"propTypes": ["passing yds"],
"oddsFormat": "both",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('confidential_gnat/fanduel-odds-sgp-scraper').call({
startUrls: [{ url: 'https://sportsbook.fanduel.com/football/nfl' }],
maxItems: 5,
marketGroups: ['main', 'props'],
propTypes: ['passing yds'],
oddsFormat: 'both',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

cURL — start a run and wait for the dataset:

curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~fanduel-odds-sgp-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://sportsbook.fanduel.com/football/nfl"}],"maxItems":5,"marketGroups":["main","props"],"propTypes":["passing yds"],"oddsFormat":"both"}'

💡 What you can use FanDuel odds and player props data for

  • Line shopping and odds comparison against other sportsbooks
  • Player prop models and projections that need current lines and prices
  • Odds movement and line-change alerts with a scheduled snapshot name
  • Same game parlay research: which markets FanDuel lets you combine in each game
  • Sports analytics dashboards, betting content and fantasy research

Sports bettors, handicappers, odds-comparison sites, sportsbook data teams, data journalists and fantasy sports analysts typically use this kind of data.

⚠️ Limitations of the FanDuel odds scraper

  • Terms of service and regulation — FanDuel's terms prohibit automated access, and sportsbook odds are regulated and geo-restricted. The actor only reads odds shown to logged-out visitors, never uses an account and places no bets. You are responsible for deciding whether and how to use the data.
  • US IPs only — FanDuel returns 403 for IPs outside the US. The default US Apify Proxy works; switch to residential if you are blocked.
  • No combined parlay price — the actor flags which markets are same game parlay eligible and lists them, but it does not price a combined parlay.
  • Simulated games are skipped — esports-style games with all-caps nicknames (for example NBA games with team nicknames in brackets) are left out.
  • Heavy parlay pages — the same game parlay tab is about 1 MB and takes around 15 seconds per game, and returns over a thousand rows for a full NFL game. Use a low Max events value.
  • Odds are snapshots — odds change constantly, so there is no cache. Live odds are the values at scrape time. Soccer and tennis pages are large and can be slow.

❓ FanDuel odds scraper FAQ

Can I scrape FanDuel legally?

The actor only collects odds that FanDuel shows to any logged-out visitor, without login, account or payment. Scraping publicly available data is generally considered lawful (see hiQ Labs v. LinkedIn), but FanDuel's terms of service prohibit scraping and betting data is regulated, so you are responsible for complying with them and with the laws of your jurisdiction.

What data does the FanDuel scraper return?

One row per selection with the game, teams, league, market, selection, line, American and decimal odds, previous odds, same game parlay eligibility, live flag and timestamps. Player prop rows add the player name and prop type, and a snapshot name adds changeSinceLastRun.

How many games can I scrape from one FanDuel URL?

Max events limits the games per start URL (5 by default). Every game returns all its selections, and futures events are limited separately when you pick futures. A league page only lists games FanDuel currently has open.

Do I need a proxy to scrape sportsbook.fanduel.com?

Yes, a US one. The input defaults to Apify Proxy with country US (datacenter), which works for the odds data, and a request from outside the US gets a 403. If you are blocked anyway, choose the RESIDENTIAL group with country US.

How do I scrape FanDuel with Python?

Use the Python example above with the apify-client package and iterate over the dataset items. Pick props or sgp in marketGroups to include player props or parlay eligible markets.

Can I run this FanDuel scraper on a schedule?

Yes, use Apify Schedules. There is no cache because odds are only valid for a moment, but you can set a snapshot name so each run marks every selection as new, changed or unchanged compared with the previous run.

What output formats are supported?

JSON, CSV, Excel, XML and RSS, either from the Output tab or through the Apify API.

Does the FanDuel scraper return same game parlay prices?

Not the combined price. Every row has isSgpEligible, and the same game parlay market group loads every market FanDuel allows in a parlay for a game, so you can see exactly which selections can be combined. The actor does not return a combined parlay price.

🔗 Relevant actors for FanDuel odds and sports betting data

ScraperDescription
🎰 DraftKings Sportsbook Odds & Player Props ScraperDraftKings odds, player props and parlays for NFL, NBA, MLB, NHL, UFC and soccer.
🏈 Action Network Odds & Public Betting ScraperSportsbook odds, public betting splits, opening lines and line movement.
📊 Covers.com Odds, Line History & Betting Trends ScraperOdds from many sportsbooks, line history and betting trends for major leagues.
📈 Kalshi Markets ScraperPrediction market prices, implied probability, spread and volume.
🏀 StatMuse Sports Stats ScraperNBA, NFL, MLB and NHL stats answers and player game logs from StatMuse.

🔗 Other actors you may find useful

ScraperDescription
🥾 AllTrails ScraperHiking, biking and running trails by park, city, state or coordinates.
📰 Google News AI ScraperGoogle News search with optional article text and AI summaries.
🎧 Spotify Monthly Listeners ScraperArtist monthly listeners, followers, top cities, top tracks and related artists.
🍷 Vivino Wine ScraperWine name, winery, vintage, region, country and ratings from Vivino.
🏠 Rightmove Property ScraperUK sale and rent listings from Rightmove with price, address and coordinates.

💬 Support & contact

If you encounter any issues or have questions, please open an issue. You can also find more of our actors on the Actor Flow page.