SEQ’s planning zone API

Instant zone, rules, and overlay data for any South East Queensland address. One API call. Clean JSON. No scraping.

Live demo

What you get

Everything a property developer, valuer, or proptech team needs. Structured JSON, no HTML parsing.

🏘️

Zone + Rules

Zone code and name, height limits, site coverage, setbacks, permitted uses β€” all structured as clean JSON.

🌊

Overlays

Flood risk (river + overland), character heritage overlay, and school catchments in a single call.

πŸ“

Coverage

Brisbane City Council, Gold Coast City Council, and Moreton Bay Regional Council. Sunshine Coast coming May 2026.

Pricing

Start free. Upgrade when you scale.

Free
$0/month
No credit card required
  • βœ“ 100 requests/day
  • βœ“ Full JSON API
  • βœ“ All councils
  • βœ“ All overlays
Get free key
Popular
Starter
$29 AUD/month
Billed monthly
  • βœ“ 500 requests/day
  • βœ“ Full JSON API
  • βœ“ All councils
  • βœ“ All overlays
  • βœ“ Email support
Get Starter key
Pro
$99 AUD/month
Billed monthly
  • βœ“ 5,000 requests/day
  • βœ“ Full JSON API
  • βœ“ All councils
  • βœ“ All overlays
  • βœ“ Priority support
Get Pro key

Quick start

One API call. Clean JSON.

curl
curl -G https://zoneiq.com.au/api/lookup \
  --data-urlencode \
  "address=1 George St Brisbane QLD" \
  -H "X-Api-Key: YOUR_KEY"
JavaScript
const res = await fetch(
  '/api/lookup?address=' +
  encodeURIComponent(address),
  { headers: {
    'X-Api-Key': 'YOUR_KEY'
  }}
)
const data = await res.json()
console.log(data.zone.name)
// "Centre"
console.log(data.rules.max_height_m)
// null (height overlay applies)
Python
import httpx

r = httpx.get(
  "https://zoneiq.com.au/api/lookup",
  params={"address": "1 George St Brisbane QLD"},
  headers={"X-Api-Key": "YOUR_KEY"}
)
data = r.json()
print(data["zone"]["name"])
# "Centre"
print(data["rules"]["max_storeys"])
# None

Get your API key

Free tier is 100 requests/day. No credit card required.