Spacing <-> density (and reverse)
API · /plantspacing-api
Plant Spacing API
Plant-spacing and planting-density maths as an API, computed locally and deterministically. The grid endpoint works out how many plants fill an area in a square (rectangular) layout: from a spacing (one value, or separate row and in-row spacings) and either an area or a length and width, it returns the planting density per square metre, square foot, 1,000 ft², acre and hectare, an area-based plant estimate, and — when you give length and width — an exact edge-inclusive grid count with the number of rows and plants per row. The triangular endpoint does the same for an offset (hexagonal) layout, where rows sit spacing × √3/2 apart and fit about 15.47 % more plants than a square grid at the same spacing, and it reports the gain. The density endpoint converts a spacing into a planting density in several units, or works in reverse: give a number of plants and an area and it recommends the spacing that fills it. Lengths accept millimetres, centimetres, metres, inches or feet; area accepts m², ft², acres or hectares. Everything is computed locally and deterministically, so it is instant and private. Ideal for gardening and landscaping apps, agriculture and horticulture tools, nursery and farm planners, and reforestation calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is planting layout and density; for fertilizer application rates use a fertilizer API and for mulch, soil and gravel quantities use a landscaping API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 89 ms
- Server probes · 24h
- Subscribers
- 3,143
- active
- Total calls
- 40
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 13,435 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 13,435 calls/month
- 2 req/sec
- Grid + triangular + density
- No credit card
Starter
€14.95 /month
- 23,050 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 23.05k calls/month
- 8 req/sec
- Square & triangular, multi-unit
- Email support
Pro
€34.85 /month
- 280,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 280.5k calls/month
- 20 req/sec
- Agriculture / nursery pipelines
- Priority support
Mega
€72.85 /month
- 1,445,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.445M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Fertilizer Calculator API
Fertilizer maths as an API, computed locally and deterministically. The rate endpoint works out how much fertilizer product to apply to hit a target nitrogen rate over an area: from the N-P-K analysis (such as 10-10-10 or 20-5-10), a target pounds of nitrogen per 1000 ft² (or per 100 m²) and the area, it returns the product weight and the pounds of nitrogen, phosphate and potash applied. The nutrients endpoint reports the pounds of nitrogen, P₂O₅ and K₂O — and the elemental phosphorus and potassium — in a bag of a given weight and analysis. The coverage endpoint works out how much area a bag covers at a target nitrogen rate. N-P-K are percent by weight; phosphorus is reported as P₂O₅ and potassium as K₂O following the label convention, with the elemental amounts alongside (P₂O₅ × 0.4364, K₂O × 0.8301). Everything is computed locally and deterministically, so it is instant and private. Ideal for lawn-care and gardening apps, agriculture and turf tools, and landscaping and quoting software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is fertilizer rate maths; for mulch, gravel and topsoil quantities use a landscaping API.
api.oanor.com/fertilizer-api
Landscaping Material API
Landscaping material estimating as an API — the "how much mulch, soil or gravel do I need" maths, computed locally and deterministically. The coverage endpoint works out the volume to cover an area at a depth — in cubic yards, cubic metres, cubic feet and litres — and, given a material or a custom bulk density, the weight in US tons, tonnes and kilograms, plus the number of bags for a given bag size. The area can be entered directly or as a rectangular, circular or triangular bed, and depth in inches, centimetres, feet or metres. The depth endpoint is the inverse: it works out the depth that an available volume (or a number of bags) gives over an area — handy when you already have a load of material. The material endpoint is a reference of typical bulk densities (mulch, compost, topsoil, gravel, sand) and how much area one cubic yard covers at 1 to 4 inch depths. Everything is computed locally and deterministically, so it is instant and private. Densities are typical values and bulk material varies with moisture and compaction, so order around 5–10% extra. Ideal for landscaping and garden-centre tools, hardscaping and bulk-material retailers, and DIY and yard-project planners. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is landscaping-material estimating; for paint, tiles, concrete and bricks use a construction-calculator API.
api.oanor.com/landscape-api
Plant Hardiness API
Work with USDA Plant Hardiness Zones: determine the hardiness zone for any location from its average annual extreme minimum temperature in Celsius or Fahrenheit (returning the zone code such as 6b, the zone number, subzone and the temperature range in both units), browse the complete reference of all 26 subzones from 1a to 13b with their temperature ranges and example regions worldwide, look up a single subzone by code, and find which common garden plants — fruits, vegetables, herbs, shrubs, trees, perennials, vines, bulbs, succulents and grasses — tolerate a given zone. Every endpoint accepts input via the query string or the request body and returns lean JSON. Pure server-side computation (no third-party upstream), so responses are instant and always available. Ideal for gardening and plant-finder apps, AgTech and landscaping tools, nurseries and education.
api.oanor.com/hardiness-api
Grain Bin API
Grain-bin storage maths as an API, computed locally and deterministically — the bushel and weight numbers a farmer or elevator sizes storage by. The bushels endpoint measures a round bin: floor area × grain depth gives the cubic feet, and a cubic foot holds about 0.8036 bushels, so an 18-foot bin filled 20 feet level holds roughly 4,090 bushels — and grain heaped to a peak adds a cone of (1/3) × floor area × peak height, so a 4-foot peak adds about 270 more. The weight endpoint converts bushels to weight by the crop’s standard test weight — corn and sorghum at 56 pounds a bushel, wheat and soybeans 60, oats 32, barley 48 — so those 4,090 bushels of corn weigh 229,040 pounds, about 114.5 US tons or 104 tonnes; pass a measured test weight for light or heavy grain. Everything is computed locally and deterministically, so it is instant and private. Ideal for agriculture, grain-elevator, farm-management and ag-tech app developers, storage-capacity and inventory tools, and harvest software. Pure local computation — no key, no third-party service, instant. US units (feet, bushels, pounds). Live, nothing stored. 2 compute endpoints.
api.oanor.com/grainbin-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Plant Spacing API?
What's the rate limit for Plant Spacing API?
How much does Plant Spacing API cost?
Can I cancel my subscription anytime?
Is Plant Spacing 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/plantspacing-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/plantspacing-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/plantspacing-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/plantspacing-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.