Coverage from solids & DFT
API · /coating-api
Industrial Coatings API
Industrial and protective-coatings maths as an API, computed locally and deterministically — the film-build numbers a coatings inspector, painter or estimator works to, the ones simple paint estimating skips. The coverage endpoint gives theoretical and practical coverage from the coating's volume solids and the target dry film thickness: coverage = 1604 × the volume-solids fraction ÷ the DFT in mils, where 1604 is the square feet a gallon covers at one mil — so a 50 %-solids coating at 2 mils dry covers about 401 ft² per gallon, less a loss factor for overspray and surface profile. The film-thickness endpoint converts between wet and dry film thickness through the volume solids: WFT = DFT ÷ the solids fraction, because the solvent flashes off and the film shrinks, so a 50 %-solids coating laid 4 mils wet dries to 2 mils — the number you check with a wet-film comb as you spray. The transfer-efficiency endpoint gives the real material needed: theoretical gallons ÷ the transfer efficiency, since conventional spray lands only ~25 % on the part, HVLP ~65 %, electrostatic up to ~95 %. Everything is computed locally and deterministically, so it is instant and private. Ideal for coatings-estimating and inspection apps, industrial-painting and protective-coating tools, NACE/SSPC study aids, and spec calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. For simple wall-paint area estimating use a paint API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 79 ms
- Server probes · 24h
- Subscribers
- 3,042
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 440 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 440 calls/month
- 2 req/sec
- Coverage + film thickness + TE
- No credit card
Starter
€5.65 /month
- 11,800 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 11,800 calls/month
- 6 req/sec
- Volume-solids & WFT/DFT
- Email support
Pro
€17.90 /month
- 76,500 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 76,500 calls/month
- 15 req/sec
- Estimating & inspection pipelines
- Priority support
Mega
€53.00 /month
- 252,000 calls / month
- 36 requests / second
- Hard cap (429 above quota, no overage)
- 252,000 calls/month
- 36 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Air Compressor API
Compressed-air maths as an API, computed locally and deterministically — the receiver, pump-up and SCFM numbers a pneumatics tech or shop owner sizes a system with. The receiver-size endpoint gives the tank you need to ride out a demand burst: volume = demand (free-air CFM) × minutes × 14.7 ÷ the usable pressure window (max − min) — pulling 20 CFM for a minute over a 175-to-100 psi window wants about a 30-gallon receiver, the buffer that lets the pump catch up. The pumpup endpoint gives the time to raise a receiver from one pressure to another: volume × pressure rise ÷ (14.7 × compressor CFM), so a 60-gallon tank from 100 to 175 psi on a 15 CFM compressor takes about 2.7 minutes. The scfm endpoint corrects actual CFM to standard CFM for the inlet conditions — SCFM = ACFM × (inlet pressure ÷ 14.696) × (528 ÷ inlet temperature in Rankine) — so a compressor at 5,000 feet delivers about 17 % fewer SCFM than at sea level, the reason you size tools on SCFM, not the nameplate. Everything is computed locally and deterministically, so it is instant and private. Ideal for pneumatics and shop-air apps, compressor-sizing and tool-demand tools, industrial-air calculators, and trade aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — duty cycle and the pump curve shift real numbers.
api.oanor.com/compressor-api
Tank Volume API
Tank volume and fill-level maths as an API, computed locally and deterministically. The volume endpoint gives the total capacity — in litres, US gallons and cubic metres — of a vertical cylinder, horizontal cylinder, rectangular tank, sphere or capsule, from its dimensions in metres, centimetres, millimetres, feet or inches. The fill endpoint computes the volume of liquid and the percent full at a given fill depth, using the exact geometry for each shape — including the circular-segment formula for a horizontal cylinder (where the level is famously non-linear) and the spherical-cap formula for a sphere. The level endpoint is the inverse "dipstick" calculation: it finds the depth that corresponds to a target volume or a target percentage, solving the segment geometry by bisection. Everything is computed locally and deterministically, so it is instant and private. Ideal for fuel, water, oil and chemical tank monitoring, agriculture and irrigation, process and industrial tooling, and tank-gauging and dipstick apps. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is tank-gauging geometry; for swimming-pool volume and chemical dosing use a pool API, and for plain unit conversion use a unit-conversion API.
api.oanor.com/tank-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 Industrial Coatings API?
What's the rate limit for Industrial Coatings API?
How much does Industrial Coatings API cost?
Can I cancel my subscription anytime?
Is Industrial Coatings 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/coating-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/coating-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/coating-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/coating-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.