Get Pick of the Day
Returns the published picks for the current product day. Pro tier.
picks holds up to six ranked picks. Each pick carries the backed side, the pre-game price, the $100 return, the sharp-money holders, the grade, and a thesis. The price is frozen before kickoff. A prior day’s pick never appears here; read the archive for it.
scheduled_picks lists same-day slots that are selected but not released yet. Each slot exposes only pick_rank, release_at, and kickoff.
When no pick is published for the current product day, the endpoint returns 404 with error.code="not_found" and error.reason="pick_not_released". Branch on the reason; the code is frozen. The 404 is a schedule, not an outage.
Do not poll. Read Retry-After or error.retry_at and schedule one request for that instant. The 404 response below says how the instant is chosen.
Read the picks
picksis ordered bypick_rank. A thin day returns fewer picks, never filler.backed_priceandreturn_per_100are frozen before kickoff.game_startedistrueafter the kickoff.sharp_pct,market_pct, andconsensus_edge_pctshow conviction. They do not promise profit.outcomeispending,win,loss, orvoid.scheduled_pickslists slots selected for later today. Each slot has onlypick_rank,release_at, andkickoff. Schedule the next read from the earliestrelease_at.sports_contextappears only for team-sports picks.
Handle the 404
The endpoint returns404 with error.reason="pick_not_released" until the first pick of the day releases. This is the schedule, not an outage.
- Read
Retry-After(seconds) orerror.retry_at(RFC3339). - Schedule one request for that instant with a cron job, a queue, or a timer.
- Return. Do not sleep a worker thread and do not loop.
retry_at is the earliest instant the answer can change. That is the next scheduled release, or the next selector attempt while the selector can still add an earlier slot. Each wake without a pick returns a new retry_at.
Do not fall back to an older pick on a 404. Show that no pick is published yet.
Cache the pick
The response is ETag-cacheable. SendIf-None-Match to get 304 Not Modified when nothing changed. A new pick release changes the ETag.
Related
Get Pick of the Day track record returns every past pick and the hit rate.Authorizations
API key authentication. Send your key in the Authorization header as Bearer oxi_sk_live_.... Live keys require an active Pro subscription and return live data.
Headers
Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.