Daily NBA and NFL player props brief in Notion

Every morning, get a Notion page that compares player prop lines across sportsbooks and flags where the books disagree, so you can shop the best number before lock.

Agentic Task
The Odds APINotionPersonal ProductivityOperationsDaily DigestsAI ReportsResearch & Monitoring

Build me a daily NBA and NFL player props research brief that publishes to Notion every morning.

Trigger: cron, every day at 11:00am in my local time zone.

Each run, do the following:

1) Use The Odds API "List Events" to fetch upcoming events for sport keys basketball_nba and americanfootball_nfl that start in the next 24 hours. "List Events" costs no quota, so use it first to get the event IDs and only pay credits for events that are actually upcoming.

2) For each event returned, call The Odds API "Get Event Odds" with regions=us,us2 and the relevant player prop markets:

NBA markets: player_points, player_rebounds, player_assists, player_threes.

NFL markets: player_pass_yds, player_rush_yds, player_receptions, player_anytime_td.

Use oddsFormat=american. Be deliberate about credit cost: player props are the highest-credit-cost markets the API offers (cost scales with regions x markets x events), so do not fan out to extra markets or regions unless I ask. If The Odds API returns a 429 with EXCEEDED_FREQ_LIMIT, back off and retry; if it returns OUT_OF_USAGE_CREDITS, stop and surface that in the Notion page rather than silently failing.

3) For each prop (player + market + line), find:

- the best over price across all bookmakers (highest American odds for Over),

- the best under price across all bookmakers (highest American odds for Under),

- the no-vig fair price implied by each individual book, and the spread between the highest and lowest book on that prop.

Skip any prop where fewer than two bookmakers offer a line — there is nothing to compare. Flag a prop as "meaningful disagreement" when the no-vig fair lines between books differ by more than a configurable threshold (default: roughly 3 cents of no-vig probability, or whatever you judge to be a sharp gap given the market). For flagged props, write a one or two sentence take on what the spread between books suggests (e.g. one book is slow to react to news, or there is a real difference of opinion on the player).

4) Publish the results as one new Notion page using "Create a Page" into a Notion database that I will configure (ask me for the database ID during setup). Title the page "Player Props Brief — {YYYY-MM-DD}" in my local time zone. Inside the page, structure the content as:

- A short header summarizing how many games were covered, how many props passed the two-book minimum, and how many were flagged for disagreement.

- One H2 section per game, formatted as "Away @ Home — start time in my local time zone".

- Inside each game section, one table per market (Points, Rebounds, Assists, Threes for NBA; Pass Yards, Rush Yards, Receptions, Anytime TD for NFL). Each table row is one player with columns: Player, Line, Best Over (price + book), Best Under (price + book), Book Spread, Flag.

- Below each game section, a callout block listing the flagged props with the one or two sentence take.

Use Notion's standard block types (heading_2, table, callout, paragraph). Keep formatting clean and scannable — this is a research doc I will read on my phone before lines lock.

5) If on a given day there are no upcoming NBA or NFL games in the next 24 hours (off-season, all-star break, etc.), still create the daily Notion page but with a single short paragraph saying so. Do not silently skip the run.

During setup, ask me for: the Notion database ID where pages should land, my time zone, and whether I want to narrow the bookmaker list (otherwise use every US book The Odds API returns for the us and us2 regions).

Additional information

What does this prompt do?
  • Each morning, pulls the NBA and NFL games starting in the next 24 hours and gathers player prop lines from US sportsbooks.
  • Covers the markets bettors actually shop: NBA points, rebounds, assists, threes, and NFL pass yards, rush yards, receptions, and anytime touchdown.
  • Finds the best over price and the best under price for each prop, then highlights props where the books disagree enough to be worth a second look.
  • Publishes one tidy Notion page per day with a section for every game and a clean table of props, so you can scan and decide before lines move.
What do I need to use this?
  • A subscription to The Odds API with enough monthly credits to cover player prop markets (these are the highest-cost markets, so a paid plan is recommended).
  • A Notion workspace with a database where the daily brief should land, shared with your Notion connection.
  • Your local time zone so the brief lands when you actually want to read it.
How can I customize it?
  • Change the delivery time or run it twice a day if you like a midday refresh closer to tip-off and kickoff.
  • Add or drop markets: keep it tight with just points and pass yards, or expand to threes, rebounds, receptions, and anytime touchdowns.
  • Narrow the books to just the ones you have accounts with, or open it up to every US sportsbook for the widest price shop.
  • Adjust how aggressive the disagreement flag is, so only the sharpest gaps between books get called out.

Frequently asked questions

Does this place bets for me?
No. This brief is research only. It shows you the best prices and where books disagree, and you decide what to do with that information on your own sportsbook accounts.
Which sportsbooks does it compare?
It pulls from the US bookmakers that The Odds API covers, including major names like DraftKings, FanDuel, BetMGM, Caesars, and BetRivers. You can narrow the list to just the books you use.
Why player props specifically?
Player prop markets tend to have the widest disagreement between books, which is where price shopping pays off the most. A daily brief makes it realistic to actually scan that disagreement before lines settle.
What if a prop only has one book offering a line?
It gets skipped. The whole point is comparing across books, so the brief only includes props with at least two sportsbooks posting a line.
Can I run this for the NHL, MLB, or college games too?
Yes. The same setup works for any sport The Odds API supports. Just tell the agent which leagues and markets to include when you set it up.

Stop tab-hopping between sportsbooks every morning.

Connect The Odds API and Notion once, and Geni delivers a clean player props brief to your workspace every day at 11am.