API · /poolheat-api

Pool Heating API

healthy 3,070 Subscribers

Swimming-pool and spa heating maths as an API, computed locally and deterministically — the thermodynamics a pool owner, builder or service tech sizes a heater and budgets a heat-up with. The heat-time endpoint gives the hours to warm a body of water: energy = gallons × 8.34 lb/gal × the temperature rise in °F (that many BTU), divided by the heater's BTU/hr output — raising 20,000 gallons by 10 °F is 1,668,000 BTU, about 4.2 hours on a 400,000 BTU/hr gas heater before surface losses. The heater-size endpoint inverts it: the output you need to hit a temperature rise within a target time, so the same job in 24 hours wants only about 69,500 BTU/hr. The heat-pump endpoint gives a heat pump's electricity and cost — kWh = thermal BTU ÷ 3412 ÷ the COP (5–6 for pool units in mild weather) — so that 1,668,000 BTU costs about 89 kWh at a COP of 5.5, a fraction of resistance heat. Pass the temperature rise directly, or a current and target temperature. Everything is computed locally and deterministically, so it is instant and private. Ideal for pool-builder and service apps, heater-sizing and quote tools, spa and hot-tub calculators, and energy-comparison sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Ideal figures — add for surface and wind losses. For pool chemistry use a pool-chemistry API.

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

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

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

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

API health

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

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 420 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 420 calls/month
  • 2 req/sec
  • Heat time + heater size + heat pump
  • No credit card
Sign in to subscribe

Starter

€5.60 /month

  • 11,500 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 11,500 calls/month
  • 6 req/sec
  • Gas & heat-pump sizing
  • Email support
Sign in to subscribe

Pro

€17.80 /month

  • 76,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 76,000 calls/month
  • 15 req/sec
  • Quote & builder pipelines
  • Priority support
Sign in to subscribe

Mega

€52.80 /month

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

Built by

Related APIs

Other APIs with overlapping tags.

Water Turnover API

Water turnover and circulation maths as an API, computed locally and deterministically — the flow-rate numbers a pool tech or aquarist sizes a pump to. The turnover endpoint relates a body of water's volume to its flow: turnover time = volume ÷ flow rate, and turnovers per day = 24 ÷ turnover time, so a 50,000-litre pool circulated at 10,000 L/h turns over in 5 hours, almost 5 times a day (pools usually target an 8–12 hour turnover, 2–4 a day); give a target turnover time instead and it returns the flow rate to size the pump to. The aquarium endpoint accounts for the real-world head loss that robs a pump of flow: effective flow = rated flow × (1 − head loss), so a 1,500 L/h pump at 40 % loss really moves 900 L/h, about 4.5× a 200-litre tank an hour; give a target turnovers-per-hour (freshwater 4–6×, planted 5–10×, reef 10×+) and it returns the rated pump to buy so losses still leave enough flow. Everything is computed locally and deterministically, so it is instant and private. Ideal for pool-service, aquarium, hydroponics, water-feature and pond app developers, pump-sizing and circulation tools, and equipment education. Pure local computation — no key, no third-party service, instant. Use consistent volume and flow units. Live, nothing stored. 2 compute endpoints. For pump power and head use a pump API; for pool chemistry a pool-chemistry API.

api.oanor.com/turnover-api

Pool Chemistry API

Swimming-pool water-chemistry maths as an API, computed locally and deterministically — the dosing and water-balance numbers a pool service tech or owner runs at every visit. The chlorine endpoint works out how much of a product to add to raise free chlorine from the current to a target ppm in a given volume: dose (g) = Δppm × litres / 1000 ÷ the product's available-chlorine fraction, with built-in strengths for liquid chlorine (12.5 %), household bleach (6 %), cal-hypo (65 %), dichlor (56 %) and trichlor (90 %), or your own — raising 50,000 litres by 2 ppm needs 800 g of liquid chlorine or 154 g of cal-hypo. The lsi endpoint computes the Langelier Saturation Index, LSI = pH + temperature factor + calcium factor + alkalinity factor − 12.1, the standard measure of whether water is corrosive (below −0.3, eating plaster and metal), balanced (−0.3 to +0.3) or scaling (above +0.3), with a cyanuric-acid correction to the carbonate alkalinity. Everything is computed locally and deterministically, so it is instant and private. Ideal for pool-service, spa, water-treatment and home-maintenance app developers, dosing and water-balance tools, and pool-care education. Pure local computation — no key, no third-party service, instant. Metric: litres, ppm (mg/L), °C. Live, nothing stored. 2 compute endpoints. Always confirm with a test kit — this is an aid, not a substitute. For pool water volume use a pool-geometry API.

api.oanor.com/poolchem-api

Swimming Pool Calculator API

Swimming-pool maths as an API, computed locally and deterministically. The volume endpoint computes the water volume of a rectangular, round or oval pool — in litres, US gallons and cubic metres — from the dimensions and either an average depth or separate shallow and deep depths (it averages them), in feet or metres. The dose endpoint computes how much of a chemical to add to raise a level by a target ppm: give the pool volume and the desired increase, and either the product strength percent or a preset (cal-hypo, dichlor, trichlor, liquid chlorine, bleach), and it returns the amount in grams, kilograms, ounces and pounds. The salt endpoint computes the salt needed to reach a target salinity in a saltwater pool from the current and target ppm, in kilograms and pounds (and 40 lb bags). Everything is computed locally and deterministically, so it is instant and private. Dosing depends on the actual product strength and your test readings — always follow the product label, add in stages and re-test before adding more. Ideal for pool-service and maintenance apps, pool-builder and retailer tools, and smart-pool and home-automation systems. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is pool maths; for general volume or unit conversion use a unit-conversion API.

api.oanor.com/pool-api

Degree Day API

Heating and cooling degree-day maths as an API, computed locally and deterministically. The daily endpoint computes the heating degree days, HDD = max(0, base − mean), and the cooling degree days, CDD = max(0, mean − base), for a single day from a base temperature and the daily mean — or the minimum and maximum, since the mean is taken as their average. The period endpoint sums the degree days over a list of daily temperatures (means or min/max pairs), returning the total HDD and CDD, the count of heating and cooling days and the average temperature — the standard way to characterise a heating or cooling season. The energy endpoint turns degree days into an energy estimate: the heat delivered is UA·DD·24/1000 kWh from the building heat-loss coefficient, the fuel or electricity input is that divided by the boiler efficiency (or a heat-pump COP), and — with an energy price — the cost. Everything is computed locally and deterministically, so it is instant and private. Ideal for building-energy, HVAC and facilities tools, heating-bill and fuel-budget estimation, weather-normalisation and energy-benchmarking apps, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is degree-day demand estimation; for U-value and heat-loss fabric calculations use a U-value API.

api.oanor.com/degreeday-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

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