Skip to content

HalfPoint API Review 2026

HalfPoint turns order-book and price data from many venues into one market-implied probability per outcome, with fixtures, live scores, venue mappings and grades for nine leagues. Plans start at $49 a month, with a 7-day trial and a keyless sample.

HalfPoint at a Glance

HalfPoint Consensus Odds API Logo
HalfPoint
๐Ÿ’ฒ to ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ
Free Tier
Pregame Live Bet365 Pinnacle Closing SGP Futures Deeplinks Settlement Stats Schedules Websocket MCP Discord

Streaming from: Realtime, $249/mo (SSE)

Green = available ยท amber = unverified or varies by plan ยท crossed out = not available. Pricing: ๐Ÿ’ฒ โ‰ˆ $20/mo up to ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ = $1,000+/mo. From our directory research.

What HalfPoint Is

HalfPoint is a sports odds API with an unusual output. Most odds feeds hand you every sportsbook's line and leave the math to you. HalfPoint does the math first and hands you one number per outcome: a de-vigged, market-implied probability built from order-book and price data across many venues. When we called its sample on November 9, 2026, the Cavaliers at Hornets game came back as home 0.24, away 0.76. That's the whole price.

Around that number sits the game data a pricing system needs: fixtures with ids that never change, live scores, each game's ids at trading venues, and win, lose or push grades after the final whistle. It covers nine leagues across US sports and European soccer. You can reach it over REST, Server-Sent Events (SSE) streams, a remote MCP server, or pay per request with x402. Quantena AG in Zug, Switzerland, runs the service. It launched in late 2026, so the public track record is still short.

A Consensus Price, Not a Line Board

The method treats each venue's quote as an imperfect reading of one true market price. A quote can be late, thin or plain wrong. HalfPoint strips the margin (the vig) out of each one and combines them into a single probability per outcome, built to resist stale and outlying quotes. It describes where the market is right now. It isn't a forecast of who wins.

The numbers arrive as probabilities that sum to 1, rounded to two decimals. Converting them is one line of code: 0.24 is 4.17 in decimal odds, or about +317 American. Every price also carries at, when it was computed, and recent. A price with recent: false is the last one HalfPoint had, kept as a reference when no current consensus can be formed, so check both fields before you trade on it.

Here's the part to be clear about before you sign up. HalfPoint doesn't return each sportsbook's odds, and it doesn't name the books or venues behind its number. You can't use it to find the best price on a game across DraftKings and FanDuel. HalfPoint's own FAQ says the same thing: if you need each book's lines or props, a per-book feed fits better. What you get instead is a fair reference price. Hold any book's line or any prediction-market contract against it and you can see how far that price sits from the market. For a per-book feed to pair with it, browse the API directory.

Leagues, Markets and Game Data

Every plan covers the same nine leagues: MLB, NBA, NFL, college football (every Division I game with an FBS or FCS team), NHL, the Premier League, the Bundesliga, LaLiga and the Champions League league phase.

The market list is short on purpose. HalfPoint prices the winner market only: the moneyline for US leagues, overtime and extra innings included, and the three-way result (home, draw, away) for soccer. Spreads, totals and player props are outside the current offering. /odds lists games that start within the next 24 hours plus games in play, so this is a live and near-term feed with no futures.

The game data comes with every plan:

  • Fixtures: the past 30 days and the next 30, with a fixture id that never changes. A game's date locks 7 days out, and a game postponed after that gets a new fixture linked to the old one through replaces and replaced_by.
  • Live: score, period and clock, plus inning, count and occupied bases for MLB. Scores follow official sources, so they trail the consensus by a little.
  • Mappings: each game's ids at data sources and trading venues, down to the instrument per outcome, such as Kalshi tickers and Polymarket token ids.
  • Grades: win, lose or push per outcome, usually within a few hours of the end. A published grade never changes.

Price history isn't part of the plans. If you backtest, pair HalfPoint with a historical odds source and use the fixture ids to join the two.

Streams and the Bet Stop

On every plan, the REST answer for /odds rebuilds at most once a second, and every answer carries an ETag so a poll with nothing new returns 304 with no body. Realtime and Risk add two SSE streams: /odds/stream for prices and /live/stream for scores. Each sends the current state first, then every change. There's no replay, so a client that drops reconnects and starts over from the new snapshot. A key can hold 8 streams open at once, or 2 during a trial. Our live odds guide covers SSE against WebSocket and polling.

The Risk plan adds three fields to every market, and they're the reason a trading desk would pick this feed:

  • stop: true means widen or pull your quotes now, for example in the seconds after a score. The venue's market keeps trading and the price keeps updating. Only the flag changes.
  • widened: the market is reopening after a stop, so quote around the price, but wider than usual.
  • range: roughly a 90% interval around the consensus, for live games, on outcomes priced between 0.05 and 0.95.

HalfPoint publishes a benchmark against one unnamed odds provider's enterprise stream, recorded from October 30 to November 6, 2026. After a score, its consensus moved a median 1.5 seconds (NBA) to 3.4 seconds (college football) before the fastest venue price arrived through that provider. Those are HalfPoint's own numbers, and it says plainly that it makes no claim to beat the venues' own order books. We haven't measured it ourselves.

HalfPoint Pricing, Trial and Pay-Per-Request

Three plans, each including the one before it. Prices are in US dollars, VAT included where it applies:

  • Consensus: $49 a month or $490 a year. Consensus prices over REST, plus fixtures, live scores, mappings and grades.
  • Realtime: $249 a month or $2,490 a year. Adds the odds and live-score streams.
  • Risk: $799 a month or $7,990 a year. Adds the bet stop, the widened flag and the consensus range.

Consensus and Realtime start with a 7-day trial at checkout, card required, and billing starts when it ends unless you cancel. Risk has no trial at checkout, but HalfPoint offers a 14-day trial key with no card on request, Risk included. Before any of that, the keyless sample shows real prices for one league, 60 to 120 seconds old.

AI agents with a wallet can skip the account. With x402, a request on /odds costs $0.01 in USDC on Base ($0.05 with the Risk fields), and /fixtures, /live and /grades cost $0.002. A 24-hour Realtime pass with a key costs $15. Only answers that deliver data are charged.

The terms let you use the data in your own products and operations. Reselling or redistributing it as a data feed needs a separate agreement.

Getting an API Key

Pick a plan on the checkout page, enter your email, and Stripe takes the card. Consensus and Realtime start with a 7-day trial, and the first charge lands when it ends unless you cancel. Risk has no trial at checkout. If you'd rather test without a card, HalfPoint offers a 14-day trial key on request through its contact form, Risk included (checked November 2026).

The key starts with hp_ and shows once, on the page Stripe sends you back to. HalfPoint keeps only a hash, so save it then. To rotate it, log in with your email and HalfPoint mails you a one-time link. Send the key in the X-Api-Key header on both hosts. A ?key= parameter works too, but the docs prefer the header, because query strings end up in logs. A call with no key gets HTTP 402 and a body that lists the ways in.

A First Request in Python

This sample calls the keyless sample endpoint for the NBA, so you can run it before you pay. It prints when the answer was built, then each game's fixture id, start time and the home and away probabilities.

import requests

resp = requests.get(
    "https://odds.halfpoint.tech/sample/odds",
    params={"league": "nba"},
    timeout=10,
)
resp.raise_for_status()
data = resp.json()

print("updated", data["updated"])
for fixture in data["fixtures"]:
    ml = fixture["markets"]["moneyline"]
    print(fixture["id"], fixture["start"], "home", ml["home"], "away", ml["away"])

We ran it on November 9, 2026. It printed 8 games, the first one nba-261109-cle-cha at home 0.24, away 0.76. The sample runs 60 to 120 seconds behind and holds a league's soonest 10 games (from the docs, checked November 2026). With a key, change the path to /odds and add the X-Api-Key header. The shape stays the same. Soccer leagues return moneyline_3way with a draw instead of moneyline.

Rate Limits, Docs and SDKs

Every plan gets 200 requests per 10 seconds per key, on each of the two hosts. Past that, the API answers 429 with a Retry-After header, and there are no overage charges. A key can hold 8 streams open at once, or 2 while it's on a trial, and HalfPoint raises the cap on request. The keyless sample allows 10 requests a minute and 1,000 a day per address (checked November 2026). Answers carry an ETag, so a repeat poll with nothing new costs no body.

The docs come as web pages and as Markdown, with an llms.txt index for coding agents and an OpenAPI 3.0 file that needs no key. There's no SDK package. The examples repo on GitHub holds runnable curl, Python and TypeScript code, an x402 client and MCP configs. We found no status page or changelog. Support runs through team@halfpoint.tech and the contact form.

Who HalfPoint Is For

HalfPoint fits teams that need a fair price to quote around, more than a list of every book's line:

  • Market makers and trading desks that want a reference probability and a signal to pull quotes after a score.
  • Prediction-market traders who compare a Kalshi or Polymarket contract with the consensus, using the mappings to join the two.
  • Pricing and risk models that need a de-vigged input rather than raw lines with margin baked in.
  • AI agents that call the MCP server or pay per request with x402.
  • Settlement systems that grade winner-market bets on stable fixture ids.

Line shopping, player props, spreads and totals sit outside its scope. For those, pair HalfPoint with a per-book feed from the API directory, and keep HalfPoint as the fair line you measure each book against.

Verdict

HalfPoint picked a narrow job and documented it well. The docs answer the questions a trading desk would ask (what recent: false means, how postponements work, when a grade is final), every page also comes as Markdown, and the OpenAPI file and sample need no key. HalfPoint says signals like the bet stop are otherwise found in enterprise trading services. Here it costs $799 a month with no contract.

The trade-off is coverage: nine leagues and one market per game. If that's the market you price, run the sample against your own numbers for a week of games. Then take the 7-day trial on HalfPoint and watch the stream through a few scoring plays.

Last updated: ยท How providers get listed

Frequently Asked Questions

HalfPoint has no permanent free plan. A keyless sample returns one league's consensus prices, 60 to 120 seconds old, for the soonest 10 games. Consensus and Realtime start with a 7-day trial at checkout with a card, and HalfPoint offers a 14-day trial key with no card on request, Risk included.
Consensus costs $49 a month, Realtime $249 and Risk $799, or $490, $2,490 and $7,990 a year. Each plan includes the one before it. AI agents can also pay per request in USDC with x402: $0.01 per odds request, $0.05 with the Risk fields, and $0.002 per fixtures, live or grades request.
No. HalfPoint returns one de-vigged, market-implied probability per outcome, combined from order-book and price data across venues, and it doesn't list each book's line. That suits pricing, trading and risk models. For line shopping or props, pair it with a per-book odds API from the directory.
Nine leagues on every plan: MLB, NBA, NFL, college football, NHL, the Premier League, the Bundesliga, LaLiga and the Champions League. HalfPoint prices the winner market only: the moneyline for US leagues, overtime included, and the three-way result for soccer. Spreads, totals and props are outside the current offering.
Yes. HalfPoint runs a remote MCP server at mcp.halfpoint.tech, listed in the official MCP registry as tech.halfpoint/sports-odds. Its tools return leagues, fixtures, live scores, the consensus and, on the Risk plan, the bet stop. The sample and plan tools work without a key; the rest take your key in the X-Api-Key header.
On the Risk plan, every market carries a stop flag. When it reads true, widen or pull your quotes now, for example right after a score. The venue's market keeps trading and the consensus keeps updating. A widened flag marks the reopening, and a range field gives roughly a 90% interval around the price.
Choose Consensus, Realtime or Risk on HalfPoint's checkout page and pay by card through Stripe. Consensus and Realtime start with a 7-day trial. The key starts with hp_ and shows once after checkout, so save it. Send it in the X-Api-Key header. A 14-day trial key with no card is available on request.
HalfPoint allows 200 requests per 10 seconds per key on each API host, with no overage charges. Past that, a 429 answer carries a Retry-After header. A key can hold 8 streams open at once, or 2 during a trial. The keyless sample allows 10 requests a minute and 1,000 a day per address.

HalfPoint Alternatives

Similar providers from the directory worth shortlisting alongside HalfPoint.

Need a fair price to quote around?

The sample answers without a key, and Consensus and Realtime start with a 7-day trial. Pull tonight's prices and check them against your own model before you pay.

Are You the Team Behind HalfPoint?

Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.

Each of these works best on a reviews or "As cited on SportsAPIs.dev" page that your homepage links to, or in a testimonial strip on the homepage.

Badge

HalfPoint is listed on SportsAPIs.dev
<a href="https://sportsapis.dev/apis/halfpoint" title="HalfPoint on SportsAPIs.dev">
  <img src="https://sportsapis.dev/assets/images/badges/listed-on-sportsapis.svg"
       alt="HalfPoint is listed on SportsAPIs.dev" width="220" height="48">
</a>

Text link

<a href="https://sportsapis.dev/apis/halfpoint">Read the HalfPoint review on SportsAPIs.dev</a>

Review quote

<blockquote>
  One de-vigged consensus probability per outcome, with a bet-stop signal
  for live games.
</blockquote>
<p><a href="https://sportsapis.dev/apis/halfpoint">SportsAPIs.dev review</a></p>

Want a Featured Partner spot or to update your listing? Partner with us โ†’