WHS course handicap
API · /golf-api
Golf Scoring API
Golf scoring and handicap maths as an API, computed locally and deterministically — the World Handicap System and Stableford numbers a golfer, club or scoring app works to. The handicap endpoint computes the course handicap from a handicap index: course handicap = index × (slope rating ÷ 113) + (course rating − par), rounded, so a 14.5 index on a 130-slope, 71.5-rated par-72 course plays off 16; it also applies the format allowance (e.g. 95 % for stroke play) to give the playing handicap. The stableford endpoint scores a hole on the standard scale: net par is 2 points, each stroke better adds one (birdie 3, eagle 4) and each worse subtracts one (bogey 1), with net double bogey or worse scoring 0, where the net score is the gross minus the strokes received on that hole. The net endpoint gives the round's net score — gross total minus the course handicap — against par. Everything is computed locally and deterministically, so it is instant and private. Ideal for golf, club-management, scoring and sports app developers, handicap and Stableford tools, and golf education. Pure local computation — no key, no third-party service, instant. Slope defaults to the neutral 113. Live, nothing stored. 3 compute endpoints. A scoring aid, not an official handicap record.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 81 ms
- Server probes · 24h
- Subscribers
- 4,634
- active
- Total calls
- 80
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 6,250 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 6,250 calls/month
- 2 req/sec
- Course handicap + Stableford + net
- No credit card
Starter
€4.40 /month
- 57,500 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 57,500 calls/month
- 6 req/sec
- WHS slope, allowances, hole scoring
- Email support
Pro
€12.30 /month
- 241,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 241,000 calls/month
- 15 req/sec
- Club & scorecard pipelines
- Priority support
Mega
€39.50 /month
- 1,355,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,355,000 calls/month
- 40 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Golf Live API
Live professional golf data across six tours — PGA, LPGA, DP World (European), PGA Champions, Korn Ferry and LIV — sourced from the same official scoring feed the major networks use. Pull the current tournament scoreboard for any tour (the event name, status, venue and the leader), then the full live leaderboard with every player in the field: position, score to par (e.g. -12), hole-by-hole and round-by-round scoring. Look up a player profile by id (e.g. 10505 → J.T. Poston, USA, turned pro 2015, Western Carolina) and read the latest golf news. Real-time during play, no key needed upstream. Ideal for golf betting and fantasy apps, live scoreboards, sports media and tournament dashboards.
api.oanor.com/golflive-api
Cricket Stats API
Cricket statistics maths as an API, computed locally and deterministically — the run-rate, strike-rate and chase numbers a scorer, commentator or cricket app works a match by. An over is six legal balls, and overs are given as whole overs plus balls, never as decimal overs — '20.3 overs' means 20 overs and 3 balls (20.5 in real terms), the classic cricket-maths trap this API avoids. The run-rate endpoint gives the runs per over = runs ÷ (balls ÷ 6), so 150 runs off 20 overs is 7.50 an over, and with a target overs figure it projects the innings score at the current pace. The strike-rate endpoint gives a batter's strike rate = runs ÷ balls faced × 100, the runs per 100 balls — 75 off 50 is a strike rate of 150, fast scoring in the limited-overs game; in Tests a lower strike rate with a high average is prized instead. The required-rate endpoint handles a chase: the required run rate = the runs still needed ÷ the balls left × 6, so needing 80 to win with 10 overs left is 8.00 an over — a figure that climbs sharply as balls run out, which is why a comfortable chase can tip away in a couple of tight overs. Everything is computed locally and deterministically, so it is instant and private. Ideal for cricket scoring and live-score apps, fantasy and commentary tools, and sports calculators. Pure local computation — no key, no third-party service, instant. 3 compute endpoints. For baseball stats use a baseball API.
api.oanor.com/cricket-api
Canasta Scoring API
Canasta card-game scoring as an API, computed locally and deterministically and exactly — the point counting that makes Canasta famously fiddly, done for you. The card-value endpoint totals the point value of a hand or meld: a joker is 50, aces and twos 20, eights through kings 10, fours through sevens and black threes 5, and a red three a 100-point bonus card — so a joker, an ace, a king, a seven and a red three come to 185. The bonus endpoint adds the round bonuses: a natural (pure) canasta is 500, a mixed canasta 300, each red three 100 (all four double to 800), going out 100, and going out concealed a further 100 — two naturals, a mixed, three red threes and going out is 1,700. The hand-score endpoint nets it out: the card points you melded, plus the bonuses, minus the card points left stranded in your hand when the round ends. Everything is computed locally and deterministically, so it is instant and exact. Ideal for Canasta apps, online card-room scorekeepers, club and family game-night tools, and learning aids. Pure local computation — no key, no third-party service, instant. Exact integer maths. Live, nothing stored. 3 compute endpoints. Classic Canasta values; rule variants differ.
api.oanor.com/canasta-api
Cornhole Scoring API
Cornhole (bag-toss) scoring as an API, computed locally and deterministically and exactly — the points behind a game of bags, from cancellation scoring to the win and the stats. The round endpoint scores a single round with cancellation rules: a bag on the board is 1 point, in the hole is 3, and only the higher player scores, and only the difference — so a player who lands 1 on the board and 2 in the hole (7) against an opponent's 2 on and 1 in (5) nets 2 points, and a tied round scores nothing. The game endpoint applies a round's points to a running total with the win rule — official ACL play is first to 21 or more at the end of an inning with no bust, while backyard 'exact 21' rules bust a player who goes over back to 15 or 11 — and reports the new score, whether the game is won, and the points still needed. The ppr endpoint gives the headline cornhole stats: points per round (PPR) = total points ÷ rounds, plus the in-the-hole percentage from bags in the hole over bags thrown — 84 points across 20 rounds is a 4.2 PPR, and 30 of 80 bags in the hole is 37.5 %. Everything is computed locally and deterministically, so it is instant and exact. Ideal for cornhole and lawn-game apps, league and tournament scorekeepers, bracket and stats tools, and backyard game-night sites. Pure local computation — no key, no third-party service, instant. Exact integer maths. Live, nothing stored. 3 compute endpoints. Standard ACL rules; house rules vary.
api.oanor.com/cornhole-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Golf Scoring API?
What's the rate limit for Golf Scoring API?
How much does Golf Scoring API cost?
Can I cancel my subscription anytime?
Is Golf Scoring 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/golf-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/golf-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/golf-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/golf-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.