Stocking estimate
API · /aquarium-api
Aquarium Calculator API
Aquarium maths as an API, computed locally and deterministically. The volume endpoint computes a tank's water volume — in US and UK gallons and litres — for a rectangular, cube, cylinder, hexagonal or bow-front tank from its dimensions (inches by default, or centimetres, millimetres and metres), and applies a fill factor (default 0.9) for substrate, decoration and freeboard to give a realistic net volume. The stocking endpoint gives a rough stocking load from the tank volume and the total length of fish using the classic inch-per-gallon guideline, reporting the maximum recommended inches and how heavily stocked the tank is. The waterchange endpoint computes the water-change volume for a percentage, with an optional dechlorinator dose. Everything is computed locally and deterministically, so it is instant and private. Stocking is a rough beginner guideline only — real stocking depends on the species, filtration and bioload. Ideal for aquarium and fishkeeping apps, pet-shop and hobbyist tools, and tank-setup planners. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is aquarium maths; for swimming-pool volume and chemical dosing use a pool API and for storage-tank gauging use a tank API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 92 ms
- Server probes · 24h
- Subscribers
- 4,856
- active
- Total calls
- 40
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 12,635 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 12,635 calls/month
- 2 req/sec
- Volume + stocking + water change
- No credit card
Starter
€14.15 /month
- 22,250 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 22.25k calls/month
- 8 req/sec
- 5 tank shapes, metric/imperial
- Email support
Pro
€34.05 /month
- 272,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 272.5k calls/month
- 20 req/sec
- Aquarium / hobby pipelines
- Priority support
Mega
€72.05 /month
- 1,405,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.405M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Aquascape API
Planted-aquarium and aquascaping maths as an API, computed locally and deterministically — the dosing and water numbers a high-tech planted tank runs on, not the rolls of a dice. The co2 endpoint gives the dissolved CO2 concentration from pH and carbonate hardness using the classic relationship CO2 (ppm) ≈ 3 × KH (dKH) × 10^(7 − pH), and flags it against the 15–30 ppm window plants want — at pH 6.6 and KH 4 you are at about 30 ppm, the top of the safe zone, while pH 7.0 and KH 3 is a carbon-limited 9 ppm. The fertilizer endpoint turns a dry-salt dose into the nutrient ppm it adds, the heart of Estimative Index dosing: ppm = grams × the nutrient mass fraction × 1000 ÷ tank litres, so 1 g of KNO3 in 100 litres adds 6.1 ppm nitrate and 3.9 ppm potassium, and it knows KNO3, KH2PO4, K2SO4, MgSO4 (Epsom) and Ca(NO3)2. The substrate endpoint sizes the substrate from the footprint and target depth — a 60 × 30 cm tank at 6 cm deep needs 10.8 litres, two 9-litre aquasoil bags. Everything is computed locally and deterministically, so it is instant and private. Ideal for aquascaping and planted-tank apps, fertiliser-dosing calculators, CO2-rig tools, and aquarium-shop and hobby sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. For a tank water volume or fish stocking use an aquarium API; for pool chemistry use a pool API.
api.oanor.com/aquascape-api
Water Turnover API
Water turnover and circulation maths as an API, computed locally and deterministically — the flow-rate numbers a pool tech or aquarist sizes a pump to. The turnover endpoint relates a body of water's volume to its flow: turnover time = volume ÷ flow rate, and turnovers per day = 24 ÷ turnover time, so a 50,000-litre pool circulated at 10,000 L/h turns over in 5 hours, almost 5 times a day (pools usually target an 8–12 hour turnover, 2–4 a day); give a target turnover time instead and it returns the flow rate to size the pump to. The aquarium endpoint accounts for the real-world head loss that robs a pump of flow: effective flow = rated flow × (1 − head loss), so a 1,500 L/h pump at 40 % loss really moves 900 L/h, about 4.5× a 200-litre tank an hour; give a target turnovers-per-hour (freshwater 4–6×, planted 5–10×, reef 10×+) and it returns the rated pump to buy so losses still leave enough flow. Everything is computed locally and deterministically, so it is instant and private. Ideal for pool-service, aquarium, hydroponics, water-feature and pond app developers, pump-sizing and circulation tools, and equipment education. Pure local computation — no key, no third-party service, instant. Use consistent volume and flow units. Live, nothing stored. 2 compute endpoints. For pump power and head use a pump API; for pool chemistry a pool-chemistry API.
api.oanor.com/turnover-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
Geometry API
Calculate the geometry of common shapes. Get the area of 2D shapes (circle, square, rectangle, triangle — by base/height or three sides via Heron, trapezoid, parallelogram, rhombus, ellipse, regular polygon), the perimeter or circumference, and for 3D shapes the volume and surface area (sphere, cube, box, cylinder, cone, square pyramid). Pass a shape and its dimensions and get back the exact result plus the formula used. Pure local math — no key, no third-party service, instant and deterministic. Live. 6 endpoints. Built for CAD and engineering tools, education and e-learning, construction and material estimation, and any app that needs reliable shape math. Distinct from a generic expression evaluator or unit converter.
api.oanor.com/geometry-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Aquarium Calculator API?
What's the rate limit for Aquarium Calculator API?
How much does Aquarium Calculator API cost?
Can I cancel my subscription anytime?
Is Aquarium 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/aquarium-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/aquarium-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/aquarium-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/aquarium-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.