Single-elimination bracket
API · /tournament-api
Tournament Scheduler API
Generate tournament schedules — entirely locally. The roundrobin endpoint builds a full round-robin fixture list in which every participant plays every other exactly once, or twice (home and away) with double=true, using the classic circle method: it balances home and away across the rounds and, when there is an odd number of entrants, automatically gives each a bye in turn. The bracket endpoint builds a single-elimination knockout bracket: it rounds the field up to the next power of two, seeds the entrants in standard bracket order so the top seed meets the lowest and the strongest only meet in later rounds, awards the byes to the highest seeds, and lays out every round through the Final with the right names (Quarterfinal, Semifinal, Final). Pass a list of team or player names, or simply a number of participants. Everything is computed locally and deterministically, so it is instant and private. Ideal for sports leagues and apps, esports and gaming ladders, club and school competitions, hackathons and any event that needs fair fixtures. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This generates the schedule; for live scores, results and real-world fixtures use a sports data API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 81 ms
- Server probes · 24h
- Subscribers
- 4,854
- active
- Total calls
- 57
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 3,635 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 3,635 calls/month
- 2 req/sec
- Round-robin + bracket
- No credit card
Starter
€5.15 /month
- 13,150 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 13.15k calls/month
- 8 req/sec
- Double round-robin + seeding
- Email support
Pro
€25.05 /month
- 182,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 182.5k calls/month
- 20 req/sec
- League / esports / event pipelines
- Priority support
Mega
€63.05 /month
- 955,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 955k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Recurrence Rule API
Expand and describe RFC 5545 recurrence rules — the RRULE that powers calendar repeats. The expand endpoint takes an RRULE and a start date-time and returns the next occurrence dates, correctly handling FREQ (daily, weekly, monthly, yearly and the finer hourly/minutely/secondly), INTERVAL (every 2 weeks…), COUNT and UNTIL, BYDAY including ordinals like 2MO or -1FR (so "the last Friday of the month" or "the third Sunday of June"), BYMONTHDAY including negatives (-1 for the last day of the month), BYMONTH and WKST. The describe endpoint turns a rule into a plain-English sentence such as "every week on Monday, Wednesday and Friday, 10 times". Everything is computed locally in UTC and deterministically, so it is instant, private and identical on every machine. Ideal for scheduling and booking systems, calendar and reminder apps, billing and subscription cycles, job and report scheduling, and showing customers when something next happens. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This expands the recurrence rule; to build a downloadable .ics calendar event use an iCalendar API, and for plain date arithmetic use a date-time API.
api.oanor.com/rrule-api
iCalendar API
Build a valid RFC 5545 iCalendar (.ics) event from simple parameters — and get ready-to-use "add to calendar" links for Google, Outlook, Office 365 and Yahoo. Pass a title, start and end (ISO 8601 or unix timestamps, in UTC) — or a duration in minutes, or an all-day flag — plus optional location, description, URL, organizer, an RRULE recurrence (e.g. FREQ=WEEKLY) and a reminder (a VALARM N minutes before). The service returns the fully-formed .ics text with correct escaping and 75-octet line folding, a base64 data: URI you can drop straight into a download link, and the four calendar deep-links. A second endpoint parses raw .ics text back into structured JSON events. Everything is computed locally with no network calls, so it is fast and deterministic. Built for booking and scheduling flows, event pages, email "add to calendar" buttons, reminders and no-code automations. A calendar-event builder — distinct from date/time math (datetime), public-holiday data (holidays) and the Jewish calendar (hebcal). No upstream key, no cache.
api.oanor.com/ical-api
Public Holidays API
Public holidays for 120+ countries — by year, the next upcoming holidays for a country, and the list of supported countries. Each holiday includes the date, English and local name, scope (national/regional) and type. Ideal for HR, scheduling and booking systems.
api.oanor.com/holidays-api
Olympic Medals API
The all-time Olympic medal table as an API — cumulative Summer and Winter Olympic results for every National Olympic Committee. For each country: its NOC code and, split into Summer / Winter / Combined, the number of Games attended and the gold, silver, bronze and total medals won. Look a country up by name or NOC code, rank countries by any medal metric (all-time gold, winter gold, totals and more), or search. A stable sports reference for quiz, media, sports and data-viz apps. Distinct from single-Games results.
api.oanor.com/olympicmedals-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Tournament Scheduler API?
What's the rate limit for Tournament Scheduler API?
How much does Tournament Scheduler API cost?
Can I cancel my subscription anytime?
Is Tournament Scheduler 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/tournament-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/tournament-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/tournament-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/tournament-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.