Roof area, squares & bundles
API · /roofing-api
Roofing Calculator API
Roofing geometry as an API, computed locally and deterministically. The pitch endpoint converts a roof pitch between every common form — rise-over-run (such as 6:12), the angle in degrees, the percent slope, and the slope multiplier (the factor that turns a flat footprint into the real sloped area). The rafter endpoint computes the rafter length from the horizontal run and the pitch — that is, the hypotenuse √(run² + rise²) — with an optional overhang projected along the slope. The area endpoint computes the true sloped roof area from the building footprint (entered directly or as length × width) and the pitch, adds a wastage allowance, and reports the number of US roofing squares and shingle bundles needed. Everything is computed locally and deterministically, so it is instant and private. Lengths are unit-agnostic — use consistent units — while the squares and bundles figures assume US roofing squares of 100 square feet, so pass the footprint in square feet for those. Ideal for roofing contractors and estimators, construction and DIY tools, solar-install planning, and quoting software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is roof geometry; for paint, tile, concrete and brick quantities use a construction-calculator API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 75 ms
- Server probes · 24h
- Subscribers
- 4,431
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 10,235 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 10,235 calls/month
- 2 req/sec
- Pitch + rafter + area
- No credit card
Starter
€11.75 /month
- 19,850 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 19.85k calls/month
- 8 req/sec
- Squares + shingle bundles
- Email support
Pro
€31.65 /month
- 248,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 248.5k calls/month
- 20 req/sec
- Roofing / estimating pipelines
- Priority support
Mega
€69.65 /month
- 1,285,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.285M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Roof Pitch API
Roofing geometry as an API, computed locally and deterministically. The pitch endpoint converts freely between the three ways trades describe a roof slope — the pitch as rise per 12 of run (the X:12 notation), the angle in degrees and the slope as a percentage — using angle = atan(pitch/12); a 6:12 roof is 26.57° and a 50 % slope, and it also returns the pitch multiplier √(1 + tan²) that scales a flat plan length to the true along-slope length. The rafter endpoint computes the common rafter length from the horizontal run and the pitch, rafter = √(run² + rise²) with rise = run·tan(angle), and adds the along-slope length of an optional horizontal overhang — a 12-unit run at 6:12 needs a 13.42-unit rafter. The area endpoint converts a flat building footprint into the actual sloped roof surface area, footprint / cos(angle), the figure you need to order shingles, membrane or underlay; a 100 m² footprint under a 6:12 roof is about 111.8 m². Lengths are unit-agnostic — use a consistent unit. Everything is computed locally and deterministically, so it is instant and private. Ideal for roofing, construction, contractor-estimating, home-improvement, solar-install and architecture app developers, take-off and material-ordering tools, and trade software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is roofing-specific geometry; for a general grade or gradient use a slope API.
api.oanor.com/roofpitch-api
Snow Load API
Roof snow-load maths as an API, computed locally and deterministically using the ASCE 7 method. The roof endpoint turns a ground snow load into the design roof snow load: the flat-roof load is pf = 0.7 · Ce · Ct · Is · pg, using the exposure, thermal and importance factors, and the sloped-roof load is ps = Cs · pf, where the slope factor Cs follows the warm-roof all-surfaces curve (1.0 up to 30°, falling linearly to 0 at 70°) or a value you supply. It reports every load in kilopascals, pascals, pounds per square foot and kilograms per square metre, and — if you give a roof area — the total load in kilonewtons, kilograms, tonnes and pounds. The depth endpoint converts a measured snow depth and a density (given directly or by snow type, from fresh ~100 to ice ~917 kg/m³) into a load. The convert endpoint converts a snow load between kPa, psf, kg/m², Pa and psi. Depths accept millimetres, centimetres, metres, inches or feet. Everything is computed locally and deterministically, so it is instant and private. An engineering aid, not a code-stamped design — always confirm against the governing local code with a qualified engineer. Ideal for structural and roofing tools, building-code and permitting apps, solar-install and carport planners, and winter-risk calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is roof snow-load engineering; for roof pitch and area geometry use a roofing API and for beam reactions use a beam API.
api.oanor.com/snowload-api
Handrail & Baluster API
Railing and baluster layout maths as an API, computed locally and deterministically — the baluster-count, spacing and post numbers a deck builder, fabricator or balustrade designer sets a guardrail out with. The baluster-count endpoint gives the smallest number of balusters that keeps every gap within the safety limit: between two posts n balusters leave n+1 gaps, so the count = ceil((rail length − max gap) ÷ (baluster width + max gap)). The usual guardrail limit is a 100 mm (4-inch) sphere — a child-safety rule — so a 2000 mm rail with 40 mm balusters needs 14 of them at even 96 mm gaps; round up, because one fewer opens the gaps past the limit. The layout endpoint sets out a known count evenly: the gap = (rail length − total baluster width) ÷ (count + 1), the centre-to-centre pitch = baluster width + gap, and the first baluster's centre sits one gap plus half a baluster from the post face, so you mark the first centre and step off the pitch with the last gap landing equal to the first. The post-count endpoint sizes the frame: a run needs one more post than spans, spans = ceil(run ÷ max post spacing), posts = spans + 1, even spacing = run ÷ spans — a 6 m run at a 1.8 m max takes 4 spans and 5 posts at a tidy 1.5 m. Everything is computed locally and deterministically, so it is instant and private. Ideal for deck and balustrade design tools, fabrication and estimating apps, and building calculators. Pure local computation — no key, no third-party service, instant. Uses the common 100 mm infill rule — confirm your local code. 3 compute endpoints. For stair rise and run use a stair API; for fence pickets a fence API.
api.oanor.com/handrail-api
Arch Geometry API
Circular-segment arch geometry as an API, computed locally and deterministically — the radius, arc-length and set-out numbers a mason, joiner, stonemason or CAD user lays a segmental arch out with. A segmental arch is an arc of a circle struck through the two springings and the crown: the from-span-rise endpoint takes the span and the rise (the height of the crown above the springing line) and returns the radius = (span²/4 + rise²) ÷ (2·rise), the central angle it subtends, the arc length along the curve, and the segment area of the void below it — flatter arches with a small rise have surprisingly huge radii. The from-radius-angle endpoint inverts it, returning the chord (span), the rise (sagitta), the arc length and the area from a known radius and central angle, the way a curve struck with a trammel or a router on a pivot is described. The setout-ordinates endpoint gives the practical numbers to mark a template: the rise of the arc above a straight base line at equally spaced stations across the span (y = √(R² − x²) − (R − rise)), so you can plot the heights, connect them and cut a plywood former or bend a batten without a giant compass — the ends come out zero at the springings and the middle equals the rise at the crown. Everything is computed locally and deterministically, so it is instant and private. Ideal for masonry and joinery layout tools, stair and window-head design, and CAD and woodworking calculators. Pure local computation — no key, no third-party service, instant. Segmental (up to a semicircle) arcs. 3 compute endpoints. For road curves use a horizontal- or vertical-curve API; for plain shape areas a geometry API.
api.oanor.com/arch-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Roofing Calculator API?
What's the rate limit for Roofing Calculator API?
How much does Roofing Calculator API cost?
Can I cancel my subscription anytime?
Is Roofing Calculator API GDPR-compliant?
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/roofing-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/roofing-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/roofing-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/roofing-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 inNew thread
·
-
Provider answer
🔒 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 inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.