Full material bill + concrete
API · /fence-api
Fence Calculator API
Fencing material estimating as an API, computed locally and deterministically. The posts endpoint works out the number of fence sections, line posts and rails for a run from its length and the post spacing, plus the total rail length. The pickets endpoint computes how many pickets or boards a length needs from the picket width and the gap between boards (set the gap to zero for a privacy fence). The materials endpoint produces a full bill of materials in one call — posts, rails, pickets and the concrete for the post holes, in cubic feet and metres and in 80 lb pre-mix bags — from the fence dimensions and the hole size and post depth. Everything is computed locally and deterministically, so it is instant and private. These are estimates: allow extra for waste, gates and corner posts, and follow your local building code for post depth and footing size. Picket width and gap are in inches; length can be feet, yards or metres. Ideal for fencing contractors and estimators, DIY and home-improvement tools, and landscaping and quoting software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is fencing materials; for paint, tile and concrete use a construction-calculator API and for mulch and gravel use a landscaping API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 90 ms
- Server probes · 24h
- Subscribers
- 3,191
- active
- Total calls
- 40
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 11,335 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 11,335 calls/month
- 2 req/sec
- Posts + pickets + materials
- No credit card
Starter
€12.85 /month
- 20,950 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 20.95k calls/month
- 8 req/sec
- Concrete bags + rail totals
- Email support
Pro
€32.75 /month
- 259,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 259.5k calls/month
- 20 req/sec
- Fencing / estimating pipelines
- Priority support
Mega
€70.75 /month
- 1,340,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.34M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Threads API
32 endpoints for live Meta Threads data — users, posts, search, topics, trending, URL helpers.
api.oanor.com/threads-api
Instagram API
20 endpoints for live Instagram public data — profiles, posts, reels, media, hashtags, locations, search.
api.oanor.com/instagram-api
ADA Ramp API
ADA wheelchair-ramp maths as an API, computed locally and deterministically — the run, landing and slope numbers a builder or accessibility planner sizes a ramp by. The rule the ADA fixes is 1 inch of rise per 12 of run, a maximum 8.33 % slope, so the ramp endpoint turns a rise into the ramp: run = rise × 12 (or × 16 / × 20 for a gentler grade if you have the room), plus the level landings the code requires — a 5-foot landing top and bottom and another between runs whenever the rise exceeds 30 inches — and the total length end to end, so a 24-inch rise needs a 24-foot run and 34 feet overall, while a 36-inch rise breaks into two runs with an intermediate landing for 51 feet. The fit endpoint answers the real-world question: does a ramp for this rise fit the run you have? It returns the minimum run an ADA 1:12 ramp needs, whether your space is enough, and the slope you would actually get if you forced it in — flagging when that exceeds 8.33 % and you need a switchback or a lower rise. Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, accessibility, home-modification and contractor app developers, ramp-estimator and code-check tools, and building software. Pure local computation — no key, no third-party service, instant. Confirm against current ADA and local code. Live, nothing stored. 2 compute endpoints.
api.oanor.com/adaramp-api
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
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Fence Calculator API?
What's the rate limit for Fence Calculator API?
How much does Fence Calculator API cost?
Can I cancel my subscription anytime?
Is Fence 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/fence-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/fence-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/fence-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/fence-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.