API · /coffeeroast-api

Coffee Roasting API

healthy 4,761 Subscribers

Coffee-roasting maths as an API, computed locally and deterministically — the roast-profile numbers a home or specialty roaster tracks batch to batch. The loss endpoint works the weight-loss relationship from any two of the green weight, the roasted weight and the loss percentage: weight loss % = (green − roasted) / green × 100, so 1 kg of green dropping to 840 g is a 16 % loss, a 15 % target leaves 850 g, and to bag 800 g of roasted you charge 952 g of green (roasted ÷ (1 − loss%)). Light roasts shed about 12–14 %, medium 15–17 %, dark 18–20 %. The development endpoint computes the development time and the Development Time Ratio (DTR) from the total roast time and the first-crack time — DTR = (total − first crack) / total × 100, with most roasters aiming for roughly 20–25 %; times accepted as seconds or mm:ss. Everything is computed locally and deterministically, so it is instant and private. Ideal for coffee-roasting, roastery, specialty-coffee and roast-logging app developers, profile and batch tools, and roasting education. Pure local computation — no key, no third-party service, instant. Weights in grams, times in seconds or mm:ss. Live, nothing stored. 2 compute endpoints. This is roast-profile maths; for brewing ratios use a coffee-brewing API.

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

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

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

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

API health

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

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 6,150 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 6,150 calls/month
  • 2 req/sec
  • Weight loss + development ratio
  • No credit card
Sign in to subscribe

Starter

€3.40 /month

  • 59,500 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 59,500 calls/month
  • 6 req/sec
  • Green-for-yield, DTR, mm:ss times
  • Email support
Sign in to subscribe

Pro

€9.50 /month

  • 242,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 242,000 calls/month
  • 15 req/sec
  • Roast-log & profile pipelines
  • Priority support
Sign in to subscribe

Mega

€30.50 /month

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

Built by

Related APIs

Other APIs with overlapping tags.

Coffee Brewing API

Coffee brewing maths as an API, computed locally and deterministically. The ratio endpoint works out a brew recipe from any two of the coffee dose, the water and the brew ratio — water = coffee × ratio — and reports the third value, the ratio as 1:N, the number of cups and whether the recipe sits around the SCA "golden ratio" of about 1:16–1:17. The espresso endpoint does the same for espresso from any two of the dose, the yield and the brew ratio (yield = dose × brew ratio), labelling the shot ristretto, normale or lungo. The extraction endpoint computes the extraction yield, EY% = (beverage mass × TDS%) ÷ dose, from the dose, the brewed beverage mass (or the water, estimating the mass the grounds retain) and the measured total dissolved solids, then classifies the brew as under-extracted, ideal or over-extracted and weak through very strong against the SCA brewing control chart. Masses are in grams, water in grams or millilitres. Everything is computed locally and deterministically, so it is instant and private. Ideal for specialty-coffee, café, brewing-scale and recipe app developers, pour-over and espresso tools, and barista training. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is coffee brewing maths; for cooking-unit conversions use a cooking API and for caffeine intake use a caffeine API.

api.oanor.com/coffee-api

Caffeine Calculator API

Caffeine metabolism maths as an API, computed locally and deterministically with a first-order (exponential) decay model. The level endpoint computes how much caffeine remains in the body after a given time from a dose and a half-life (about 5 hours by default), as milligrams and a percentage, and how long until it falls to a chosen threshold. The timeline endpoint returns an hour-by-hour decay curve and the time until caffeine is "sleep safe" — below a threshold (50 mg by default) — handy for working out a coffee cut-off before bed. The sources endpoint gives the typical caffeine content of common drinks (brewed coffee, espresso, tea, energy drinks, cola and more) for a single drink, or totals a list such as two coffees and a cola. Everything is computed locally and deterministically, so it is instant and private. This is informational only: real caffeine half-life varies widely between people (roughly 3–7 hours, and much longer in pregnancy or with certain medications) — it is not medical advice. Ideal for coffee, sleep and wellbeing apps, energy-drink and habit trackers, and quantified-self tools. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is caffeine pharmacokinetics; for a drug reference database use a drug API.

api.oanor.com/caffeine-api

Climbing Fall API

Rock-climbing fall maths as an API, computed locally and deterministically — the safety numbers behind a lead fall, from the harshness of the catch to whether you hit the deck. The fall-factor endpoint gives the fall factor, distance fallen ÷ rope paid out, from 0 to a maximum of 2: it, not the absolute distance, decides how hard the catch is, so 4 metres on 2 metres of rope is a brutal factor-2 onto the anchor while the same fall on 10 metres of rope is a mild 0.4. The impact-force endpoint gives the peak force the rope transmits from the spring model F = mg + √((mg)² + 2·mg·k·f), where k is the rope modulus (~20 kN for a dynamic single rope) and f the fall factor — so an 80 kg climber on a factor-1 fall feels about 6.4 kN, and the top runner sees roughly 1.66× that from the pulley effect. The ground-fall endpoint adds it up: total drop = twice the height above the last piece, plus slack, plus the rope's stretch, and tells you whether that clears the ground or a ledge. Everything is computed locally and deterministically, so it is instant and private. Ideal for climbing apps, gym and guiding tools, route-planning and education sites, and gear calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Educational estimates — not a substitute for instruction and judgement.

api.oanor.com/climbing-api

Plumbing Code API

Plumbing-code sizing maths as an API, computed locally and deterministically — the fixture-unit and pipe-sizing numbers a plumber, designer or inspector runs from the code book. The dfu endpoint totals drainage fixture units for a set of fixtures (IPC Table 709.1): pass a list like toilet:2,lavatory:3,shower:1,kitchen_sink:1 and it weights each by its discharge — a toilet is 3, a lavatory 1, a tub or shower 2 — for a total of 13, with a grouped full bathroom counting as 6 rather than the sum of its parts. The pipe-size endpoint gives the minimum building-drain size for a DFU load at a slope (IPC Table 710.1(1)): the smallest pipe whose capacity meets the load, so 50 DFU at a quarter-inch-per-foot fall needs a 4-inch drain, with the reminder that any drain carrying a water closet is a 3-inch minimum. The supply-gpm endpoint reads probable peak water demand off the Hunter curve: diversity means 100 supply fixture units draws only about 54 GPM, not the sum of every fixture running at once — the number you size the water service against. Everything is computed locally and deterministically, so it is instant and private. Ideal for plumbing-design and estimating apps, code-check and permit tools, MEP-engineering calculators, and trade-school aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Based on the IPC — verify against the code adopted in your jurisdiction.

api.oanor.com/plumbing-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

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