Bet365 Player Props API | NFL, MLB, NBA, NHL Over/Under avatar

Bet365 Player Props API | NFL, MLB, NBA, NHL Over/Under

Pricing

from $0.50 / 1,000 player props

Go to Apify Store
Bet365 Player Props API | NFL, MLB, NBA, NHL Over/Under

Bet365 Player Props API | NFL, MLB, NBA, NHL Over/Under

Every active Bet365 player prop as structured JSON. Over/under lines and anytime markets for NFL, MLB, NBA, NHL and more, with player recent-form and decimal/American/fractional odds. Field-aligned to the PrizePicks and Underdog actors for line comparison.

Pricing

from $0.50 / 1,000 player props

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Bet365 Player Props API | NFL, MLB, NBA, NHL Over/Under & Anytime Odds

Every live Bet365 player prop as structured JSON: 30+ leagues, thousands of lines, 3 odds formats.

Bet365 player props API: NFL, MLB, NBA, NHL, soccer, tennis, AFL, NRL and cricket over/under and anytime lines as structured JSON with decimal, American and fractional odds

Line-shop the book against DFS. Field names align to the PrizePicks and Underdog actors, so you can merge on player, stat, and line to see where Bet365 disagrees with the pick'em line.

What is the Bet365 Player Props API?

This actor turns Bet365's player-prop board into clean, one-row-per-prop JSON. It covers NFL, MLB, NBA, NHL player props plus soccer, tennis, AFL, NRL, and cricket.

Every over/under line, anytime market, and milestone threshold Bet365 is currently offering comes through: the player, the stat, the line, the odds in three formats, and player recent-form where the book publishes it.

No account and no scraping setup. Pick your leagues and run.

What data can you extract?

One row per prop. Over/under markets carry both sides; anytime markets carry a single price. Where the book prices several bet types on one market (First and Anytime touchdown scorer, 2 or More and 3 or More), each is its own row with its own bet_type, so nothing the book publishes is left out. Every field below appears in the dataset.

{
"player_name": "Drake Maye",
"player_team": "NE Patriots",
"stat": "Passing Yards",
"stat_display": "Passing Yards",
"market_type": "over_under",
"line": 226.5,
"over_decimal_odds": 1.909,
"over_american_odds": -110,
"over_fractional_odds": "10/11",
"under_decimal_odds": 1.909,
"under_american_odds": -110,
"under_fractional_odds": "10/11",
"milestone_threshold": null,
"is_alternate": false,
"last_5": null,
"league": "NFL",
"home_team": "NE Patriots",
"away_team": "SEA Seahawks",
"game_start": "2026-09-10T00:20:00+00:00",
"event_id": "68ae05fe4db3",
"book": "bet365",
"suspended": false,
"is_live": false,
"status": "active",
"updated_at": "2026-09-04T19:41:08+00:00"
}

Milestone market (single price + player recent form). 1+ home runs is the over/under market at 0.5, so it merges straight onto a DFS line; the book's own label stays in milestone_threshold:

{
"player_name": "José Ramírez",
"player_team": "CLE Guardians",
"stat": "Home Runs",
"market_type": "milestone",
"line": 0.5,
"milestone_threshold": 1,
"is_alternate": false,
"decimal_odds": 5.75,
"american_odds": 475,
"fractional_odds": "19/4",
"last_5": [1, 0, 1, 5, 2],
"league": "MLB",
"home_team": "DET Tigers",
"away_team": "CLE Guardians",
"book": "bet365",
"suspended": false,
"is_live": false,
"status": "active",
"updated_at": "2026-09-04T19:41:08+00:00"
}

Other-sports grid (AFL/NRL/cricket):

{
"player_name": "Caiden Cleary",
"market_name": "Disposals",
"bet_type": null,
"stat": "Disposals",
"market_type": "grid",
"line": null,
"decimal_odds": 1.08,
"american_odds": -1250,
"fractional_odds": "2/25",
"last_5": [18, 5, 17, 7, 19],
"league": "AFL",
"home_team": "Sydney Swans",
"away_team": "Brisbane Lions",
"book": "bet365"
}

Field reference

FieldDescription
player_namePlayer the prop is on
player_teamPlayer's team, where the book publishes it
stat / stat_displayClean stat name (Passing Yards, Home Runs, Points, Aces, Disposals…). A market the book splits by bet type carries it here too, so Anytime Touchdown Scorers and First Touchdown Scorers never collapse into one market when you join on it
market_nameThe book's own name for the market (Touchdown Scorers, Disposals)
bet_typeWhich side of a multi-bet market the row is, where the book offers several (First, Anytime, 2 or More). Null when the market has only one
market_typeover_under, milestone, single, or grid
lineThe over/under number. A milestone market is expressed the same way, so 1+ is 0.5 and 150+ is 149.5
milestone_thresholdThe book's own label for a milestone market (1, 2, 150), null elsewhere. Tennis included: 10+ aces is line: 9.5, milestone_threshold: 10
is_alternatetrue on the rungs above the lowest line of a ladder, which only appear when you ask for them
over_* / under_* oddsBoth sides of an over/under, in decimal, American, and fractional
decimal_odds / american_odds / fractional_oddsSingle-price odds for anytime and grid markets
last_5Player's last five results for the stat, where published
leagueClean league label (NFL, Premier League, US Open…)
home_team / away_teamThe matchup
game_startKickoff / first pitch in ISO-8601 UTC
event_idStable game identifier for joining rows
suspended / statusWhether the price is currently accepting bets or suspended
is_liveWhether the game's scheduled start time has passed. It does not turn off again when a game ends, so pair it with game_start if you need a finished-or-not answer
bookAlways bet365
updated_atWhen the row was captured

Supported leagues

US sports: NFL, MLB, NBA, NHL, NCAAF, NCAAB, WNBA.

Soccer: Premier League, La Liga, Bundesliga, Serie A, Ligue 1, MLS, Champions League, Europa League, Conference League, Championship, Eredivisie, Primeira Liga, Scottish Premiership, Saudi Pro League, Liga MX, Brazil Serie A, Greece Super League, J-League, Austria Bundesliga.

Tennis: ATP & WTA tour, men's and women's singles, Grand Slams through Masters/1000 events (Aces, Double Faults).

AFL: Australian Football League (Goalscorers, Disposals). NRL: National Rugby League (Tryscorers). Cricket: T20 and other formats (Batter Runs, Bowler Wickets, milestones).

Coverage follows the sports calendar: leagues out of season return no props. Not listed? Type any competition into Other leagues (free-text, e.g. KBO, IPL) and it works without waiting for an update. Set List available leagues only to see what's live right now.

Filters (you only pay for what you keep)

  • Leagues: pick from the list or choose All in-season.
  • Other leagues: free-text any competition not in the list.
  • Players: comma-separated, partial and accent-insensitive (Mahomes, Judge, Jose matches José).
  • Stat types: e.g. Passing Yards, Home Runs, Points.
  • Teams: matches either side of the matchup (Chiefs, Yankees).
  • Max games per league: cap to the next few games, or 0 for the full slate.
  • Include alternate lines: off by default, so each market returns its lowest line only, which on a milestone market (1+ home runs) is the headline one. Turn it on for the whole ladder (1+, 2+, 3+ home runs, 150 through 350 passing yards), which multiplies the rows and the cost by the ladder's depth. Those extra rows carry is_alternate: true.

Filtered-out props are never counted against your cost, and an empty run costs only the start fee.

Use cases

  • Line shopping vs DFS: merge with the PrizePicks / Underdog actors on player_name + stat + line to find where the book and the pick'em app disagree.
  • Prop model backtesting: pull the full board daily and store lines and last_5 form for your own projections.
  • Odds-movement tracking: schedule hourly runs and diff line / odds over time to catch steam and injury moves.
  • Best-price aggregation: combine with the Bet365 Odds, FanDuel, DraftKings, and BetMGM odds actors for a cross-book player-prop table.

Integrations & export

Every run writes a dataset you can export as JSON, CSV, or Excel, or pull through the Apify API. Send props straight into:

  • Google Sheets: auto-populate a prop-comparison sheet after each run.
  • Make / Zapier: trigger a scenario on new rows (e.g. alert when a player's line moves).
  • Webhooks: POST the dataset to your own model or database when a run finishes.
  • Slack / email: notify on runs that match your player or stat filters.

Scheduling

Player-prop lines move all day, so schedule recurring runs and diff the board over time (join rows on event_id + player_name + stat). No code needed, set it on the actor's Schedule tab.

CadenceBest for
Once each morningOpening-line snapshots, daily picks content
Every hour or two on game dayLine-movement tracking, model inputs
Every few minutesNear-real-time monitoring, alert bots

New to scheduling on Apify? This walkthrough covers it:

How much does it cost to scrape Bet365 player props?

Pay per prop: about $0.50 per 1,000 props ($0.0005 each), plus a small one-time start fee per run.

Filtered-out props and capped games are never charged, and a run that finds nothing costs only the start fee.

A single game runs under a dime; a couple of leagues, about a quarter; the whole in-season slate, under two dollars. See the Pricing tab for exact per-event rates.

Copy to your AI assistant

Paste this into ChatGPT, Claude, or Cursor to start building with the actor.

Apify actor zen-studio/bet365-player-props. Batch actor: returns Bet365 player props as one JSON row per prop (player_name, player_team, stat, market_type, line (milestone markets are expressed as the equivalent over/under line, 1+ = 0.5, with the book label in milestone_threshold), is_alternate, over_/under_ or single decimal/american/fractional odds, last_5 form, league, home_team, away_team, game_start (ISO-8601 UTC), event_id, book, suspended, is_live (game under way), status, updated_at). Input: leagues[] (NFL, MLB, NBA, NHL, NCAAF, NCAAB, WNBA, 19 soccer leagues, Tennis, AFL, NRL, Cricket, or "All"), extraLeagues (free-text CSV for any other competition), playerNames / statTypes / teams (CSV filters, partial + accent-insensitive), maxGamesPerLeague (int, 0=all), includeAlternateLines (bool, adds the alternate line ladder, off by default), listLeagues (bool, lists live leagues then stops). Run via API: POST https://api.apify.com/v2/acts/zen-studio~bet365-player-props/runs?token=APIFY_TOKEN with the JSON input, then read the run's default dataset. Full input schema + output fields + README: https://api.apify.com/v2/acts/zen-studio~bet365-player-props/builds/default. Field-aligned to zen-studio/prizepicks-player-props and zen-studio/underdog-player-props for line comparison (merge on player_name + stat + line).

FAQ

Does Bet365 have a player props API? Bet365 doesn't offer a public API for player props. This actor is the practical alternative: it delivers the same live over/under and anytime lines as clean JSON you can pull on a schedule or through the Apify API, with no Bet365 account to manage.

How do I get Bet365 player props as data? Pick your leagues (or All in-season), optionally add player/stat/team filters, and run. You get one JSON row per prop, ready to export to CSV/Excel or pull via the API. No Bet365 account and no scraping setup required.

Which sports and leagues are covered? NFL, MLB, NBA, NHL, NCAAF, NCAAB, WNBA, 19 global soccer leagues, ATP/WTA tennis, AFL, NRL, and cricket. Anything else is reachable through the free-text Other leagues field. Coverage tracks the sports calendar.

What odds formats are included? Decimal, American, and fractional: all three on every prop. No conversion or extra calls needed.

Can I compare Bet365 props to PrizePicks or Underdog? Yes. Field names are aligned to the PrizePicks and Underdog actors. Merge on player_name + stat + line to line-shop the sportsbook price against the DFS pick.

What's a prop line versus an anytime market? Over/under markets (Passing Yards, Points, Total Bases) carry a line and both over_* and under_* odds. Anytime markets (Touchdown Scorers, Home Runs, Goalscorers) carry a single price and no line. Both come through in the same run.

How often do the lines update? Bet365 moves lines continuously, especially close to kickoff. Schedule runs every hour or two on game day for a fresh board; each row's updated_at tells you when it was captured.

Do you provide historical lines? No. Each run captures the board as it stands right now. Schedule recurring runs and keep the datasets to build your own history.

Is this affiliated with Bet365? No. This actor delivers publicly available betting-market information for research and analytics. It is not affiliated with or endorsed by Bet365.

Support

Want a league or stat that isn't covered yet, or hit something odd? Open a ticket on the Issues tab of the actor page. Need a tailored feed or a higher-volume plan? Reach out through the actor page and we'll help.

Delivers publicly available betting-market information for research and analytics. Not affiliated with or endorsed by Bet365. Comply with the laws and terms applicable in your jurisdiction, and confirm sports-betting data use is permitted where you operate.


Bet365 player props as structured JSON. NFL, MLB, NBA, NHL, soccer, tennis, AFL, NRL, and cricket. Over/under and anytime odds in decimal, American, and fractional, one row per prop.

More Zen Studio scrapers for sports betting

🏟️ Sportsbook odds

🎯 Daily fantasy & player props