Board feet
API · /lumber-api
Lumber Calculator API
Lumber and framing material-estimation maths as an API, computed locally and deterministically. The boardfeet endpoint computes board feet — the standard volume unit for sawn timber, (thickness_in × width_in × length_ft) ÷ 12 — for a quantity of boards, with the total board feet and linear feet. The studs endpoint frames a wall: the number of vertical studs, ceil(wall length ÷ spacing) + 1 (16-inch ≈ 0.4064 m or 24-inch ≈ 0.6096 m centres), with two extra studs per opening, plus the plate boards for the top and bottom plates. The cost endpoint totals the lumber either by board foot (board feet × price per board foot) or by piece (pieces × price per piece). Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, carpentry and DIY app developers, framing and material take-off tools, and lumberyard and builder calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is lumber and framing estimation; for drywall sheets use a drywall API and for concrete use a concrete API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 76 ms
- Server probes · 24h
- Subscribers
- 4,756
- active
- Total calls
- 80
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 2,000 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- Board-feet volume endpoint
- Deterministic instant results
- Imperial & metric units
Starter
€9.00 /month
- 25,000 calls / month
- 5 requests / second
- Hard cap (429 above quota, no overage)
- All framing material-estimation endpoints
- Board-feet & linear-foot conversions
- Waste-factor allowance input
- Email support
Pro
€24.00 /month
- 150,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- High-volume takeoff batches
- Stud/joist count estimation
- Cost-per-board-foot calculation
- Priority support
Mega
€75.00 /month
- 900,000 calls / month
- 60 requests / second
- Hard cap (429 above quota, no overage)
- Estimating-SaaS scale throughput
- Full framing & material schedule outputs
- Bulk batch board-feet computation
- SLA-backed support
Built by
Related APIs
Other APIs with overlapping tags.
Deck Builder API
Deck-building maths as an API, computed locally and deterministically — the board, joist and fastener counts a homeowner or contractor needs to material out a rectangular deck. The boards endpoint turns the deck size into a real shopping list: rows = deck width ÷ (board width + gap), rounded up, so a 16 ft × 12 ft deck with a 5.5-inch board face (a 5/4×6) and a 1/8-inch gap needs 26 rows; boards run the length, each row takes one 16 ft board, and a 10 % waste allowance brings it to 29 boards plus the linear footage and the deck area. The joists endpoint frames it: joists are spaced along the length, so count = ⌊length ÷ spacing⌋ + 1 — thirteen joists at 16-inch on-center (seventeen at 12-inch for stronger or diagonal decking), each spanning the width, plus two rim joists and a ledger as total framing linear feet. The fasteners endpoint counts the screws: every decking row crosses every joist once and is fastened with two face screws there, so a 16×12 deck takes 26 × 13 × 2 = 676 screws, about 744 with waste — or one hidden clip per intersection. Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, contractor, home-improvement, building-materials and renovation app developers, deck-estimator and takeoff tools, and lumber-yard calculators. Pure local computation — no key, no third-party service, instant. US units (feet/inches). Live, nothing stored. 3 compute endpoints. Rectangular decks; for indoor floor area use a flooring API.
api.oanor.com/deck-api
Picture Framing API
Picture-framing maths as an API, computed locally and deterministically — the mat-cutting and moulding numbers a framer or artist measures a job by. The mat endpoint sizes the mat board around an artwork: the window opening is the art minus a small overlap on each edge (≈ 0.25 inch so the mat holds the print), and the outer mat is the window plus the border widths — give one border or per-side borders, with a heavier bottom for a balanced, bottom-weighted mat, so an 8×10 print with a 2-inch border has a 7.5×9.5 window and an 11.5×13.5 mat. The moulding endpoint computes the frame stick needed: length = inner perimeter + 8 × the moulding width, because each of the four 45-degree mitred corners adds one moulding width — an 11.5×13.5 frame in 1.5-inch moulding needs 62.5 inches, plus any waste allowance. Everything is computed locally and deterministically, so it is instant and private. Ideal for picture-framing, custom-framing, art-gallery and DIY app developers, mat-cutter and moulding-estimating tools, and framing education. Pure local computation — no key, no third-party service, instant. Imperial inches in; lengths in inches and feet. Live, nothing stored. 2 compute endpoints. A planning aid — measure twice, cut once.
api.oanor.com/framing-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 Lumber Calculator API?
What's the rate limit for Lumber Calculator API?
How much does Lumber Calculator API cost?
Can I cancel my subscription anytime?
Is Lumber 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/lumber-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/lumber-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/lumber-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/lumber-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.