FanDuel Odds, Player Props & Same Game Parlay Scraper
Pricing
from $0.20 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Security
Limited permissionsShare
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.

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
- Sign up for a free Apify account — includes $5 monthly credit.
- Open the actor page and click Try for free.
- Keep the prefilled NFL URL or paste any FanDuel league, sport or game URL, then pick the market groups you need.
- Click Start and wait for the run to complete.
- 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 league, sport or event URLs — league, sport or game pages to scrape
- Max events — games per start URL
- Market groups — what to scrape (main lines, alternate lines, player props, game props, same game parlay, futures)
- Leagues — NFL, NBA, NHL, MLB pages in addition to the start URLs
- Sports — whole sport pages
- Prop types — keyword filter for props
- Include live (in-play) games — also return games already started
- Odds format — American, decimal or both
- Snapshot name — compare odds with the previous run
| # | Field | Type | Required | Default | Description |
|---|---|---|---|---|---|
| 1 | FanDuel 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. |
| 2 | Max events (maxItems) | integer | — | 5 | Games per start URL (futures events counted separately). Each game returns all its selections. |
| 3 | Market groups (marketGroups) | array | — | main lines | main, alternate_lines, props, game_props, sgp (same game parlay eligible markets), futures. |
| 4 | Leagues (leagues) | array | — | — | NFL, NBA, NHL, MLB pages in addition to the start URLs. |
| 5 | Sports (sports) | array | — | — | Whole sport pages: football, basketball, baseball, hockey, soccer, tennis, golf, cricket, rugby union, snooker, MMA. |
| 6 | Prop types (propTypes) | array | — | all props | Keep props containing these words, e.g. passing yds, points. |
| 7 | Include live games (includeLive) | boolean | — | false | Also return games already in play. |
| 8 | Odds format (oddsFormat) | string | — | american | american, decimal or both. |
| 9 | Snapshot name (snapshotName) | string | — | — | Same name on each run adds changeSinceLastRun (new, changed, unchanged). Rows are never skipped. |
| — | Proxy configuration (proxyConfiguration) | object | — | Apify Proxy, country US | FanDuel 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,/mmaand 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:
| Game | Market | Selection | Line | American | Decimal | SGP |
|---|---|---|---|---|---|---|
| Houston Texans @ Jacksonville Jaguars | Moneyline | Houston Texans | — | +120 | 2.2 | yes |
| Baltimore Ravens @ Cleveland Browns | Total Points | Over | 39.5 | -105 | 1.952 | yes |
| Houston Texans @ Jacksonville Jaguars | C.J. Stroud - Passing Yds | C.J. Stroud Over | 256.5 | -113 | 1.885 | yes |
| Houston Texans @ Jacksonville Jaguars | C.J. Stroud - Passing Yds | C.J. Stroud Under | 256.5 | -113 | 1.885 | yes |
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 ApifyClientclient = 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
| Scraper | Description |
|---|---|
| 🎰 DraftKings Sportsbook Odds & Player Props Scraper | DraftKings odds, player props and parlays for NFL, NBA, MLB, NHL, UFC and soccer. |
| 🏈 Action Network Odds & Public Betting Scraper | Sportsbook odds, public betting splits, opening lines and line movement. |
| 📊 Covers.com Odds, Line History & Betting Trends Scraper | Odds from many sportsbooks, line history and betting trends for major leagues. |
| 📈 Kalshi Markets Scraper | Prediction market prices, implied probability, spread and volume. |
| 🏀 StatMuse Sports Stats Scraper | NBA, NFL, MLB and NHL stats answers and player game logs from StatMuse. |
🔗 Other actors you may find useful
| Scraper | Description |
|---|---|
| 🥾 AllTrails Scraper | Hiking, biking and running trails by park, city, state or coordinates. |
| 📰 Google News AI Scraper | Google News search with optional article text and AI summaries. |
| 🎧 Spotify Monthly Listeners Scraper | Artist monthly listeners, followers, top cities, top tracks and related artists. |
| 🍷 Vivino Wine Scraper | Wine name, winery, vintage, region, country and ratings from Vivino. |
| 🏠 Rightmove Property Scraper | UK 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.