API · /odds-api

Betting Odds API

healthy 4,545 Subscribers

Betting-odds maths as an API, computed locally and deterministically. The convert endpoint translates a price between every format used by bookmakers — decimal (European), fractional (UK), American (moneyline) and the implied probability — give it any one and it returns all the others, with the implied probability that the odds represent (1 ÷ decimal). The payout endpoint computes the profit and total return for a stake at given decimal or American odds. The parlay endpoint combines several decimal-odds selections into one accumulator by multiplying them, returning the combined odds, the implied probability and the payout for a stake — every leg must win, so the payout grows fast while the probability shrinks. Decimal odds are the total return per unit staked, American odds are at least +100 for an underdog or −100 or lower for a favourite, and fractional odds look like 5/2. Everything is computed locally and deterministically, so it is instant and private. Ideal for sports-betting, fantasy, odds-comparison and gaming app developers, bet-slip and value tools, and probability education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is odds conversion; for probability distributions use a probability API.

api.oanor.com/odds-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/odds-api/openapi.json
/api/odds-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
91 ms
Server probes · 24h
Subscribers
4,545
active
Total calls
28
last 7 days
status Full status page → · 24 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 3,000 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • Convert between decimal, American, fractional, Hong Kong and implied formats
  • Single-bet implied-probability lookups
  • Deterministic, instant local compute
Sign in to subscribe

Starter

€4.00 /month

  • 40,000 calls / month
  • 5 requests / second
  • Hard cap (429 above quota, no overage)
  • All odds-format conversions
  • Implied probability and vig/margin removal
  • Parlay payout and combined-odds calculator
  • For tipster sites and small betting tools
Sign in to subscribe

Pro

€12.00 /month

  • 250,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • High-volume parlay and round-robin payout maths
  • Batch conversion of multiple prices per call
  • No-vig fair-odds and edge calculations
  • Suited for odds-comparison and betting-tracker apps
Sign in to subscribe

Mega

€39.00 /month

  • 1,544,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • Bulk odds processing at scale
  • Full parlay, teaser and probability suite
  • Highest throughput for production betting platforms
  • Priority compute for real-time UI refresh
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Poker API

A complete Texas Hold’em toolkit in one fast, fully-local API. Calculate win, tie and equity probabilities for your hole cards against any number of opponents (1–9) on any board — pre-flop, flop, turn or river — using a Monte Carlo simulation with adjustable accuracy. Evaluate the best five-card hand from any five to seven cards and get its rank and tiebreakers, or describe a hand in plain language. Cards use the familiar notation (As, Td, 9h, 2c) and every endpoint works by GET or JSON POST. Pure server-side compute with no third-party upstream, so responses are instant and the service is always available. Ideal for poker trainers and study tools, game developers, hand-history trackers and odds widgets.

api.oanor.com/poker-api

Tennis Score API

Tennis scoring maths as an API, computed locally and deterministically — the game, set and match logic a scoring app, umpire tool or tennis league runs on. The game endpoint plays a game from a sequence of who won each point and returns the proper tennis score: points run 0, 15, 30, 40 and then game, but at 40-40 it is Deuce and a player must lead by two — Advantage, then game — so a,a,a,a is 40-0 and a win, while three-all is Deuce; a tiebreak flag scores to seven by two instead (and keeps going at 7-7). The set endpoint reads a set from the games each player has won: a set is taken at six games with a two-game lead, 6-6 triggers a tiebreak that ends it 7-6, and 7-5 wins if a player pulls ahead first. The match endpoint settles the match from the sets won — best-of-three is decided by two sets, best-of-five by three — and tells you the winner the moment it is reached. Everything is computed locally and deterministically, so it is instant and private. Ideal for tennis, racket-sport, scoring, umpiring and league app developers, scoreboard and live-scoring tools, and club software. Pure local computation — no key, no third-party service, instant. Scoring logic, not analytics. Live, nothing stored. 3 compute endpoints.

api.oanor.com/tennis-api

Bowling Score API

Ten-pin bowling maths as an API, computed locally and deterministically — the scoring, handicap and average numbers a bowler, league or scoring app runs on. The score endpoint plays a full game from a comma list of the pins knocked down on each roll and applies the real rules: a strike scores 10 plus your next two rolls, a spare 10 plus the next one, an open frame just the pins, with the 10th frame’s bonus rolls handled — so twelve strikes is a perfect 300, twenty 9-then-miss frames are 90, and all spares with a 5 bonus is 150, returned frame by frame with the running total. The handicap endpoint levels a league: handicap per game = ⌊(basis − average) × percent⌋, never below zero, so a 150 average on the common 90 %-of-220 setup earns 63 pins a game and 189 over a three-game series. The average endpoint divides total pins by games (dropping the fraction, as leagues do), rolls in a new series to update it, and works out the pins you need over the next games to reach a target average. Everything is computed locally and deterministically, so it is instant and private. Ideal for bowling-league, scoring, sports and recreation app developers, scorekeeping and handicap tools, and centre-management software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints.

api.oanor.com/bowling-api

Climbing Grade API

Rock-climbing grade conversion as an API, computed locally and deterministically — the cross-system grade translations a climber, gym or guidebook app needs when the same route reads differently in every country. The route endpoint takes a roped-climbing grade in any major system — the American Yosemite Decimal System (5.5 to 5.15d), French sport grades (4b to 9c+), the UIAA scale used across Central Europe (IV to XIII-) or the Australian/New Zealand Ewbank numbers (12 to 40) — and returns the equivalents in all of them, so a 5.11a is a French 6c, a UIAA VII+ and an Ewbank 22. The boulder endpoint converts between the American V-scale (VB and V0 to V17) and the French Fontainebleau scale (3 to 9A), so a V5 is Font 6C and a problem graded 7A is about V6. You can pass a grade in any supported system and it finds the row and gives the rest — handy for syncing a tick list across regions or showing a climber a grade they recognise. Everything is computed locally and deterministically, so it is instant and private. Ideal for climbing, bouldering, gym, guidebook and outdoor-sports app developers, tick-list and route-database tools, and training-log software. Pure local computation — no key, no third-party service, instant. Chart equivalents — grades are inherently approximate across systems. Live, nothing stored. 2 conversion endpoints.

api.oanor.com/climbgrade-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Betting Odds API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Betting Odds API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Betting Odds API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Betting Odds API cost?
Betting Odds API has a free tier with 100 calls / month. Paid plans start at €4.00 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Betting Odds API GDPR-compliant?
All requests to Betting Odds API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/odds-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/odds-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/odds-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/odds-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.