
Construction Calculator API
Contractor-grade material take-offs and planning costs, from the same tested formulas that run the Smart Calculator sites (smartroofingcalculator.com, smartdeckingcalculator.com, smartfencingcalculator.com, smarttilecalculator.com, smartgravelcalculator.com).
Access is through RapidAPI: subscribe there, then call the RapidAPI host with your key. Direct calls to this origin are refused.
Get a free API key on RapidAPI OpenAPI 3.1 specWhat you can build
- Contractor quote forms: turn a homeowner's measurements into a material list and a price range before the site visit.
- Estimating and CRM tools: add roofing squares, shingle bundles, deck boards, fence posts or drywall sheets to a job record in one call.
- Home-improvement apps and stores: show "you need 74 bundles" next to the product, in imperial or metric.
- Spreadsheets and no-code: call it from Google Sheets (Apps Script), Zapier or Make with a plain GET request.
Quick start
Use the host shown on the RapidAPI listing; the one below is illustrative.
curl --get https://construction-calculator-api.p.rapidapi.com/v1/roofing/shingles \ -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \ -H "X-RapidAPI-Host: construction-calculator-api.p.rapidapi.com" \ -d length=50 -d width=40 -d pitch=6 -d wastePercent=10
{ "endpoint": "/v1/roofing/shingles", "units": "imperial",
"result": { "roofArea": 2236.068, "squares": 24.5967, "bundles": 74, … },
"units_of_measure": { "roofArea": "sq ft", "bundles": "count", … },
"notes": ["Average residential roof size."], "warnings": [], "requestId": "…" }
// JavaScript (Node 18+ or the browser, through your own backend so the key stays private)
const r = await fetch("https://construction-calculator-api.p.rapidapi.com/v1/fencing/posts?length=150&postSpacing=8&gates=1", {
headers: { "X-RapidAPI-Key": process.env.RAPIDAPI_KEY, "X-RapidAPI-Host": "construction-calculator-api.p.rapidapi.com" },
});
const { result } = await r.json();
# Python
import os, requests
r = requests.get("https://construction-calculator-api.p.rapidapi.com/v1/drywall/room",
params={"length": 12, "width": 12, "height": 8},
headers={"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": "construction-calculator-api.p.rapidapi.com"})
print(r.json()["result"])
Every endpoint takes GET query parameters or a POST JSON body. Add units=metric to send and receive m, mm, m², m³, kg, t and L. Counts (bundles, sheets, bags) and money are never converted.
Errors
{ "error": { "status": 400, "code": "INVALID_PARAMETER",
"message": "'length' must be greater than 0 ft",
"details": [{ "param": "length", "issue": "must be greater than 0 ft" }] },
"requestId": "…" }
Codes: INVALID_PARAMETER, MISSING_PARAMETER, INVALID_JSON, PAYLOAD_TOO_LARGE (400/413) · UNAUTHORIZED (401) · NOT_FOUND (404) · METHOD_NOT_ALLOWED (405) · RATE_LIMITED (429) · INTERNAL_ERROR (500).
Endpoints
Roofing 22
GET /v1/roofing/pitch | Roof pitch → angle, slope %, pitch factor, ridge height smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/area | Roof area and squares from a footprint smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/shingles | Shingle bundles and squares smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/underlayment | Underlayment rolls smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/drip-edge | Drip edge pieces smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/ridge-cap | Hip & ridge cap bundles smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/starter-strip | Starter strip bundles smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/nails | Roofing nails (count and pounds) smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/sheathing | Plywood / OSB roof sheathing sheets smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/flashing | Flashing linear feet, pieces and material cost ranges smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/valleys | Valley flashing / ice-and-water smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/ventilation | Attic ventilation (NFA, intake & exhaust vents) smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/waste-factor | Waste factor with complexity add-ons smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/gutters | Gutters, downspouts, hangers, corners smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/trusses | Truss count, rafter length, ridge height smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/metal-cost | Metal roof installed cost estimate smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/flat-roof | Flat roof membrane rolls & adhesive smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/tile-roof | Concrete / clay / slate roof tiles and weight smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/coating | Roof coating gallons and 5-gal pails smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/snow-load | Snow load on a roof vs its capacity smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/labor | Roofing crew days and labor hours smartroofingcalculator.com (src/lib/calculations.ts) |
GET /v1/roofing/solar-potential | Rooftop solar panels, kW, output and payback smartroofingcalculator.com (src/lib/calculations.ts) |
Decking 9
GET /v1/decking/cost | Deck cost estimate (low–high) with breakdown smartdeckingcalculator.com (src/lib/calculator.ts) |
GET /v1/decking/boards | Deck boards (rows × boards per row + pattern waste) smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/joists | Joist count and linear feet smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/screws | Deck screws per sq ft, total, pounds and boxes smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/posts | Deck posts per beam and total smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/footings | Footing diameter and concrete bags per post smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/balusters | Railing balusters under the 4-inch rule smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/cable-railing | Cable railing runs, cable length, posts, tensioners smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
GET /v1/decking/stain | Deck stain / sealer gallons smartdeckingcalculator.com + DeckFenceMath.kt (studio deck app port) |
Fencing 9
GET /v1/fencing/posts | Fence posts (line + gate) smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/pickets | Fence pickets smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/rails | Fence rails and rail sticks smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/post-concrete | Concrete bags to set fence posts smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/panels | Prefab fence panels, posts and brackets smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/chain-link | Chain-link fence full takeoff smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/electric | Electric fence wire, posts, insulators, ground rods, energizer smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/acreage | Fence length to enclose an acreage smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
GET /v1/fencing/stain | Fence stain gallons smartfencingcalculator.com (src/lib/calculations.ts) + DeckFenceMath.kt |
Drywall 4
GET /v1/drywall/sheets | Drywall sheets for an area Studio drywall app (DrywallMath) via InteriorMath.kt |
GET /v1/drywall/room | Full drywall takeoff for a room Studio drywall app (DrywallMath) via InteriorMath.kt |
GET /v1/drywall/finishing | Joint compound, tape and corner bead Studio drywall app (DrywallMath) via InteriorMath.kt |
GET /v1/drywall/screws | Drywall screws per sheet and total Studio drywall app (DrywallMath) via InteriorMath.kt |
Insulation 3
GET /v1/insulation/blown-in | Blown-in insulation bags to reach a target R-value Studio insulation app via InteriorMath.kt; smart-insulation-guide |
GET /v1/insulation/batts | Wall batt bundles Studio insulation app via InteriorMath.kt; smart-insulation-guide |
GET /v1/insulation/r-value-thickness | Thickness and units to add for a target R-value smartroofingcalculator.com (calcInsulation) |
Tile 5
GET /v1/tile/count | Tiles and boxes for an area smarttilecalculator.com (src/lib/tileCalculations.ts) + InteriorMath.kt |
GET /v1/tile/grout | Grout pounds, bags and coverage per bag smarttilecalculator.com (src/lib/tileCalculations.ts) + InteriorMath.kt |
GET /v1/tile/thinset | Thinset mortar bags by trowel notch smarttilecalculator.com (src/lib/tileCalculations.ts) + InteriorMath.kt |
GET /v1/tile/backer-board | Cement backer board sheets and screws smarttilecalculator.com (src/lib/tileCalculations.ts) + InteriorMath.kt |
GET /v1/tile/cost | Tile job cost (material band + supplies + labor) smarttilecalculator.com (src/lib/tileCalculations.ts) + InteriorMath.kt |
Landscape & Aggregates 6
GET /v1/landscape/gravel | Gravel / crushed stone: cubic yards, tons, bags, truckloads, cost smartgravelcalculator.com (src/lib/calculators*.ts) + YardMath.kt |
GET /v1/landscape/mulch | Mulch cubic yards, bags and bulk vs bagged cost smartgravelcalculator.com (src/lib/calculators*.ts) + YardMath.kt |
GET /v1/landscape/topsoil | Topsoil cubic yards, tons and bags smartgravelcalculator.com (src/lib/calculators*.ts) + YardMath.kt |
GET /v1/landscape/sand | Sand cubic yards, tons and 50 lb bags smartgravelcalculator.com (src/lib/calculators*.ts) + YardMath.kt |
GET /v1/landscape/sod | Sod rolls/slabs, pallets, weight and trips Studio sod app (SodMath) via YardMath.kt |
GET /v1/landscape/grass-seed | Grass seed pounds and bags by species Studio sod app (SodMath) via YardMath.kt |
Concrete 2
GET /v1/concrete/slab | Concrete slab: cubic yards, bags, gravel base, ready-mix vs bags smartgravelcalculator.com (src/lib/calculators*.ts) + YardMath.kt |
GET /v1/concrete/volume | Concrete for slabs, footings, round columns or holes → yards and bags DeckFenceMath.kt (DeckFootings) + smartgravelcalculator.com |
Paint 1
GET /v1/paint/room | Paint and primer gallons for a room API-authored (label-coverage method) |
Conversions 4
GET /v1/convert/units | Convert length, area, volume, mass or temperature ConversionFormulas.kt (studio converter), exact SI factors |
GET /v1/convert/pitch | Roof pitch ↔ degrees ↔ percent slope smartroofingcalculator.com (calcPitch) |
GET /v1/convert/board-feet | Lumber board feet and linear feet API-authored (standard lumber board-foot rule) |
GET /v1/convert/volume-from-area | Area × depth → cubic feet, cubic yards, cubic meters smartgravelcalculator.com (cubicYards) |
Planning estimates, not engineering. © Dixon App Studio · Try the formulas by hand: roofing, decking, fencing, tile, gravel · developer page