API · /dndencounter-api

D&D Encounter API

healthy 3,707 Subscribers

Dungeons & Dragons 5th-edition encounter-building maths as an API, computed locally and deterministically — the XP-budget and difficulty numbers a Dungeon Master balances a fight with. The budget endpoint sums the per-character XP thresholds from the DMG across the party — by party size and level, or a list of mixed levels — to give the easy, medium, hard and deadly budget for one encounter (a party of four 5th-level characters has thresholds of 1,000 / 2,000 / 3,000 / 4,400 XP), plus the total adventuring-day budget. The difficulty endpoint rates an encounter: it sums the monsters' XP, multiplies by the encounter multiplier for the number of monsters (×1.5 for two, ×2 for three to six, up to ×4 for fifteen or more), and compares the adjusted XP to the party thresholds — four 450-XP monsters against that party come to 3,600 adjusted XP, a hard fight. The carry endpoint gives the carrying capacity (Strength × 15, scaled by size), push/drag/lift and the encumbrance thresholds. Everything is computed locally and deterministically, so it is instant and private. Ideal for tabletop, virtual-tabletop, DM-tool and TTRPG app developers, encounter-builder and balance tools, and game-master education. Pure local computation — no key, no third-party service, instant. Uses the DMG tables. Live, nothing stored. 3 compute endpoints. For monster stats and spells use a D&D SRD data API.

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

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

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

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

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
79 ms
Server probes · 24h
Subscribers
3,707
active
Total calls
0
last 7 days
status Full status page → · 4 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 6,650 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 6,650 calls/month
  • 2 req/sec
  • XP budget + difficulty + carry
  • No credit card
Sign in to subscribe

Starter

€4.20 /month

  • 59,500 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 59,500 calls/month
  • 6 req/sec
  • Mixed parties, multipliers, encumbrance
  • Email support
Sign in to subscribe

Pro

€11.70 /month

  • 245,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 245,000 calls/month
  • 15 req/sec
  • DM-tool & VTT pipelines
  • Priority support
Sign in to subscribe

Mega

€37.50 /month

  • 1,375,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,375,000 calls/month
  • 40 req/sec
  • Platform scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

D&D 5e API

The complete Dungeons & Dragons 5th-edition System Reference Document as an API — spells, monsters, classes, subclasses, races, backgrounds, equipment, magic items, conditions, features, feats, skills and the full rules reference. Look up a spell by name (e.g. Fireball → 3rd-level evocation, 150 ft, 8d6 fire) or a monster statblock (e.g. Adult Red Dragon → CR 17, AC 19, 256 HP, legendary actions), list and filter any resource type (spells by level or school, monsters by challenge rating), or fetch full detail for any of the 24 SRD categories. Backed by the open dnd5eapi.co dataset. Ideal for character builders, virtual tabletops, encounter and spell-card generators, Discord bots and homebrew tools.

api.oanor.com/dnd-api

Dice Probability API

Tabletop dice-probability maths as an API, computed locally and deterministically and exactly — the odds behind the rolls, not the rolls themselves. The advantage endpoint gives the D&D-style chances of beating a target on a d20 (or any die) rolling normally, with advantage (roll twice, keep the higher) or with disadvantage (keep the lower): needing an 11+ is 50 % normally, 75 % with advantage and 25 % with disadvantage, and it reports the average roll — advantage lifts a d20 from 10.5 to about 13.8. The pool endpoint handles success-counting systems (World of Darkness, Shadowrun): for a pool of dice that succeed on a face at or above a threshold it gives the chance per die, the expected number of successes and the exact binomial probability of getting exactly, or at least, a target number — six d10s succeeding on 7+ average 2.4 successes with a 45.6 % chance of three or more. The exploding endpoint gives the mean of an exploding ("acing", open-ended) die that re-rolls and adds on its maximum face — a d6 averages 4.2 instead of 3.5. Everything is computed locally and deterministically, so it is instant and private. Ideal for tabletop, virtual-tabletop, game-design and TTRPG app developers, odds-and-probability helpers, and game-master tools. Pure local computation — no key, no third-party service, instant. Exact maths, no simulation. Live, nothing stored. 3 compute endpoints. For random rolls use a dice-roller API.

api.oanor.com/dicepool-api

Draft Beer API

Draft-beer dispense maths as an API, computed locally and deterministically — the CO₂ pressure and beer-line numbers a homebrewer, kegerator owner or bar sets a tap by. (This is the serving side; for ABV, gravity and IBU that is a homebrewing calculation.) The carbonation endpoint gives the regulator head pressure that holds a target carbonation at the serving temperature, from the standard volumes-temperature-pressure regression: 2.5 volumes of CO₂ at 38 °F needs about 11 psi, and colder beer holds the same carbonation at a lower pressure — British ales sit around 1.5–2.0 volumes, US ales 2.2–2.7, lagers and wheats higher. The balance endpoint sizes the beer line so the system pours a clean head instead of foaming or pouring slow: line length = (applied pressure − 0.5 × rise − residual) ÷ the line’s resistance per foot, where gravity adds about 0.5 psi per foot of lift and roughly 1 psi is left at the faucet — so 12 psi with no rise on 3/16-inch vinyl (≈3 psi/ft) wants about 3.7 feet, while narrower or wider tubing changes everything. Everything is computed locally and deterministically, so it is instant and private. Ideal for homebrew, kegerator, bar, brewery-taproom and beverage app developers, draft-system and troubleshooting tools, and hospitality software. Pure local computation — no key, no third-party service, instant. Dispense side only. Live, nothing stored. 2 compute endpoints.

api.oanor.com/draftbeer-api

Knife Sharpening API

Knife-sharpening maths as an API, computed locally and deterministically — the bevel and angle numbers a sharpener, cook or knifemaker sets a stone to. It uses the symmetric V-edge model: the bevel endpoint takes the blade thickness and a per-side (or inclusive) angle and returns the bevel face width = (thickness ÷ 2) ÷ sin(per-side angle), with the inclusive angle as twice the per-side — so a 2 mm blade ground at 15° per side has a 3.86 mm bevel and a 30° edge, and at a 40° inclusive (20° per side) a 2.92 mm bevel. The angle endpoint runs it in reverse for the marker (Sharpie) method: colour the edge, take one stroke, measure the shiny bevel, and per-side angle = asin((thickness ÷ 2) ÷ bevel width) tells you the angle you are actually holding. The recommend endpoint gives sensible inclusive-angle ranges by use — about 12–17° for razors, 20–30° for Japanese kitchen knives, 30–40° for Western chef’s and EDC, 40–50° for outdoor and hard use, 45–65° for axes — and converts any chosen inclusive angle to per-side and back. Everything is computed locally and deterministically, so it is instant and private. Ideal for knife, kitchen, EDC, bushcraft, woodworking and sharpening app developers, sharpening-jig and edge-geometry tools, and maker software. Pure local computation — no key, no third-party service, instant. Symmetric V-edge model, mm and degrees. Live, nothing stored. 3 compute endpoints.

api.oanor.com/knifesharp-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for D&D Encounter API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call D&D Encounter API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for D&D Encounter 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 D&D Encounter API cost?
D&D Encounter API has a free tier with 100 calls / month. Paid plans start at €4.20 / 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 D&D Encounter API GDPR-compliant?
All requests to D&D Encounter 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/dndencounter-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/dndencounter-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/dndencounter-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/dndencounter-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.