AA Data · API reference · v1 (2026-10-28)
One call per lot, with the clause behind each figure.
REST and JSON over HTTPS. Look a parcel up by address or point, read its record, or send up to 500 in one batch. The OpenAPI document is the full schema; this page is the short version.
Quickstart
Find a parcel, then read it.
Lookup returns matches with their ids, exact first. Pass an id to /v1/parcels/{id} for the full record. Base URL https://assetavenue.ca/api.
curl https://assetavenue.ca/api/v1/parcels/lookup \
-G --data-urlencode "municipality=barrie" \
--data-urlencode "address=40 Livingstone St E" \
-H "Authorization: Bearer $AA_KEY"Keys
One key per organisation, metered per call.
Send the key as a bearer token (X-Api-Key also works), never in the query string. aa_test_ keys are sandbox keys, limited to the pilot municipality and a monthly quota; aa_live_ keys follow your licence. Every response carries a request id.
Endpoints
6 calls.
GET/v1/coverage
Every municipality with its kind, status (available, preview, licence_pending), snapshot, record counts by status and licence
GET/v1/parcels/lookup
Find parcels by street address or by a point
municipality · address? · lat? · lng?
GET/v1/parcels/{id}
One record: a parcel (on-barrie-…) or an address (on-ottawa-…)
id
GET/v1/market/{municipality}
The municipality's rental market by CMHC survey zone, ten survey years, and the monthly rate series; no unit charged
municipality
GET/v1/profiles/{municipality}
Ward profiles: every source joined on the ward; no unit charged
municipality · ward?
POST/v1/parcels/batch
Up to 500 parcels by id or exact address; one unit per parcel answered
body: { parcels: [{ id } | { address, municipality }] }
The record
Read kind and status before any figure.
Each record carries the lot, its zoning, homes allowed as of right and by a committee decision, the building envelope, the clauses with page links, the rental market and rates, the fields withheld for licence reasons, and the snapshot and rule-pack version it came from.
GET /v1/parcels/on-barrie-3e37e08883c5f24a
{
"address": "40 Livingstone St E",
"ward": "3",
"lot": { "areaM2": 181316, "frontageM": 447.62 },
"zoning": { "zone": "C3", "bylaw": "2009-141" },
"status": "ok",
"homes": { "asOfRight": 803, "byDecision": 0 },
"buildable": { "asOfRight": 147, "byDecision": 0 },
"envelope": {
"heightM": 6.2, "storeys": 2, "floorAreaM2": 108789
},
"citations": [
{ "clause": "6.3.4.4 a)",
"url": "…/Zoning-Bylaw.pdf#page=89" },
{ "clause": "Table 6.3, Front yard (min.) (C3)",
"url": "…/Zoning-Bylaw.pdf#page=87" }
],
"market": {
"survey": "October 2025",
"zone": {
"name": "Barrie",
"averageRent": {
"twoBed": { "value": 1749, "reliability": "a" }
},
"vacancyPct": {
"total": { "value": 4.2, "reliability": "b" }
}
},
"rates": {
"posted5yrMortgagePct": { "value": 6.19 }
}
},
"withheld": ["servicing", "supply", "variances"],
"provenance": {
"snapshot": "2026-10-04",
"rulePack": "barrie-2009-141@2026-10-04.9"
}
}Barrie run of 4 October 2026, shortened. Field names may change before general release.
Statuses
Every record says how far it was read.
Never add figures across statuses. A lot with an unread exception carries the base zone’s figure and says so.
- ok
- Read in full: every clause that applies to the lot was applied.
- exception_unread
- The lot carries a site-specific exception not yet read; the figure is the base zone's.
- split_zone
- The lot lies in more than one zone; the figure is the zone at its interior point.
- not_modelled
- The lot's zone or by-law is not read yet; no figure.
- not_developable
- Rail, highway or similar corridor; no figure.
- no_residential
- The zone permits no dwelling.
- no_envelope
- No buildable area is left inside the required yards.
- no_zone
- No zone on the City's map at the lot.
Errors
One error shape, with a request id.
Errors return { error: { code, message, requestId } }.
- 400
- Bad request: a required parameter is missing or malformed
- 401
- Missing, malformed, unknown, revoked or expired key
- 403
- The key lacks the scope, the product or the municipality, or the municipality is in preview (licence_pending)
- 404
- No such record
- 429
- Rate limit or monthly quota reached