API · /ductwork-api

HVAC Ductwork API

healthy 3,153 Subscribers

HVAC duct-sizing maths as an API, computed locally and deterministically — the duct dimensions an installer or designer sizes a system with so the air moves quietly and efficiently. The round-duct endpoint gives the round duct for an airflow at a target velocity: area = airflow ÷ velocity (CFM ÷ ft/min = ft²), then diameter = √(4·area/π) — 400 CFM at a 700 fpm trunk velocity wants about a 10.2-inch round, rounded up to the next 12-inch trade size. The velocity endpoint gives the air speed inside a duct from the airflow and its size, round or rectangular — 400 CFM through a 12 × 8 duct runs at 600 fpm, comfortably quiet, while the same air in a 10-inch round moves at 733 fpm. The equivalent endpoint gives the equivalent round diameter of a rectangular duct by the ASHRAE relation De = 1.30 · (a·b)^0.625 ÷ (a+b)^0.25, so a 12 × 8 rectangular carries the same air at the same friction as a 10.7-inch round — letting you size on a round friction chart and convert to fit the space. Everything is computed locally and deterministically, so it is instant and private. Ideal for HVAC-design and installer apps, duct-sizing and takeoff tools, building-services calculators, and trade-school aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. For room air changes use a ventilation API; for the cooling/heating load use an HVAC API.

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

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

/api/ductwork-api/openapi.json
/api/ductwork-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,153
active
Total calls
4
last 7 days
status Full status page → · 8 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 450 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 450 calls/month
  • 2 req/sec
  • Round duct + velocity + equivalent
  • No credit card
Sign in to subscribe

Starter

€5.80 /month

  • 12,000 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 12,000 calls/month
  • 6 req/sec
  • ASHRAE equivalent diameter
  • Email support
Sign in to subscribe

Pro

€18.10 /month

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

Mega

€53.40 /month

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

Built by

Related APIs

Other APIs with overlapping tags.

Propane & LPG Tank API

Propane and LPG tank maths as an API, computed locally and deterministically — the usable-fill, energy and burn-time numbers a homeowner, RV-er, grill-master or HVAC tech works out at the tank. The tank endpoint turns a tank size into real numbers: liquid propane is 4.24 lb per gallon and holds 91,452 BTU per gallon (about 21,569 BTU per pound), so a 20 lb barbecue cylinder carries roughly 4.7 gallons and 431,000 BTU. It knows the two ways tanks are sized — a portable cylinder (20, 30, 40 lb) is rated by the propane weight it holds, while a bulk tank (100, 250, 500, 1000 gal) is filled to only 80 % of its water capacity to leave room for expansion, so a 500-gallon tank actually holds 400 gallons of propane and about 36.6 million BTU. The burntime endpoint divides that energy by an appliance’s BTU-per-hour input rating to give run time: that same 20 lb cylinder runs a 30,000 BTU/hr patio heater about 14 hours, and an optional hours-per-day turns it into days. The refill endpoint costs a fill from a price per gallon, gives the cost per 100,000 BTU so you can compare propane to natural gas or electricity, and — with an appliance rating — the running cost per hour. Everything is computed locally and deterministically, so it is instant and private. Ideal for home-energy, HVAC, RV, off-grid, grilling and outdoor-living app developers, fuel-cost and tank-monitor tools, and propane-delivery calculators. Pure local computation — no key, no third-party service, instant. US units. Live, nothing stored. 3 compute endpoints. For vehicle fuel economy or the ideal gas law use a different API.

api.oanor.com/propane-api

Psychrometric Air API

Moist-air (psychrometric) thermodynamics as an API, computed locally and deterministically. The dewpoint endpoint computes the dew-point temperature and the saturation and actual water-vapour pressures from a dry-bulb temperature and relative humidity, using the Magnus-Tetens relation over water, es = 6.112·exp(17.62·T/(243.12+T)) hPa — the dew point is the temperature to which air must cool for water vapour to start condensing. The humidity-ratio endpoint computes the humidity ratio (mixing ratio) W = 0.621945·Pw/(P−Pw), the specific and absolute humidity, the vapour pressure and the moist-air enthalpy h = 1.006·T + W·(2501 + 1.86·T) kJ per kg of dry air, at any total pressure (default sea-level 101325 Pa). The wet-bulb endpoint computes the wet-bulb temperature with the Stull (2011) empirical fit and the wet-bulb depression, the gap between dry- and wet-bulb that widens as the air gets drier. Temperatures are in °C, relative humidity in %, pressures in Pa. Everything is computed locally and deterministically, so it is instant and private. Ideal for HVAC, building-physics, meteorology, drying, greenhouse and data-centre-cooling app developers, comfort and condensation-risk tools, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is moist-air psychrometrics; for ASHRAE ventilation airflow use a ventilation API, for the WBGT heat-stress index a WBGT API and for the standard atmosphere an atmosphere API.

api.oanor.com/psychrometric-api

Ventilation & Airflow API

Ventilation and airflow maths as an API, computed locally and deterministically. The air-changes endpoint relates the air changes per hour, the airflow in CFM and the room volume — ACH = CFM × 60 ÷ volume — and solves whichever you leave out (the volume can be given directly or as length × width × height), reporting the airflow in cubic metres per hour too. The required-cfm endpoint applies the ASHRAE 62.1 breathing-zone rule, outdoor airflow = people × Rp + floor area × Ra, with sensible office defaults (5 CFM per person and 0.06 CFM per square foot), to size the fresh-air a space needs. The duct-velocity endpoint computes the air velocity in a round or rectangular duct from the flow and the duct size, V = CFM ÷ area, in feet per minute, metres per second and miles per hour, with guidance on whether it is in the quiet residential or noisier high-velocity range. Everything is computed locally and deterministically, so it is instant and private. Ideal for HVAC, building-services, indoor-air-quality and facilities app developers, ventilation-sizing and duct-design tools, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is ventilation and airflow; for heating and cooling load sizing use an HVAC API.

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