Skip to content

Sample

GET /sample/odds?league=<league>         https://odds.halfpoint.tech
GET /sample/fixtures?league=<league>     https://fixtures.halfpoint.tech

Try the API without a key. The sample is delayed and small, so it shows the shape of the data, not a feed to build on.

/sample/odds /sample/fixtures
data the consensus without stop and widened the schedule of today (the league's local date)
age 60 to 120 seconds (taken every minute; updated says when) current
fixtures the league's soonest 10 the day's first 10
shape as /odds as /fixtures
parameter
league required mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl
src optional where you found us (a directory, a registry listing); passed on to the checkout link
curl "https://odds.halfpoint.tech/sample/odds?league=nba"

Limits per address (an IPv6 address counts by its /64), per host: 10 requests per minute and 1,000 per day. Over them the answer is 429 with Retry-After (seconds). For a minute or two after we restart, /sample/odds lists no fixtures, until its first prices are a minute old.

Every answer carries Link headers to what comes next:

Link: <https://docs.halfpoint.tech/agents/>; rel="help"
Link: </openapi.json>; rel="describedby"; type="application/json"
Link: <https://account.halfpoint.tech/checkout?plan=consensus>; rel="payment"; title="Subscribe for a key"

For current prices, every fixture and the stream, get a key: see Plans and For agents.