Skip to content
Zonio Developers

SDKs

TypeScript

npm install @zonio/sdk
import { Zonio } from '@zonio/sdk'
 
const zonio = new Zonio({ apiKey: process.env.ZONIO_API_KEY })
 
const { results, coverage } = await zonio.scenarios.search('bess_storage', {
  region: '30',
  params: { min_capacity_mw: 20, substation_km: 5 },
  limit: 25,
})
 
for (const r of results) console.log(r.parcel_id, r.area_sqm, r.score)
 
const missing = coverage.filter((c) => c.status === 'missing')
if (missing.length) console.warn('Not checked here:', missing.map((c) => c.criterion))

Paginate any list with for await:

for await (const tx of zonio.market.transactions({ region: '1261011', since: '2025-01-01' })) {
  console.log(tx.date, tx.price_per_sqm_pln)
}

Python

pip install zonio
from zonio import Zonio
 
zonio = Zonio()  # reads ZONIO_API_KEY
 
result = zonio.search.natural_language(
    query="flat plots over 2 ha zoned for industry within 5 km of a 110 kV substation",
    region="1863",
)
print(result.interpretation.assumptions)
 
for parcel in result.results:
    regs = zonio.parcels.regulations(parcel.parcel_id)
    print(parcel.parcel_id, regs.mpzp.symbol if regs.mpzp else "no MPZP")

GeoPandas

gdf = zonio.layers.features("power_substations", bbox=(21.8, 49.9, 22.2, 50.1)).to_geodataframe()
gdf.to_crs(2180).plot()

Other languages

Generate a client from the spec with openapi-generator or your favourite tool:

npx @openapitools/openapi-generator-cli generate \
  -i https://docs.zonio.tech/openapi.yaml -g go -o ./zonio-go