Win probability
API · /elo-api
Elo Rating API
Compute Elo ratings — the rating system behind chess, esports, games and competitive leaderboards. The expected endpoint takes two players' ratings and returns each side's win probability using the classic logistic formula 1 / (1 + 10^((Rb − Ra) / 400)), names the favourite and reports the rating gap. The match endpoint applies a result — a win, loss or draw for player A — and returns both players' updated ratings, the exact points each one gained or lost, and the expected scores, using a configurable K-factor (32 by default; lower for established players, higher for newcomers, so ratings settle or move quickly as you choose). An upset is rewarded with a bigger swing and a draw shifts points toward the underdog, exactly as Elo intends. Everything is computed locally and deterministically, so it is instant and private — no players or leaderboard are stored. Ideal for games and esports matchmaking, chess and board-game apps, tournament and ladder systems, ranking and reputation features, and A/B-style skill comparisons. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This computes ratings from inputs you provide; it does not store a leaderboard or look up a player's rating.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 90 ms
- Server probes · 24h
- Subscribers
- 3,641
- active
- Total calls
- 39
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 4,835 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 4,835 calls/month
- 2 req/sec
- Expected + match
- No credit card
Starter
€6.35 /month
- 14,350 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 14.35k calls/month
- 8 req/sec
- Configurable K-factor
- Email support
Pro
€26.25 /month
- 194,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 194.5k calls/month
- 20 req/sec
- Games / matchmaking / ladder pipelines
- Priority support
Mega
€64.25 /month
- 1,015,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.015M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Farkle Score API
Farkle dice-scoring maths as an API, computed locally and deterministically — the points a Farkle (Zilch, Ten Thousand) scoring app tallies a roll by. The score endpoint takes up to six dice and returns the value by the common ruleset: a single 1 is 100 and a single 5 is 50; three of a kind scores the face times 100 (three 1s being the exception at 1000); four, five and six of a kind are 1000, 2000 and 3000; a 1-to-6 straight or three pairs is 1500; and two triplets is 2500 — so 1-1-1-5-5-5 scores 2500 as two triplets rather than 1100, a 1-2-3-4-5-6 straight is 1500, and 6-6-6-2-3 is 600 with the 2 and 3 dead. It flags a farkle when nothing scores (you lose the turn’s points) and tells you whether every die counted — a hot dice that lets you roll all six again. Rulesets vary, so it scores the widely-used set and says so. Everything is computed locally and deterministically, so it is instant and private. Ideal for dice-game, party-game and scoring app developers, score-helper and game-night tools, and board-game-companion software. Pure local computation — no key, no third-party service, instant. Scores a roll; it does not roll the dice. Live, nothing stored. 1 compute endpoint.
api.oanor.com/farkle-api
Cribbage Score API
Cribbage hand-scoring maths as an API, computed locally and deterministically — the count a cribbage player, app or league tallies a hand by. The score endpoint takes the four-card hand and the starter (cut) card and returns the full breakdown by the rules: every distinct combination of cards summing to fifteen scores 2, each pair scores 2 (so three of a kind is 6 and four is 12), each run of three or more consecutive cards scores its length — counting the duplicate runs that pairs create — a four-card flush in the hand is 4 (five with the starter is 5, and the crib only scores a five-card flush), and his nobs, a Jack in hand matching the starter’s suit, is 1. It correctly scores the famous best hand, J-5-5-5 with a fifth 5 cut, at the maximum 29. The count endpoint tallies just fifteens, pairs and runs for any one to eight cards — useful for checking part of a hand or the pegging pile. Everything is computed locally and deterministically, so it is instant and private. Ideal for cribbage, card-game, board-game-companion and scoring app developers, score-verification and teaching tools, and game software. Pure local computation — no key, no third-party service, instant. Cards as rank+suit (5H, TD, JS). Live, nothing stored. 2 compute endpoints.
api.oanor.com/cribbage-api
Yahtzee Score API
Yahtzee scoring maths as an API, computed locally and deterministically — the category scores and totals a dice-game scoring app runs on. (It scores a given roll; it does not roll the dice.) The score endpoint takes five dice and returns the value of every one of the thirteen boxes at once: the upper boxes (ones through sixes) score the sum of that number, three- and four-of-a-kind and chance score all five dice, a full house is 25, a small straight (four in a row) 30, a large straight (five in a row) 40 and a Yahtzee (five of a kind) 50 — so 3-3-3-5-6 is worth 20 in three-of-a-kind, 4-4-4-5-5 is a 25-point full house, and it flags the highest-scoring box for you. The total endpoint adds up a finished card: the 35-point upper-section bonus when the upper boxes reach 63 (and how many points you still need for it), plus 100 for each extra Yahtzee, to give the grand total. Everything is computed locally and deterministically, so it is instant and private. Ideal for dice-game, board-game-companion, family-game and scorekeeping app developers, score-sheet and tournament tools, and game software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 2 compute endpoints. For random rolls use a dice API.
api.oanor.com/yahtzee-api
Maze API
Generate and solve mazes — entirely locally and reproducibly. The generate endpoint builds a perfect maze (exactly one path between any two cells, no loops) of the width and height you choose, using either a recursive-backtracker algorithm (long, winding corridors) or Prim's algorithm (more branching, shorter dead-ends), and returns it as ready-to-print ASCII art plus a compact per-cell wall-bitmask grid, with the start marked top-left and the exit bottom-right. Every maze is fully reproducible: pass a seed and you always get exactly the same maze on any machine, and the seed is returned when you omit it so you can recreate it later. The solve endpoint re-creates the maze from the same seed, width, height and algorithm and returns the shortest path from start to finish, both as an ordered list of cells and drawn onto the maze. Everything is computed locally and deterministically, so it is instant and private. Ideal for games and puzzles, procedural level generation, teaching algorithms and graph search, printable activity sheets, and creative coding. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints.
api.oanor.com/maze-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Elo Rating API?
What's the rate limit for Elo Rating API?
How much does Elo Rating API cost?
Can I cancel my subscription anytime?
Is Elo Rating API GDPR-compliant?
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/elo-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/elo-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/elo-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/elo-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 inNew thread
·
-
Provider answer
🔒 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 inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.