API · /sleep-api

Sleep Cycle API

healthy 4,034 Subscribers

Sleep-cycle planning as an API, built around the fact that a full sleep cycle averages about 90 minutes and that waking at the end of a cycle — rather than mid-cycle — leaves you feeling more refreshed. The bedtime endpoint takes a wake-up time and suggests the times to fall asleep so that you wake at the end of a whole number of cycles (6, 5, 4 or 3 cycles), allowing for the time it takes to drift off. The wake-time endpoint does the reverse: from a bedtime (or "now") it suggests the best times to set an alarm. The duration endpoint takes a bedtime and a wake time and reports time in bed, actual sleep, the number of full cycles, how many minutes you are into the current cycle and how close you are to a clean cycle boundary, with a healthy-duration assessment. The nap endpoint plans power, short, slow-wave and full-cycle naps from a start time and explains the trade-offs. All clock maths is modulo 24 hours and accepts both 24-hour ("23:15") and 12-hour ("10:30 PM") times. Everything is computed locally and deterministically, so it is instant and private. Ideal for sleep, alarm-clock and wellbeing apps, smart-home routines, shift-work planning and productivity tools. Pure local computation — no key, no third-party service, instant. Live, nothing stored. INFORMATIONAL ONLY — sleep needs vary by individual; not medical advice. 4 endpoints. This is sleep-cycle timing maths; for time-zone conversion use a time API and for body metrics such as BMI use a health-calculator API.

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

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

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

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

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
85 ms
Server probes · 24h
Subscribers
4,034
active
Total calls
60
last 7 days
status Full status page → · 30 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 8,935 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 8,935 calls/month
  • 2 req/sec
  • Bedtime + wake-time + duration + nap
  • No credit card
Sign in to subscribe

Starter

€10.45 /month

  • 18,550 calls / month
  • 8 requests / second
  • Hard cap (429 above quota, no overage)
  • 18.55k calls/month
  • 8 req/sec
  • 12h & 24h time formats
  • Email support
Sign in to subscribe

Pro

€30.35 /month

  • 235,500 calls / month
  • 20 requests / second
  • Hard cap (429 above quota, no overage)
  • 235.5k calls/month
  • 20 req/sec
  • Sleep / wellbeing pipelines
  • Priority support
Sign in to subscribe

Mega

€68.35 /month

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

Built by

Related APIs

Other APIs with overlapping tags.

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

Air Compressor API

Compressed-air maths as an API, computed locally and deterministically — the receiver, pump-up and SCFM numbers a pneumatics tech or shop owner sizes a system with. The receiver-size endpoint gives the tank you need to ride out a demand burst: volume = demand (free-air CFM) × minutes × 14.7 ÷ the usable pressure window (max − min) — pulling 20 CFM for a minute over a 175-to-100 psi window wants about a 30-gallon receiver, the buffer that lets the pump catch up. The pumpup endpoint gives the time to raise a receiver from one pressure to another: volume × pressure rise ÷ (14.7 × compressor CFM), so a 60-gallon tank from 100 to 175 psi on a 15 CFM compressor takes about 2.7 minutes. The scfm endpoint corrects actual CFM to standard CFM for the inlet conditions — SCFM = ACFM × (inlet pressure ÷ 14.696) × (528 ÷ inlet temperature in Rankine) — so a compressor at 5,000 feet delivers about 17 % fewer SCFM than at sea level, the reason you size tools on SCFM, not the nameplate. Everything is computed locally and deterministically, so it is instant and private. Ideal for pneumatics and shop-air apps, compressor-sizing and tool-demand tools, industrial-air calculators, and trade aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — duty cycle and the pump curve shift real numbers.

api.oanor.com/compressor-api

Tire Calculator API

Tire maths as an API, computed locally and deterministically — the size, pressure and speedometer numbers a driver, fitter or fleet manager works out before fitting a tyre. The size endpoint turns a P-metric spec into the real dimensions: overall diameter = rim + 2 × the sidewall (section width × aspect ratio), so a 225/45R17 stands about 25 inches tall, rolls a 78-inch circumference and turns roughly 808 times a mile — the numbers behind fitment, gearing and clearance. The pressure endpoint gives the hot pressure from a cold pressure and the temperature change, because pressure tracks absolute temperature (P2/P1 = T2/T1), about +1 psi per 10 °F — so 32 psi set cold at 70 °F reads ~34.6 after warming to 100 °F, and drops on a cold morning, which is what trips the warning light. The speedo-error endpoint gives the speedometer error and true speed from a tyre-size change: a taller tyre makes the speedo read low, so actual speed = indicated × new diameter ÷ old — go up 4 % and 60 on the dial is really 62.5. Everything is computed locally and deterministically, so it is instant and private. Ideal for tyre-shop and fitment apps, fleet and 4x4 build tools, speedo-recalibration calculators, and automotive sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — always set pressure cold to the placard.

api.oanor.com/tire-api

Boat Propeller API

Boat-propeller maths as an API, computed locally and deterministically — the slip, RPM and pitch numbers that decide whether a boat hits its numbers or labours. The slip endpoint gives propeller slip from the pitch, the prop RPM and the actual boat speed: theoretical speed = pitch × prop RPM ÷ 1215, and slip = (theoretical − actual) ÷ theoretical — a 19-inch prop at 2000 RPM should make 31 knots in theory, so a real 26.6 knots is about 15 % slip, normal for a clean planing boat. The prop-rpm endpoint gives the propeller RPM from the engine RPM and the gear (reduction) ratio — a 2:1 gearbox spins the prop at half engine speed — and, with a pitch, the theoretical no-slip speed at that RPM. The pitch endpoint gives the pitch needed to reach a target speed at a prop RPM and expected slip, pitch = target × 1215 ÷ (prop RPM × (1 − slip)), so you can prop the boat to let the engine reach the top of its wide-open-throttle range instead of lugging. Everything is computed locally and deterministically, so it is instant and private. Ideal for boating and marine apps, repower and prop-shop tools, performance calculators, and seamanship study aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — hull, load and bottom condition shift real slip.

api.oanor.com/propeller-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

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