Odds API · Docs
Recipes.
Scanners, not CRUD examples. Every recipe is a single URL you send with your API key. Placeholders in braces — {event_id}, {player}, {today}, {book} — swap in your own.
Line shopping — best price per prop
Best Over price for exact prop
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=eq.Over
&point=eq.28.5
&order=price_american.desc
&limit=1Best Under price for exact prop
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=eq.Under
&point=eq.28.5
&order=price_american.desc
&limit=1Best prices at customer's available books only
https://odds.wagerwise.win/current_odds ?bookmaker_key=in.(draftkings,fanduel,betmgm,caesars) &market_type=eq.player_prop &outcome_name=eq.Over &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc,price_american.desc
All direct links for one exact bet
https://odds.wagerwise.win/current_odds
?select=bookmaker_key,bookmaker_title,price_american,price_decimal,link
&event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=eq.Over
&point=eq.28.5
&order=price_american.descBest line per prop across the whole slate
https://odds.wagerwise.win/current_odds ?distinct=sport_key,event_id,market_key,outcome_description,outcome_name,point &market_type=eq.player_prop &order=sport_key.asc,event_id.asc,market_key.asc,outcome_description.asc,outcome_name.asc,point.asc,price_american.desc
Worst line per prop (shows cost of wrong book)
https://odds.wagerwise.win/current_odds ?distinct=sport_key,event_id,market_key,outcome_description,outcome_name,point &market_type=eq.player_prop &order=sport_key.asc,event_id.asc,market_key.asc,outcome_description.asc,outcome_name.asc,point.asc,price_american.asc
Best clickable props only
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &link=is.not_null &order=price_american.desc
Juice filters — abs_* for sign-agnostic price bands
Near pick'em prices — |price| ≤ 110
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &price_american=abs_lte.110 &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc
Reduced-juice props — |price| ≤ 105
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &price_american=abs_lte.105 &order=price_american.desc
Big favorite moneylines — |price| ≥ 250
https://odds.wagerwise.win/current_odds ?market_key=eq.h2h &price_american=abs_gte.250 &order=price_american.asc
Heavy-juice alt lines to avoid — |price| ≥ 400
https://odds.wagerwise.win/current_odds ?market_key=ilike.*alternate* &price_american=abs_gte.400
Big spread lines only — |spread| ≥ 7
https://odds.wagerwise.win/current_odds ?market_key=eq.spreads &point=abs_gte.7 &order=event_id.asc,point.desc
Tight totals — line within 2 of 220
https://odds.wagerwise.win/current_odds ?market_key=eq.totals &point=between.(218,222) &order=point.asc,price_american.desc
Arb candidates
Over/Under candidate set for one prop
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=in.(Over,Under)
&order=outcome_name.asc,price_decimal.descPlus-money two-sided arb prefilter
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_name=in.(Over,Under)
&price_american=gt.100
&order=price_american.descLow-hold candidate screen (both sides |juice| ≤ 115)
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_name=in.(Over,Under)
&price_american=abs_lte.115
&order=outcome_description.asc,point.asc,price_decimal.descAll Over/Under pairs for arb client scan
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_type=eq.player_prop
&outcome_name=in.(Over,Under)
&price_american=abs_lte.125
&order=market_key.asc,outcome_description.asc,point.asc,outcome_name.asc,price_decimal.descArb basket for entire event, minimal payload
https://odds.wagerwise.win/current_odds
?select=event_id,bookmaker_key,market_key,outcome_name,outcome_description,point,price_american,price_decimal,link
&event_id=eq.{event_id}
&market_type=eq.player_prop
&outcome_name=in.(Over,Under)
&price_american=abs_lte.125
&order=market_key.asc,outcome_description.asc,point.asc,price_decimal.descMiddles
Points middle builder — low Over lines
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_name=eq.Over
&point=lte.24.5
&order=outcome_description.asc,point.asc,price_american.descPoints middle builder — high Under lines
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_name=eq.Under
&point=gte.26.5
&order=outcome_description.asc,point.desc,price_american.descMiddleable alt lines only
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_type=eq.player_prop
&market_key=ilike.*alternate*
&outcome_name=in.(Over,Under)
&order=outcome_description.asc,market_key.asc,point.ascHalf-point lines only (2+ point middle windows)
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &point=not.mod.(1,0) &order=outcome_description.asc,market_key.asc,point.asc
Consensus & outliers
Off-consensus point screen
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&point=isdistinct.28.5
&order=point.asc,price_american.descPrice spread per prop (max − min reveals dispersion)
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,outcome_name,point,min:price_american.min(),max:price_american.max(),count() &market_type=eq.player_prop &having=count().gte.3 &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc
Point disagreement feed
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_type=eq.player_prop
&order=market_key.asc,outcome_description.asc,outcome_name.asc,point.ascNear pick'em prop prices
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &price_american=abs_lte.115 &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc,price_american.desc
Same player, same point, all books
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_type=eq.player_prop
&outcome_description=eq.{player}
&point=eq.{point}
&outcome_name=in.(Over,Under)
&order=market_key.asc,outcome_name.asc,price_decimal.descDe-vig & no-vig
Both sides of one prop across all books (raw input to de-vig math)
https://odds.wagerwise.win/current_odds
?select=bookmaker_key,outcome_name,point,price_american,price_decimal
&event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&point=eq.28.5
&outcome_name=in.(Over,Under)
&order=bookmaker_key.asc,outcome_name.ascSharp books only as fair-value anchors
https://odds.wagerwise.win/current_odds ?bookmaker_key=in.(pinnacle,circa,betcris,bookmaker) &market_type=eq.player_prop &outcome_name=in.(Over,Under) &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc,outcome_name.asc
Two-way markets only, minimal hold shape
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,bookmaker_key,outcome_name,price_decimal &market_type=eq.player_prop &outcome_name=in.(Over,Under) &price_american=abs_lte.130 &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc,bookmaker_key.asc,outcome_name.asc
Market width per book (tight = low vig)
https://odds.wagerwise.win/current_odds ?select=bookmaker_key,market_key,min:price_decimal.min(),max:price_decimal.max(),avg:price_decimal.avg(),count() &market_type=eq.player_prop &outcome_name=in.(Over,Under) &having=count().gte.20 &order=bookmaker_key.asc,market_key.asc
Alt-line ladders
Full alt-line ladder for one player
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&outcome_description=eq.{player}
&market_key=eq.player_points
&order=outcome_name.asc,point.asc,price_decimal.descBooks offering alt lines for one player
https://odds.wagerwise.win/current_odds
?distinct=bookmaker_key
&event_id=eq.{event_id}
&outcome_description=eq.{player}
&market_key=ilike.*alternate*
&order=bookmaker_key.ascPlus-money alt Overs
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &market_key=ilike.*alternate* &outcome_name=eq.Over &price_american=gt.100 &order=price_american.desc
Plus-money alt Unders
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &market_key=ilike.*alternate* &outcome_name=eq.Under &price_american=gt.100 &order=price_american.desc
Alt ladder band for parlay shopping — +150 to +400 only
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &market_key=ilike.*alternate* &price_american=between.(150,400) &order=outcome_description.asc,price_american.asc
Player-centric
Every market for one player tonight
https://odds.wagerwise.win/current_odds ?outcome_description=ilike.*tatum* &market_type=eq.player_prop &order=event_id.asc,market_key.asc,point.asc,price_american.desc
Best price for every player prop
https://odds.wagerwise.win/current_odds ?distinct=event_id,market_key,outcome_name,point &outcome_description=ilike.*tatum* &market_type=eq.player_prop &order=event_id.asc,market_key.asc,outcome_name.asc,point.asc,price_american.desc
Player prop menu by sport
https://odds.wagerwise.win/current_odds ?distinct=outcome_description,market_key &market_type=eq.player_prop &sport_key=eq.basketball_nba &order=outcome_description.asc,market_key.asc
Player with last-name prefix (fast search autocomplete)
https://odds.wagerwise.win/current_odds ?outcome_description=istarts.jay &market_type=eq.player_prop &distinct=outcome_description &order=outcome_description.asc
Two-token search — first and last substring both present
https://odds.wagerwise.win/current_odds ?outcome_description=contains_all.(luka,doncic) &market_type=eq.player_prop &order=event_id.asc
Movement & CLV
Last 50 snapshots for one prop
https://odds.wagerwise.win/odds_snapshots
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_desc=eq.{player}
&outcome_name=eq.Over
&point=eq.28.5
&order=fetched_at.desc
&limit=50Opening price for a prop
https://odds.wagerwise.win/odds_snapshots
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_desc=eq.{player}
&outcome_name=eq.Over
&point=eq.28.5
&order=fetched_at.asc
&limit=1Movement window — last 30 min (relative time, no wall clock)
https://odds.wagerwise.win/odds_snapshots
?event_id=eq.{event_id}
&market_type=eq.player_prop
&fetched_at=within.30m
&order=market_key.asc,outcome_desc.asc,point.asc,fetched_at.ascSteam window — last 5 min, plus-money moves only
https://odds.wagerwise.win/odds_snapshots ?fetched_at=within.5m &price_american=gt.100 &market_type=eq.player_prop &order=event_id.asc,market_key.asc,outcome_desc.asc,point.asc,fetched_at.asc
Pre-kickoff last hour only
https://odds.wagerwise.win/odds_snapshots ?fetched_at=within.1h &market_type=eq.game &order=event_id.asc,market_key.asc,bookmaker_key.asc,fetched_at.asc
Stale current_odds — reprice lag ≥ 5 min
https://odds.wagerwise.win/current_odds ?fetched_at=age_gte.5m &market_type=eq.player_prop &order=fetched_at.asc
Fresh-only snapshot pull — last 60 sec
https://odds.wagerwise.win/odds_snapshots ?fetched_at=within.60s &order=fetched_at.desc
Slate builders
Tonight's prop board with event context
https://odds.wagerwise.win/current_odds
?select=*,events!inner(home_team,away_team,commence_time,status)
&events.commence_time=gte.{today}
&events.commence_time=lt.{tomorrow}
&market_type=eq.player_prop
&order=events(commence_time).asc,market_key.asc,outcome_description.ascPregame only via inner embed
https://odds.wagerwise.win/current_odds ?select=*,events!inner(status,commence_time) &events.status=eq.pregame &market_type=eq.player_prop &order=events(commence_time).asc
Next 3 hours only — live-adjacent board
https://odds.wagerwise.win/events ?select=id,home_team,away_team,commence_time,current_odds(bookmaker_key,market_key,outcome_name,outcome_description,point,price_american,link) &status=eq.pregame &commence_time=within.3h &order=commence_time.asc
Single event odds board nested under event
https://odds.wagerwise.win/events
?select=id,home_team,away_team,commence_time,current_odds(bookmaker_key,market_key,outcome_name,outcome_description,point,price_american,link,order=market_key.asc)
&id=eq.{event_id}Top plus-money player props tonight
https://odds.wagerwise.win/current_odds
?select=*,events!inner(home_team,away_team,commence_time)
&events.commence_time=gte.{today}
&events.commence_time=lt.{tomorrow}
&market_type=eq.player_prop
&price_american=gt.100
&order=price_american.desc
&limit=100Game lines
Game lines with event context
https://odds.wagerwise.win/current_odds
?select=*,events!inner(home_team,away_team,commence_time)
&market_type=eq.game
&events.commence_time=gte.{today}
&events.commence_time=lt.{tomorrow}
&order=events(commence_time).asc,market_key.asc,price_american.descMain lines only
https://odds.wagerwise.win/current_odds ?market_key=in.(h2h,spreads,totals) &order=sport_key.asc,event_id.asc,market_key.asc,bookmaker_key.asc
Plus-money moneylines
https://odds.wagerwise.win/current_odds ?market_key=eq.h2h &price_american=gt.100 &order=price_american.desc
Big-favorite moneylines — |price| ≥ 200
https://odds.wagerwise.win/current_odds ?market_key=eq.h2h &price_american=abs_gte.200 &price_american=lt.0 &order=price_american.asc
Tight spread prices — |juice| ≤ 115
https://odds.wagerwise.win/current_odds ?market_key=eq.spreads &price_american=abs_lte.115 &order=event_id.asc,point.asc,price_american.desc
Total lines by book for one event
https://odds.wagerwise.win/current_odds
?market_key=eq.totals
&event_id=eq.{event_id}
&order=point.asc,outcome_name.asc,price_american.descKey-number spreads — 3 or 7 exactly
https://odds.wagerwise.win/current_odds ?market_key=eq.spreads &point=in.(-3,3,-7,7) &order=event_id.asc,point.asc,price_american.desc
Coverage & discovery
Books carrying a market
https://odds.wagerwise.win/current_odds ?distinct=bookmaker_key &market_key=eq.player_points &sport_key=eq.basketball_nba &order=bookmaker_key.asc
Book coverage for one player's props
https://odds.wagerwise.win/current_odds
?distinct=bookmaker_key
&outcome_description=eq.{player}
&event_id=eq.{event_id}
&order=bookmaker_key.ascMarkets a specific book supports
https://odds.wagerwise.win/market_catalog ?bookmaker_key=eq.caesars &sport_key=eq.basketball_nba &market_type=eq.player_prop &order=market_key.asc
Books that carry NBA props
https://odds.wagerwise.win/market_catalog ?distinct=bookmaker_key &sport_key=eq.basketball_nba &market_type=eq.player_prop &order=bookmaker_key.asc
Market discovery for customer UI
https://odds.wagerwise.win/market_catalog ?sport_key=eq.basketball_nba &market_type=eq.player_prop &distinct=market_key &order=market_key.asc
Books with props plus game lines
https://odds.wagerwise.win/market_catalog ?bookmaker_key=in.(draftkings,fanduel,betmgm,caesars) &market_type=in.(player_prop,game) &sport_key=eq.basketball_nba &order=bookmaker_key.asc,market_type.asc,market_key.asc
Most liquid markets
https://odds.wagerwise.win/current_odds ?select=market_key,count() &market_type=eq.player_prop &having=count().gte.50
Players with the most available props
https://odds.wagerwise.win/current_odds ?select=outcome_description,count() &market_type=eq.player_prop &having=count().gte.20
Events with deep prop menus
https://odds.wagerwise.win/current_odds ?select=event_id,count() &market_type=eq.player_prop &having=count().gte.100
Average juice per book (sharpness proxy)
https://odds.wagerwise.win/current_odds ?select=bookmaker_key,avg:price_decimal.avg(),count() &market_type=eq.player_prop &outcome_name=in.(Over,Under) &having=count().gte.100 &order=bookmaker_key.asc
Bet-ticket builders (SGP / parlay inputs)
One player, full two-sided menu (for correlated-SGP picker)
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&outcome_description=eq.{player}
&market_type=eq.player_prop
&outcome_name=in.(Over,Under)
&order=market_key.asc,point.asc,outcome_name.asc,price_american.descMulti-player basket — same book, same event
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&bookmaker_key=eq.{book}
&outcome_description=in.({player_a},{player_b},{player_c})
&market_type=eq.player_prop
&outcome_name=eq.Over
&order=outcome_description.asc,market_key.asc,point.ascSame-game parlay legs shortlist — plus-money alt Overs at one book
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&bookmaker_key=eq.{book}
&market_key=ilike.*alternate*
&outcome_name=eq.Over
&price_american=between.(120,500)
&order=outcome_description.asc,price_american.ascCross-book parlay — best price on each leg
https://odds.wagerwise.win/current_odds
?distinct=event_id,market_key,outcome_description,outcome_name,point
&event_id=in.({evt_a},{evt_b},{evt_c})
&outcome_description=in.({player_a},{player_b},{player_c})
&outcome_name=eq.Over
&market_type=eq.player_prop
&order=event_id.asc,market_key.asc,outcome_description.asc,point.asc,price_american.descHeuristic screens
Low-vig two-way markets — both sides |juice| ≤ 108
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &outcome_name=in.(Over,Under) &price_american=abs_lte.108 &order=event_id.asc,market_key.asc,outcome_description.asc,point.asc
Plus-money props at sharp books (best fair-value candidates)
https://odds.wagerwise.win/current_odds ?bookmaker_key=in.(pinnacle,circa,betcris,bookmaker) &market_type=eq.player_prop &price_american=gt.100 &order=price_american.desc
Plus-money props NOT at sharp books (likely stale soft lines)
https://odds.wagerwise.win/current_odds ?bookmaker_key=not.in.(pinnacle,circa,betcris,bookmaker) &market_type=eq.player_prop &price_american=gt.120 &order=price_american.desc
Deep alt-line ladders only (6+ rungs = real liquidity)
https://odds.wagerwise.win/current_odds ?select=event_id,outcome_description,market_key,count() &market_key=ilike.*alternate* &having=count().gte.6 &order=count.desc
Freshness + price combo — last 30 sec, near pick'em
https://odds.wagerwise.win/current_odds ?fetched_at=within.30s &price_american=abs_lte.115 &market_type=eq.player_prop &order=fetched_at.desc
Futures (season-long markets)
All futures markets for a sport
https://odds.wagerwise.win/futures_markets ?sport_key=eq.basketball_nba &order=market_key.asc
Championship winner odds across books
https://odds.wagerwise.win/futures_outcomes ?select=*,futures_markets!inner(sport_key,season,market_key) &futures_markets.sport_key=eq.basketball_nba &futures_markets.market_key=eq.championship_winner &order=outcome_name.asc,price_american.desc
Best MVP price per candidate
https://odds.wagerwise.win/futures_outcomes ?select=outcome_name,bookmaker_key,price_american,price_decimal,link,futures_markets!inner(sport_key,season,market_key) &futures_markets.sport_key=eq.basketball_nba &futures_markets.market_key=eq.mvp &distinct=outcome_name &order=outcome_name.asc,price_american.desc
Plus-money longshot futures across all markets
https://odds.wagerwise.win/futures_outcomes ?price_american=gt.1000 &order=price_american.desc &limit=50
Futures price band — +300 to +800 only
https://odds.wagerwise.win/futures_outcomes ?price_american=between.(300,800) &order=outcome_name.asc,price_american.asc
Coverage by region
Which bookmakers serve a region
https://odds.wagerwise.win/bookmaker_regions ?region=eq.us &order=bookmaker_key.asc
Statistics — distribution & variance
Median + stddev of Over prices per prop
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,med:price_decimal.median(),sd:price_decimal.stddev(),n:count() &market_type=eq.player_prop &outcome_name=eq.Over &having=count().gte.5
99th-percentile price per market (tail detector)
https://odds.wagerwise.win/current_odds ?select=market_key,p99:price_decimal.percentile(0.99),p50:price_decimal.percentile(0.5) &market_type=eq.player_prop
Price quartiles per prop
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,outcome_name,p25:price_decimal.percentile(0.25),p50:price_decimal.percentile(0.5),p75:price_decimal.percentile(0.75) &market_type=eq.player_prop
Mode — most common line per prop
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,outcome_name,line:point.mode() &market_type=eq.player_prop
Book coverage — unique bookmakers per prop
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,books:bookmaker_key.count_distinct() &market_type=eq.player_prop &having=count_distinct(bookmaker_key).gte.5 &order=count_distinct(bookmaker_key).desc
Liquid props — ≥ 50 quotes, low price variance
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,n:count(),sd:price_decimal.stddev() &market_type=eq.player_prop &having=count().gte.50 &order=stddev(price_decimal).asc
FILTER — avg plus-money Over price per prop
https://odds.wagerwise.win/current_odds ?select=event_id,market_key,outcome_description,point,plus_avg:price_decimal.avg(filter:outcome_name.eq.Over,price_american.gt.100),n:count() &market_type=eq.player_prop
Correlation — price vs bet_limit per market
https://odds.wagerwise.win/current_odds ?select=market_key,corr:corr(price_decimal,bet_limit),n:count() &bet_limit=is.not_null &having=count().gte.30 &order=corr(price_decimal,bet_limit).asc
Regression slope — price vs minutes to start
https://odds.wagerwise.win/current_odds ?select=market_key,slope:regr_slope(price_decimal,mins_to_start),r2:regr_r2(price_decimal,mins_to_start),n:regr_count(price_decimal,mins_to_start) &having=regr_count(price_decimal,mins_to_start).gte.30
Window / partition filters
Best-3 prices per Over/Under per prop
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,outcome_name,point &order=price_american.desc &rank_lte=3
Top-price-only per prop (best book per line)
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,outcome_name,point &order=price_american.desc &rank_lte=1
Props with ≥ 5 books quoting AND price in top decile
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,point &order=price_american.desc &group_count_gte=5 &percentile_gte=0.9
Price outliers — ≥ 2σ from partition mean
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,outcome_name,point &outlier=2 &outlier_col=price_decimal
Only props where ≥ 3 books quote
https://odds.wagerwise.win/current_odds ?market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,outcome_name,point &group_count_gte=3
Line movement — price diff from previous snapshot
https://odds.wagerwise.win/odds_snapshots
?select=fetched_at,bookmaker_key,price_decimal,delta:price_decimal.diff(1)
&event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=eq.Over
&partition_by=bookmaker_key,point
&order=fetched_at.ascPercent change per snapshot
https://odds.wagerwise.win/odds_snapshots
?select=fetched_at,bookmaker_key,price_decimal,pct:price_decimal.pct_change()
&event_id=eq.{event_id}
&market_key=eq.player_points
&partition_by=bookmaker_key,outcome_description,outcome_name,point
&order=fetched_at.ascRolling 5-snapshot price average (smoothed movement)
https://odds.wagerwise.win/odds_snapshots
?select=fetched_at,bookmaker_key,price_decimal,sma:price_decimal.rolling_mean(5)
&event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_name=eq.Over
&partition_by=bookmaker_key,outcome_description,point
&order=fetched_at.ascPrice z-score per prop (outlier hunt)
https://odds.wagerwise.win/current_odds ?select=event_id,bookmaker_key,market_key,outcome_description,point,outcome_name,price_decimal,z:price_decimal.zscore() &market_type=eq.player_prop &partition_by=event_id,market_key,outcome_description,point,outcome_name
row_number — order quotes by time per book
https://odds.wagerwise.win/odds_snapshots
?select=fetched_at,bookmaker_key,price_decimal,n:price_decimal.row_number()
&event_id=eq.{event_id}
&market_key=eq.player_points
&partition_by=bookmaker_key,outcome_description,point,outcome_name
&order=fetched_at.ascGrouping sets — multi-level aggregates in one pass
Rollup — book × market with subtotals
https://odds.wagerwise.win/current_odds ?select=bookmaker_key,market_key,n:count(),avg:price_decimal.avg() &market_type=eq.player_prop &grouping=rollup
Cube — all combinations of sport × market × book
https://odds.wagerwise.win/current_odds ?select=sport_key,market_key,bookmaker_key,n:count() &grouping=cube
Explicit grouping sets — book totals + market totals + grand total
https://odds.wagerwise.win/current_odds ?select=bookmaker_key,market_key,n:count(),avg:price_decimal.avg() &market_type=eq.player_prop &grouping=sets:(bookmaker_key,market_key),(bookmaker_key),(market_key),()
Export & output
CSV export — tonight's prop slate
https://odds.wagerwise.win/current_odds
?select=event_id,bookmaker_key,market_key,outcome_name,outcome_description,point,price_american,link,events!inner(home_team,away_team,commence_time)
&events.commence_time=gte.{today}
&events.commence_time=lt.{tomorrow}
&market_type=eq.player_prop
&order=events(commence_time).asc,outcome_description.asc
Accept: text/csvSingle best bet row as object
https://odds.wagerwise.win/current_odds
?event_id=eq.{event_id}
&market_key=eq.player_points
&outcome_description=eq.{player}
&outcome_name=eq.Over
&point=eq.28.5
&order=price_american.desc
&limit=1
Accept: application/vnd.pgrst.object+jsonPaginated bulk pull
https://odds.wagerwise.win/current_odds?sport_key=eq.basketball_nba Range: 0-999 Prefer: count=exact