Skip to content

Microburbs Australian Property Data

by microburbs.com.au · remote · no sign-in to list tools · v1.0.0 · published by au.com.microburbs

Australian property and suburb data: valuations, sales, rents, schools, risk and zoning.

Changes · 156

174 tools: 156 change things and 18 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http property-data https://api.microburbs.com.au/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "properties_basics_dwelling_type" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "properties_basics_dwelling_type" says "type": a word for a change.

    What this check looks for
  • The server marks "properties_comparables_cma_comp_set" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "properties_comparables_cma_comp_set" says "set": a word for a change.

    What this check looks for
  • The server marks "suburbs_demographics_underclass_drag" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "suburbs_demographics_underclass_drag" says "drag": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

174 tools

Changes things 156Claude Code: ask
  • area_stats_fieldsDiscover which statistical fields exist.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Discover which statistical fields exist. Free (0c). Fuzzy, token-based matching covers table topics and clean column labels as well as terse field codes. Common natural-language plurals and Census synonyms are handled, so the verbatim `query=couples with children` discovers the exact 2021 ABS family-composition count fields rather than substituting the broader `census_family_households` metric. Use the returned field code(s) with the priced `/area-stats/SAL/{suburb}/values` route. ~17k fields available. **Free.**

    Annotations the server declares

    • title: Area Statistics · Search area-statistics fields
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • area_stats_valuesStatistical field values for one region.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Statistical field values for one region. Pass `fields` — 1 to 5 field codes (from /fields) — to fetch. At SAL level, `mode=sa1` switches from the suburb-aggregate value to a per-SA1 breakdown — every SA1 that falls inside the suburb, each with its own values. **Price: 3¢ per call.**

    Annotations the server declares

    • title: Area statistics for a region
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • geocode_suburbAutocomplete a partial suburb search string against the ABS SAL list.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Autocomplete a partial suburb search string against the ABS SAL list. Use this before calling ``/v1/suburbs/{name}/...`` — those endpoints require a canonical SAL name in the path. **Free.**

    Annotations the server declares

    • title: Geocode · Suburb autocomplete
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lga_profileLGA's parent chain — state + GCCSA.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    LGA's parent chain — state + GCCSA. LGAs aren't strictly nested in SA4 so the upward chain stops there. **Price: 3¢ per call.**

    Annotations the server declares

    • title: LGA · ABS geo profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • mbs_profileThe mesh block's upward ABS chain — SA1, SA2/3/4, GCCSA, state — plus the parallel admin chain (LGA, suburb (SAL), postcode).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The mesh block's upward ABS chain — SA1, SA2/3/4, GCCSA, state — plus the parallel admin chain (LGA, suburb (SAL), postcode). **Price: 3¢ per call.**

    Annotations the server declares

    • title: Mesh Block · ABS geo profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_amenities_nearbyCurated amenities (supermarkets, green spaces, restaurants/cafes) within `radius_m` of the property, bucketed and nearest-first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Curated amenities (supermarkets, green spaces, restaurants/cafes) within `radius_m` of the property, bucketed and nearest-first. **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · Nearby amenities
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_allThe physical facts about a dwelling in one call: bedrooms, bathrooms, parking spaces, dwelling type (house, unit, townhouse and so on) and land area in square metres.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The physical facts about a dwelling in one call: bedrooms, bathrooms, parking spaces, dwelling type (house, unit, townhouse and so on) and land area in square metres. Priced as the sum of the five individual calls. Ask for a single field instead if that is all you need. **Price: 23¢ per call.**

    Annotations the server declares

    • title: Property · All basics — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_dwelling_typeDwelling type (house, unit, townhouse, ...).1 finding

    Why it is in this group

    • The name "properties_basics_dwelling_type" says "type": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "properties_basics_dwelling_type" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "properties_basics_dwelling_type" says "type": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Dwelling type (house, unit, townhouse, ...). **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Dwelling type
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_land_area_sqmParcel land area in square metres from the cadastral feed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Parcel land area in square metres from the cadastral feed. **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Land area (sqm)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_comparables_allThe evidence a valuer or agent would use to price this property: a CMA comparable set, the single closest comparable sale, and recent sales nearby.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The evidence a valuer or agent would use to price this property: a CMA comparable set, the single closest comparable sale, and recent sales nearby. Use it to answer "what did similar homes around here actually sell for", and to show the working behind a valuation rather than a bare number. **Price: 74¢ per call.**

    Annotations the server declares

    • title: Property · All comparables — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_comparables_cma_comp_setTop comparable sales used to triangulate the subject property's value.1 finding

    Why it is in this group

    • The name "properties_comparables_cma_comp_set" says "set": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "properties_comparables_cma_comp_set" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "properties_comparables_cma_comp_set" says "set": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Top comparable sales used to triangulate the subject property's value. **Price: 60¢ per call.**

    Annotations the server declares

    • title: Property · CMA comparable set
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_comparables_cma_single_compSingle best comparable from the CMA set (highest dist_score).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Single best comparable from the CMA set (highest dist_score). **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · CMA — single best comparable
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_comparables_recent_sales_nearbyRecent comparable sales in a small radius around the subject parcel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recent comparable sales in a small radius around the subject parcel. **Price: 4¢ per call.**

    Annotations the server declares

    • title: Property · Recent sales within a radius
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_context_mesh_blocksMesh-block polygons within 1 km of the property (GeoJSON), each with avg annual growth, investor counts, modal street and median sold price.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Mesh-block polygons within 1 km of the property (GeoJSON), each with avg annual growth, investor counts, modal street and median sold price. **Price: 30¢ per call.**

    Annotations the server declares

    • title: Property · Mesh blocks — 1 km buffer stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_context_nearby_for_saleCurrently for-sale listings within `radius_km` of the property (newest first, max 30) with AVM and rent-yield comparison.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Currently for-sale listings within `radius_km` of the property (newest first, max 30) with AVM and rent-yield comparison. **Price: 20¢ per call.**

    Annotations the server declares

    • title: Property · Nearby for-sale listings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_context_street_bedroom_seriesThe subject's bedroom band (bed count from listing history) and the suburb's 10-year price series for that band.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The subject's bedroom band (bed count from listing history) and the suburb's 10-year price series for that band. **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Bedroom-band price series
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_development_allWhat the planning scheme allows on this block: its zoning code and every planning overlay that touches it (heritage, flood, bushfire, height and so on, as published by the council)…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What the planning scheme allows on this block: its zoning code and every planning overlay that touches it (heritage, flood, bushfire, height and so on, as published by the council). Answers "can I build on it, and what is restricted". Development applications in the surrounding area are a suburb-level call. **Price: 8¢ per call.**

    Annotations the server declares

    • title: Property · All planning — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_development_zoning_codePrimary zoning at the property's point — code (R2, B4, ...) when the council ships one, plus the human-readable name and the broader category.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Primary zoning at the property's point — code (R2, B4, ...) when the council ships one, plus the human-readable name and the broader category. **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Primary zoning code
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_development_zoning_overlaysDevelopment overlays intersecting the property's parcel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Development overlays intersecting the property's parcel. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Development overlays at this point
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_history_allEverything we hold on what this property has sold and rented for: the full sale history and the full rent history, each with its most recent record called out separately.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Everything we hold on what this property has sold and rented for: the full sale history and the full rent history, each with its most recent record called out separately. This is the expensive one in the Property - History family, because it returns complete series rather than a latest figure. For "what did it last sell for", call `/history/sale/latest` instead. **Price: 80¢ per call.**

    Annotations the server declares

    • title: Property · All sale + rent history — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_neighboursAdjoining-parcel neighbours, enriched with address + property type + bed/bath/garage from the latest matching listing.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Adjoining-parcel neighbours, enriched with address + property type + bed/bath/garage from the latest matching listing. **Price: 30¢ per call.**

    Annotations the server declares

    • title: Property · Neighbours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_rent_historyAll For Rent records, most-recent first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    All For Rent records, most-recent first. **Price: 30¢ per call.**

    Annotations the server declares

    • title: Property · Rental listing history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_rent_history_latestMost-recent For Rent record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Most-recent For Rent record. **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · Most-recent rent observation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_allEvery property-level risk overlay in one call.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Every property-level risk overlay in one call. Flat 30¢ — may grow without increasing the bundle price as new overlays are added. With ``?geojson=true`` each risk that has a polygon overlay also carries its 1km-radius-clipped `geojson` FeatureCollection + `geojson_meta`. **Price: 48¢ per call.**

    Annotations the server declares

    • title: All property risk overlays — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_bushfireBushfire-prone-area overlays within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Bushfire-prone-area overlays within 1 km. Read `on_property` — a returned row means "found nearby", not "this property is in a bushfire zone". **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Bushfire-prone overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_environmentEnvironmental-risk overlay (contamination, salinity, ...).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Environmental-risk overlay (contamination, salinity, ...). **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Environmental-risk overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_erosionCoastal / soil erosion overlays within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Coastal / soil erosion overlays within 1 km. Read `on_property` — a returned row means "found nearby", not "this property is eroding". **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Erosion overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_floodModelled flood overlays within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Modelled flood overlays within 1 km. Read `on_property` — a returned row means "found nearby", not "this property floods". **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · Flood overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_heritageHeritage-listing overlays within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Heritage-listing overlays within 1 km. Read `on_property` — a returned row means "found nearby", not "this property is heritage-listed". **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Heritage overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_historical_floodRecorded historical flood extents within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recorded historical flood extents within 1 km. Read `on_property` — a returned row means "found nearby", not "this property flooded". **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Historical-flood overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_hv_power_lineHigh-voltage power-line easement near the parcel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    High-voltage power-line easement near the parcel. **Price: 2¢ per call.**

    Annotations the server declares

    • title: Property · High-voltage power-line overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_landslideLandslide-risk overlays within 1 km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Landslide-risk overlays within 1 km. Read `on_property` — a returned row means "found nearby", not "this property is at landslide risk". **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · Landslide overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_mobile_black_spotMobile-coverage black-spot overlay near the parcel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Mobile-coverage black-spot overlay near the parcel. **Price: 2¢ per call.**

    Annotations the server declares

    • title: Property · Mobile black-spot overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_risks_public_housingPublic-housing concentration overlay near the parcel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Public-housing concentration overlay near the parcel. **Price: 4¢ per call.**

    Annotations the server declares

    • title: Property · Public-housing overlay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_sale_historyAll Sold + For Sale records, most-recent first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    All Sold + For Sale records, most-recent first. **Price: 30¢ per call.**

    Annotations the server declares

    • title: Property · Sale & for-sale history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_sale_history_latestMost-recent Sold or For Sale record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Most-recent Sold or For Sale record. **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · Most-recent sale record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_schools_allSchools for this address: the ones nearby with their distances, and how each ranks on NAPLAN alongside sector, level and attendance.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools for this address: the ones nearby with their distances, and how each ranks on NAPLAN alongside sector, level and attendance. The priciest bundle in the Property family, because it joins the school register, the ranking table and distance calculations. Call `/schools/nearby` alone if rankings do not matter. **Price: 105¢ per call.**

    Annotations the server declares

    • title: Property · All schools — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_schools_nearbySchools within ~5km of the property, with rank + student counts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools within ~5km of the property, with rank + student counts. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Nearby schools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_schools_rankingSchools within ~5km of the property, ranked by NAPLAN / socioeconomic score.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools within ~5km of the property, ranked by NAPLAN / socioeconomic score. **Price: 100¢ per call.**

    Annotations the server declares

    • title: Property · Local school ranking
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_street_profileThe property's own street: current median price, 2/4/8-year price forecasts, realised growth, sale/rental turnover, renter share and houses/units on the street — plus the suburb-wi…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The property's own street: current median price, 2/4/8-year price forecasts, realised growth, sale/rental turnover, renter share and houses/units on the street — plus the suburb-wide medians to judge it against and the street's rank on 4-year forecast growth. 404s when the street has no forecast row rather than falling back to suburb-wide figures, which would answer a different question. **Price: 20¢ per call.**

    Annotations the server declares

    • title: Street profile — this property's street vs its suburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_surroundings_listing_history_signalsLatest sold/rent dates and likely-owner-status signal per nearby property.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Latest sold/rent dates and likely-owner-status signal per nearby property. **Price: 20¢ per call.**

    Annotations the server declares

    • title: Property · Surrounding listing-history signals (200 m)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_surroundings_parcelsCadastral parcel polygons (GeoJSON) for properties around the subject.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Cadastral parcel polygons (GeoJSON) for properties around the subject. **Price: 25¢ per call.**

    Annotations the server declares

    • title: Property · Surrounding cadastral parcels (200 m)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_surroundings_propertiesEvery GNAF property within 200 m of the subject, with lat/lng and mesh block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Every GNAF property within 200 m of the subject, with lat/lng and mesh block. **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Surrounding properties (200 m)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_surroundings_public_housingProperties around the subject flagged by the public-housing classifier.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Properties around the subject flagged by the public-housing classifier. **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Surrounding public-housing flags (200 m)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_surroundings_tenureABS Census 2021 tenure shares for each mesh block around the subject.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    ABS Census 2021 tenure shares for each mesh block around the subject. **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Surrounding tenure mix (200 m)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_transport_nearbyNearest train / tram / bus / ferry stop to the property, per mode, with distance.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Nearest train / tram / bus / ferry stop to the property, per mode, with distance. Widen `radius_m` for the nearest station beyond 1km. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Nearest transport by mode
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_agent_quotingQuoting accuracy of the property's current listing agency — cohort, median guide-vs-sold deviation, underquote rate and its 5 most-recent tracked sales.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Quoting accuracy of the property's current listing agency — cohort, median guide-vs-sold deviation, underquote rate and its 5 most-recent tracked sales. Only while the property is listed for sale with a tracked agency. **Price: 50¢ per call.**

    Annotations the server declares

    • title: Property · Agent quoting accuracy
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_allOur automated valuation for one property: the point estimate, the 80% range around it, and a 0-100 confidence score derived from how wide that range is.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Our automated valuation for one property: the point estimate, the 80% range around it, and a 0-100 confidence score derived from how wide that range is. Today this bundles the single `/valuation/avm` call, so it costs the same; it exists so an agent can ask for "everything valuation" without tracking which valuation endpoints exist. Agent quoting behaviour, land values, negative gearing and the value series are separate calls. **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · All valuation outputs — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_avmMicroburbs ML AVM for a single GNAF — point estimate, 80% range, plus a confidence score (0–100) derived from the interval width.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Microburbs ML AVM for a single GNAF — point estimate, 80% range, plus a confidence score (0–100) derived from the interval width. **Price: 10¢ per call.**

    Annotations the server declares

    • title: Property · AVM — automated valuation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_land_valuesCouncil land valuations for the parcel — val_2021..val_2025 series with YoY change and $/sqm, plus lot area and zoning description.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Council land valuations for the parcel — val_2021..val_2025 series with YoY change and $/sqm, plus lot area and zoning description. **Price: 15¢ per call.**

    Annotations the server declares

    • title: Property · Council land values — 5-year series
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_negative_gearingNegative-gearing stat at the finest available level: per-property cashflow scenarios (80% + 105% LVR), falling back to mesh-block then suburb investor-exposure.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Negative-gearing stat at the finest available level: per-property cashflow scenarios (80% + 105% LVR), falling back to mesh-block then suburb investor-exposure. **Price: 20¢ per call.**

    Annotations the server declares

    • title: Property · Negative-gearing stat
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_valuation_value_seriesModelled property value over time (monthly for the last year, annual before that).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Modelled property value over time (monthly for the last year, annual before that). Houses only — units have no series. **Price: 30¢ per call.**

    Annotations the server declares

    • title: Property · AVM value over time
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sa4_profileSA4's parent chain — GCCSA + state.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    SA4's parent chain — GCCSA + state. **Price: 3¢ per call.**

    Annotations the server declares

    • title: SA4 · ABS geo profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_crime_breakdownPer-crime-type rates (predicted incidents per 100,000 residents per year) for the suburb vs national medians.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Per-crime-type rates (predicted incidents per 100,000 residents per year) for the suburb vs national medians.

    Annotations the server declares

    • title: Suburb · Crime — breakdown by type
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_crime_by_mesh_blockTotal crime rate for every mesh block in the suburb, keyed by ABS mesh-block code.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Total crime rate for every mesh block in the suburb, keyed by ABS mesh-block code. Values are predicted incidents per 100,000 residents per year (see the payload's `unit` / `definition` keys).

    Annotations the server declares

    • title: Suburb · Crime — rate per mesh block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_crime_summarySuburb and national total-crime medians (predicted incidents per 100,000 residents per year) with a vs-national verdict.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suburb and national total-crime medians (predicted incidents per 100,000 residents per year) with a vs-national verdict.

    Annotations the server declares

    • title: Crime — suburb vs national benchmark
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_agePopulation by age bracket and gender.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Population by age bracket and gender.

    Annotations the server declares

    • title: Suburb · Age-bracket breakdown
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_allWho lives in the suburb, from the census: population by age bracket and gender, and households by income bracket.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Who lives in the suburb, from the census: population by age bracket and gender, and households by income bracket. Two calls bundled, priced as the sum. Tenure, employment, family make-up, schooling and the rest of the Suburb - Demographics family are separate.

    Annotations the server declares

    • title: Suburb · Age + income — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_ancestry_mapThe dominant ancestry (and its share) in each of the suburb's microburbs, plus suburb-level ancestry shares.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The dominant ancestry (and its share) in each of the suburb's microburbs, plus suburb-level ancestry shares. Pilot coverage.

    Annotations the server declares

    • title: Suburb · Dominant ancestry per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_businessABN industry-mix pattern (Diverse / Professional-services-heavy / Mining-exposed / Low-commercial residential) plus the POI categories unusually common in the suburb, with named ex…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    ABN industry-mix pattern (Diverse / Professional-services-heavy / Mining-exposed / Low-commercial residential) plus the POI categories unusually common in the suburb, with named examples.

    Annotations the server declares

    • title: Suburb · Local business mix
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_cohortsHow the suburb ranks inside its SA4 region and against its touching neighbours on renter share, welfare dependency, overseas-born parents and public housing.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    How the suburb ranks inside its SA4 region and against its touching neighbours on renter share, welfare dependency, overseas-born parents and public housing.

    Annotations the server declares

    • title: Suburb · Regional & neighbour cohort ranks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_cultural_integrationSuburb cultural-integration composite (0-100) with national percentile and tier, plus the per-microburb scores behind it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suburb cultural-integration composite (0-100) with national percentile and tier, plus the per-microburb scores behind it.

    Annotations the server declares

    • title: Suburb · Cultural-integration score
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_incomeHousehold income breakdown by bracket.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Household income breakdown by bracket.

    Annotations the server declares

    • title: Suburb · Income-bracket breakdown
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_income_mapMedian weekly household income for every microburb in the suburb, plus the suburb median, national percentile and highest/lowest pockets.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median weekly household income for every microburb in the suburb, plus the suburb median, national percentile and highest/lowest pockets.

    Annotations the server declares

    • title: Suburb · Income per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_population_historyTotal suburb population is `current_population` (ABS Census 2021), alongside suburb census points (2011/2016/2021) and the LGA's yearly population series with a 10-year modelled pr…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Total suburb population is `current_population` (ABS Census 2021), alongside suburb census points (2011/2016/2021) and the LGA's yearly population series with a 10-year modelled projection tail. Use this route for questions such as "what is the total population of Clarkson?

    Annotations the server declares

    • title: Suburb · Total population, history & projection
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_private_schoolShare of residents attending Catholic / Independent schools — suburb rollup plus the per-microburb shares behind it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Share of residents attending Catholic / Independent schools — suburb rollup plus the per-microburb shares behind it.

    Annotations the server declares

    • title: Suburb · Private-school students
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_single_parentsSingle-parent-family share for the suburb against the pinned national median, with the associated capital-growth impact.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Single-parent-family share for the suburb against the pinned national median, with the associated capital-growth impact.

    Annotations the server declares

    • title: Suburb · Single-parent families
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_tenureExplicit total owner-occupation rate plus owned-outright / mortgaged / renting / public-housing shares — a suburb rollup and the per-microburb downscaled Census shares.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Explicit total owner-occupation rate plus owned-outright / mortgaged / renting / public-housing shares — a suburb rollup and the per-microburb downscaled Census shares. `owner_occupied_pct` is the requested headline; it equals owned outright plus mortgaged and is null if either is absent. `census_year` makes the 2021 reference period explicit.

    Annotations the server declares

    • title: Suburb · Owner-occupation and housing tenure rates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_underclass_dragWelfare-dependency and public-housing shares with the suburb's underclass tier (High / Mid / Low) and the capital-growth impact associated with that tier.1 finding

    Why it is in this group

    • The name "suburbs_demographics_underclass_drag" says "drag": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "suburbs_demographics_underclass_drag" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "suburbs_demographics_underclass_drag" says "drag": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Welfare-dependency and public-housing shares with the suburb's underclass tier (High / Mid / Low) and the capital-growth impact associated with that tier. Regional and neighbour ranks for the same two metrics are served by `/demographics/cohorts`.

    Annotations the server declares

    • title: Suburb · Underclass drag
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_unemploymentLabour-force-weighted unemployment rate for the suburb against the pinned national median, plus the per-microburb shares behind it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Labour-force-weighted unemployment rate for the suburb against the pinned national median, plus the per-microburb shares behind it.

    Annotations the server declares

    • title: Suburb · Unemployment rate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_demographics_votingProjected first-preference shares per party, aggregated across the suburb's microburbs (booth-derived model — not an actual vote).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Projected first-preference shares per party, aggregated across the suburb's microburbs (booth-derived model — not an actual vote).

    Annotations the server declares

    • title: Suburb · Projected voting profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_allWhat is being built in the suburb: the count of development applications on record, and the list itself with each application's address, type and status.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What is being built in the suburb: the count of development applications on record, and the list itself with each application's address, type and status. Read it as supply coming down the pipeline, and as a signal of where a suburb is changing.

    Annotations the server declares

    • title: Suburb · DA count + DA list — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_applicationsRecent development applications (up to 100, newest first) with category counts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recent development applications (up to 100, newest first) with category counts.

    Annotations the server declares

    • title: Suburb · Development applications
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_building_controlsHeight-of-building and floor-space-ratio control polygons with band summaries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Height-of-building and floor-space-ratio control polygons with band summaries.

    Annotations the server declares

    • title: Suburb · Building controls — height & FSR
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_construction_activitySatellite-detected construction change per mesh block plus a suburb rollup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Satellite-detected construction change per mesh block plus a suburb rollup.

    Annotations the server declares

    • title: Suburb · Construction activity per mesh block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_council_intelligenceCouncil capex / project-pipeline signals extracted from the LGA's meeting minutes — each with stage, dollar value, location and time horizon — plus a rollup of the total pipeline i…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Council capex / project-pipeline signals extracted from the LGA's meeting minutes — each with stage, dollar value, location and time horizon — plus a rollup of the total pipeline in dollars.

    Annotations the server declares

    • title: Suburb · Council intelligence signals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_council_ratesAverage annual residential council rate for the suburb's LGA.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Average annual residential council rate for the suburb's LGA.

    Annotations the server declares

    • title: Suburb · Average council rates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_densityDwellings and people per km², plus the land area and counts behind them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Dwellings and people per km², plus the land area and counts behind them.

    Annotations the server declares

    • title: Suburb · Dwelling & population density
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_profileDwelling-mix scalars — apartment share and average lot size.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Dwelling-mix scalars — apartment share and average lot size.

    Annotations the server declares

    • title: Suburb · Development profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_supplyNew dwellings (last 24 months) split units vs houses per mesh block plus a rollup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    New dwellings (last 24 months) split units vs houses per mesh block plus a rollup.

    Annotations the server declares

    • title: Suburb · New supply — units vs houses
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_zoning_mapZoning polygons clipped to the suburb, with per-class and parent-group area shares.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Zoning polygons clipped to the suburb, with per-class and parent-group area shares.

    Annotations the server declares

    • title: Suburb · Zoning map (polygons)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_ethnicity_allCultural make-up of the suburb from the census: ancestry breakdown and country of birth, each as a share of residents.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Cultural make-up of the suburb from the census: ancestry breakdown and country of birth, each as a share of residents. Useful for understanding who a suburb's buyers and renters are. The map version, which splits these by mesh block, is a separate call.

    Annotations the server declares

    • title: Suburb · All ethnicity — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_ethnicity_ancestryAncestry breakdown from the ABS census.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Ancestry breakdown from the ABS census.

    Annotations the server declares

    • title: Suburb · Ancestry breakdown
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_ethnicity_birthplaceCountry-of-birth breakdown from the ABS census.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Country-of-birth breakdown from the ABS census.

    Annotations the server declares

    • title: Suburb · Country-of-birth breakdown
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_finder_fieldsEvery field you can filter / sort on, with its label and unit.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Every field you can filter / sort on, with its label and unit. 0c. Houses and units are separate keys: the `unit`-prefixed ones (`unitMedianPrice`, `unitGrossYield`, `unitMedianRent`, …) are the apartment market, the unprefixed market keys are houses, and both can be filtered in the same query. Unit fields are NOT nationally populated — they only exist where a suburb has a unit market (roughly 13-54% of suburbs depending on the field), so a suburb with no unit market simply won't match a unit filter. **Free.**

    Annotations the server declares

    • title: Suburb · Finder field catalog
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_finder_regionsSA4 regions grouped by state — the values accepted by `states` / `regions` on search.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    SA4 regions grouped by state — the values accepted by `states` / `regions` on search. 0c. **Free.**

    Annotations the server declares

    • title: Suburb · Finder scope regions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_forecast_sale1-year sale-price growth forecast (low / most-likely / high).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    1-year sale-price growth forecast (low / most-likely / high).

    Annotations the server declares

    • title: Suburb · Sale-price growth forecast
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_hero_neighboursNearest neighbouring suburbs with distance in km, closest first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Nearest neighbouring suburbs with distance in km, closest first.

    Annotations the server declares

    • title: Neighbouring suburbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_hero_price_growth_12mo12-month sale-price growth by property type (house / unit).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    12-month sale-price growth by property type (house / unit).

    Annotations the server declares

    • title: Suburb · 12-month price growth
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_hero_summaryState, SA3/SA4, postcode, population, dwellings and centroid for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    State, SA3/SA4, postcode, population, dwellings and centroid for the suburb.

    Annotations the server declares

    • title: Suburb at a glance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_cbdStraight-line distance to the nearest city and to the nearest capital, in km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Straight-line distance to the nearest city and to the nearest capital, in km. Both, because they answer different questions and are often nowhere near each other: Belmont North is 14 km from Newcastle and 108 km from Sydney. `nearest_city` is usually what a buyer means by "how far is town". The top-level `city` / `distance_km` fields are DEPRECATED. They still describe the CAPITAL, unchanged, so existing callers are unaffected — read `capital_city` or `nearest_city` instead.

    Annotations the server declares

    • title: Suburb · Distance to the nearest city and to the nearest capital
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_landmarksNearest beach and hospital with straight-line distances (null = none within ~50 km).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Nearest beach and hospital with straight-line distances (null = none within ~50 km).

    Annotations the server declares

    • title: Suburb · Nearest beach + hospital
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_livabilityLivability scores (0–100) per dimension, aggregated from mesh-block scores, with the SA4 benchmark.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Livability scores (0–100) per dimension, aggregated from mesh-block scores, with the SA4 benchmark.

    Annotations the server declares

    • title: Suburb · Livability scores + regional benchmark
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_livability_mapAll seven livability dimensions — affluence, lifestyle, hip, convenience, family, safety, tranquility — scored 0-100 for every microburb (mesh block) in the suburb, each with its h…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    All seven livability dimensions — affluence, lifestyle, hip, convenience, family, safety, tranquility — scored 0-100 for every microburb (mesh block) in the suburb, each with its human band. Averaging a dimension across the microburbs reproduces the suburb figure at ``/lifestyle/livability``. Values only; polygons come from ``/shapes/mesh-blocks``.

    Annotations the server declares

    • title: Suburb · Livability scores per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_narrativeOne plain-English sentence per livability dimension for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    One plain-English sentence per livability dimension for the suburb.

    Annotations the server declares

    • title: Suburb · Livability narrative sentences
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_poi_impactsWhat the absence of petrol stations, fast food and bottle shops near sold properties was worth.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What the absence of petrol stations, fast food and bottle shops near sold properties was worth.

    Annotations the server declares

    • title: Suburb · Amenity price impacts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_poisEvery named venue / amenity in the suburb as GeoJSON Point features, plus a per-category count.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Every named venue / amenity in the suburb as GeoJSON Point features, plus a per-category count. Each point carries `name`, a broad `category` (Restaurant / Cafe, Shopping, Health, Entertainment, Sport & Fitness, Education, …) and a finer `subtype` (e.g. `pub`, `bar`, `cafe`, `restaurant`, `gym`, `supermarket`, `school`, `pharmacy`). This is the endpoint for "what / how many <venue type> are in this suburb" and "name the pubs / cafes / gyms in X" — filter or count the features on `subtype`, and read real venue names from `name`. The top-level `categories` array gives the broad-category counts without walking the list. Unpaged by default. Big suburbs are big — Sydney is ~3.7 MB of features — so pass `limit`/`offset` (or narrow with `category`) when you don't need them all. `count` and `categories` always describe the whole suburb, so paging never hides the totals. Flat price per call regardless of page size.

    Annotations the server declares

    • title: POIs / amenities in the suburb (pubs, cafes, gyms, schools, …)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_lifestyle_summaryPOI category breakdown, terrain scalars, nearest train/shop and beach/hospital flags.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    POI category breakdown, terrain scalars, nearest train/shop and beach/hospital flags.

    Annotations the server declares

    • title: Suburb · Lifestyle summary — POIs, terrain, landmarks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_listings_for_rentRental listings live right now in the suburb, with address, weekly rent, beds/baths, coordinates and an `off_market` flag per listing.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rental listings live right now in the suburb, with address, weekly rent, beds/baths, coordinates and an `off_market` flag per listing. Same paging and filters as for-sale.

    Annotations the server declares

    • title: Suburb · Current rental listings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_listings_for_saleCurrent for-sale listings in the suburb, with address, price, beds/baths, coordinates and an `off_market` flag per listing.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Current for-sale listings in the suburb, with address, price, beds/baths, coordinates and an `off_market` flag per listing. `total` is the full number on the market (computed before `limit`), so a count is accurate even when the rows are capped. Raise `limit` for more listings; set `verbose=true` for the agent's full description text; set `off_market=true` for off-market listings only.

    Annotations the server declares

    • title: Suburb · Current for-sale listings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_affordabilityMicroburbs affordability index for the suburb's postcode area.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Microburbs affordability index for the suburb's postcode area.

    Annotations the server declares

    • title: Suburb · Affordability index
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_allThe eight headline market indicators in one call: median sale price and median rent (each with its full history), 5-year price growth, gross yield, days on market, and transaction …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The eight headline market indicators in one call: median sale price and median rent (each with its full history), 5-year price growth, gross yield, days on market, and transaction volume. **This is a core set, not every market endpoint.** The `Suburb - Market` family has 29 endpoints; this bundles 8 of them, priced sum-of-parts. The path is `/market/all` for historical reasons — it is not "all". Supply, vacancy, growth drivers, affordability, mortgage stress, investor concentration, land values, repeat sales, bedroom stats and the per-mesh-block maps are separate calls, so you only pay for what you ask for.

    Annotations the server declares

    • title: Suburb · Core market indicators — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_bedroom_statsHouse/unit price, sales volume, median bath/car/land, and stock mix per bedroom count.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    House/unit price, sales volume, median bath/car/land, and stock mix per bedroom count.

    Annotations the server declares

    • title: Suburb · Bedroom stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_built_yearEstimated build-year profile — suburb aggregate + per-mesh-block medians.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimated build-year profile — suburb aggregate + per-mesh-block medians.

    Annotations the server declares

    • title: Suburb · Built-year profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_comparable_suburbsSame-SA3 comparable-suburb candidates (canonical SAL names).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Same-SA3 comparable-suburb candidates (canonical SAL names).

    Annotations the server declares

    • title: Comparable suburbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_days_on_marketMedian days on market for current listings.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median days on market for current listings.

    Annotations the server declares

    • title: Suburb · Median days on market
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_days_on_market_benchmarkMedian days on market across the suburb's greater region (GCCSA) — compare with /market/days-on-market.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median days on market across the suburb's greater region (GCCSA) — compare with /market/days-on-market.

    Annotations the server declares

    • title: Suburb · Days on market — regional benchmark
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_growth_driversPer-indicator capital-growth attribution for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Per-indicator capital-growth attribution for the suburb. Each row pairs the suburb's own value for an indicator with the capital-growth differential our matched studies attribute to it, in percentage points. Covers supply & demand pressure, market signals, environmental risks and demographic composition.

    Annotations the server declares

    • title: Suburb · Capital-growth drivers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_investor_concentrationRental (investor) share per mesh block, with a suburb-wide rollup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rental (investor) share per mesh block, with a suburb-wide rollup.

    Annotations the server declares

    • title: Suburb · Investor concentration
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_land_valuesSuburb land-value medians ($/sqm, lot size, land share of price) + per-mesh-block $/sqm.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suburb land-value medians ($/sqm, lot size, land share of price) + per-mesh-block $/sqm.

    Annotations the server declares

    • title: Suburb · Land values
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_median_price_mapMedian house price for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median house price for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets. Values only — the matching polygons come from ``/shapes/mesh-blocks``.

    Annotations the server declares

    • title: Suburb · Median sale price per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_median_rentLatest median weekly rent for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Latest median weekly rent for the suburb.

    Annotations the server declares

    • title: Suburb · Median weekly rent
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_median_rent_seriesFull median weekly-rent observation history for the suburb, including 2024 and 2025 where the suburb has coverage.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Full median weekly-rent observation history for the suburb, including 2024 and 2025 where the suburb has coverage. Older observations are generally month-end and recent observations can be weekly; this is not a uniformly quarterly series. Values are advertised median AUD per week.

    Annotations the server declares

    • title: Suburb · Median rent — full history (including 2024–2025)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_median_sale_priceLatest median sale price for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Latest median sale price for the suburb.

    Annotations the server declares

    • title: Suburb · Median sale price
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_median_sale_price_seriesFull median sale-price observation history for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Full median sale-price observation history for the suburb. Well-covered suburbs extend back 20+ years; coverage and observation frequency vary. This is the raw historical series needed to calculate a stated 20-year return, not a precomputed "consistent growth" score or a forecast.

    Annotations the server declares

    • title: Suburb · Median sale price — full history (up to 20+ years)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_months_of_supplyHow many months the current for-sale stock would take to clear at the suburb's current sales rate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    How many months the current for-sale stock would take to clear at the suburb's current sales rate. Under 2 months is a seller's market.

    Annotations the server declares

    • title: Suburb · Months of supply
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_mortgage_stressMortgage-stress score (0-100) for the suburb, with per-mesh-block breakdown.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Mortgage-stress score (0-100) for the suburb, with per-mesh-block breakdown.

    Annotations the server declares

    • title: Suburb · Mortgage stress
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_price_growthPast compound sale-price growth over 1 / 3 / 5 / 10 years, by property type (decimal).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Past compound sale-price growth over 1 / 3 / 5 / 10 years, by property type (decimal). The 3y / 10y figures are the same ones the Suburb Finder ranks on.

    Annotations the server declares

    • title: Suburb · Past price growth (1 / 3 / 5 / 10-year)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_price_growth_5y5-year compound sale-price growth (decimal).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    5-year compound sale-price growth (decimal).

    Annotations the server declares

    • title: Suburb · 5-year price growth
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_recent_price_movementThe last four weekly smart-median observations — house price, unit price and house rent — each with its week-on-week percentage change.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The last four weekly smart-median observations — house price, unit price and house rent — each with its week-on-week percentage change.

    Annotations the server declares

    • title: Suburb · Recent price movement (last 4 weeks)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_rent_mapMedian advertised weekly house rent for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median advertised weekly house rent for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets. Values only — the matching polygons come from ``/shapes/mesh-blocks``.

    Annotations the server declares

    • title: Suburb · Median weekly rent per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_repeat_salesRealised resale growth — summary + individual buy/sell pairs (max 500).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Realised resale growth — summary + individual buy/sell pairs (max 500).

    Annotations the server declares

    • title: Suburb · Repeat sales
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_stock_on_marketProperties currently listed for sale in the suburb, split house/unit, with the suburb's rank among its peers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Properties currently listed for sale in the suburb, split house/unit, with the suburb's rank among its peers.

    Annotations the server declares

    • title: Suburb · Stock on market
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_strata_leviesMedian estimated annual strata levy for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median estimated annual strata levy for the suburb.

    Annotations the server declares

    • title: Suburb · Strata levies
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_supply_pressureFor-sale listings per 100 dwellings (90 days) — per mesh block + suburb rollup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For-sale listings per 100 dwellings (90 days) — per mesh block + suburb rollup.

    Annotations the server declares

    • title: Suburb · Supply pressure
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_transaction_volumeRecent sale-transaction count for the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recent sale-transaction count for the suburb.

    Annotations the server declares

    • title: Suburb · Sale-transaction volume
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_vacancy_mapCalibrated rental-vacancy rate for each mesh block in the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calibrated rental-vacancy rate for each mesh block in the suburb.

    Annotations the server declares

    • title: Suburb · Rental vacancy — per mesh block
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_vacancy_rateSuburb-wide rental vacancy rate by property type, as a decimal fraction (0.00842 = 0.84%).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suburb-wide rental vacancy rate by property type, as a decimal fraction (0.00842 = 0.84%). Use `/market/vacancy-map` for the per-mesh-block surface.

    Annotations the server declares

    • title: Rental vacancy rate — suburb headline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_vacancy_rate_seriesFull rental-vacancy history by property type, decimal fractions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Full rental-vacancy history by property type, decimal fractions.

    Annotations the server declares

    • title: Suburb · Rental vacancy rate — full series
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_yield_mapGross rental yield for every microburb (mesh block) in the suburb — weekly rent x 52 over median price — with both inputs returned so the number is checkable, plus the best- and wo…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Gross rental yield for every microburb (mesh block) in the suburb — weekly rent x 52 over median price — with both inputs returned so the number is checkable, plus the best- and worst-yielding pockets. Values only; polygons come from ``/shapes/mesh-blocks``.

    Annotations the server declares

    • title: Suburb · Gross rental yield per microburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_yield_pctGross rental yield = median rent annualised / median sale price.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Gross rental yield = median rent annualised / median sale price.

    Annotations the server declares

    • title: Suburb · Gross rental yield (%)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_market_yield_pct_seriesFull gross-rental-yield history by property type, decimal fractions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Full gross-rental-yield history by property type, decimal fractions.

    Annotations the server declares

    • title: Suburb · Gross rental yield — full series
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_profileThe suburb's upward ABS admin chain — LGA, SA2/3/4, GCCSA, state, postcode.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The suburb's upward ABS admin chain — LGA, SA2/3/4, GCCSA, state, postcode. Use ``/v1/suburbs/list`` to discover canonical SAL names (and filter by state / LGA / SA4 / postcode).

    Annotations the server declares

    • title: Suburb · ABS geo profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_allNatural-hazard exposure for the suburb: how much of its area sits inside a designated bushfire-prone area and inside a modelled flood overlay, each with a plain risk band and the n…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Natural-hazard exposure for the suburb: how much of its area sits inside a designated bushfire-prone area and inside a modelled flood overlay, each with a plain risk band and the number of distinct hazard polygons. Pass `geojson=true` to get the hazard shapes themselves, clipped to the suburb boundary, in the same call. Slope, heritage, power lines and the per-property hazard counts are separate calls.

    Annotations the server declares

    • title: Suburb · Bushfire + flood — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_bushfireShare of the suburb AREA covered by bushfire-prone designation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Share of the suburb AREA covered by bushfire-prone designation. Area, not properties — and the two differ a lot. Belmont North is 45.72% by area but 23.62% by property count, because designated land is not evenly built on. If you want "what share of homes here are affected", which is the figure our own reports headline, use `GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts` — it returns a count and pct per hazard against the suburb's actual dwellings.

    Annotations the server declares

    • title: Suburb · Bushfire coverage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_capital_growth_impactMatched-study capital-growth impact (%/yr) for bushfire, flood, contamination, mine subsidence, aircraft noise and surface acid sulfate, scaled by the share of properties affected.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Matched-study capital-growth impact (%/yr) for bushfire, flood, contamination, mine subsidence, aircraft noise and surface acid sulfate, scaled by the share of properties affected.

    Annotations the server declares

    • title: Suburb · Capital-growth impact per hazard
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_extrasLandslide / storm-tide coverage, EPA notices, landlord-insurance medians and crime benchmark, with per-microburb detail.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Landslide / storm-tide coverage, EPA notices, landlord-insurance medians and crime benchmark, with per-microburb detail.

    Annotations the server declares

    • title: Suburb · Extra risk indicators
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_floodShare of the suburb AREA covered by modelled flood overlays.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Share of the suburb AREA covered by modelled flood overlays. Area, not properties. For the share of DWELLINGS affected — the figure our own reports headline — use `GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts`. To answer **where** the flood zone is, pass `geojson=true`. The response then includes the actual modelled flood polygons clipped to the suburb boundary, suitable for a street map, plus truncation/simplification metadata. Do not infer street location from `coverage_pct` alone.

    Annotations the server declares

    • title: Suburb · Flood area coverage + optional polygon map
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_heritage_shareShare of the suburb's properties inside a heritage polygon.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Share of the suburb's properties inside a heritage polygon.

    Annotations the server declares

    • title: Suburb · Heritage share of properties
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_hv_power_linesWhether high-voltage transmission lines cross the suburb, how many, and the highest voltage class (overhead lines only).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Whether high-voltage transmission lines cross the suburb, how many, and the highest voltage class (overhead lines only).

    Annotations the server declares

    • title: Suburb · High-voltage power lines
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_slopeMedian / 90th-percentile property gradient and share of steep (>10°) properties.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Median / 90th-percentile property gradient and share of steep (>10°) properties.

    Annotations the server declares

    • title: Suburb · Terrain slope profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_sales_recentProperties sold in the suburb over the last 3 years, with beds/baths/land size, sale price and date, and coordinates.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Properties sold in the suburb over the last 3 years, with beds/baths/land size, sale price and date, and coordinates. Paginated: `total` reports how many sales are available for the suburb (counted before `limit`/`offset`), so you can page through the full feed. Flat price per call regardless of page size.

    Annotations the server declares

    • title: Suburb · Recent sales (last 3 years)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_sales_summaryNumber of sales and median sold price in the suburb over the last 3 years.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Number of sales and median sold price in the suburb over the last 3 years.

    Annotations the server declares

    • title: Suburb · Sales summary (3-year count + median)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_schools_allSchools for a suburb: which public catchments cover it, and which schools sit nearby regardless of zone, with NAPLAN rank, sector, level and attendance for each.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools for a suburb: which public catchments cover it, and which schools sit nearby regardless of zone, with NAPLAN rank, sector, level and attendance for each. Catchments answer "where would my child be guaranteed a place"; nearby answers "what else is within reach".

    Annotations the server declares

    • title: Suburb · All schools — bundle
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_schools_catchmentPublic-school catchment polygons covering the suburb.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Public-school catchment polygons covering the suburb.

    Annotations the server declares

    • title: Suburb · Public-school catchment polygons
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_schools_nearbySchools serving / near the suburb, with rank + attendance data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools serving / near the suburb, with rank + attendance data.

    Annotations the server declares

    • title: Suburb · Nearby schools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_boundarySimplified SAL boundary polygon (GeoJSON Feature) plus centroid.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Simplified SAL boundary polygon (GeoJSON Feature) plus centroid.

    Annotations the server declares

    • title: Suburb boundary polygon
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_busy_roadsBusy-road line segments clipped to the suburb — the report's road-noise exposure proxy.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Busy-road line segments clipped to the suburb — the report's road-noise exposure proxy.

    Annotations the server declares

    • title: Suburb · Busy-road segments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_easementsRegistered easement geometries intersecting the suburb (GeoJSON FeatureCollection).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Registered easement geometries intersecting the suburb (GeoJSON FeatureCollection).

    Annotations the server declares

    • title: Suburb · Easement geometries
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_hazardsHazard polygons for one layer, clipped to the suburb boundary (empty collection = hazard not present).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Hazard polygons for one layer, clipped to the suburb boundary (empty collection = hazard not present).

    Annotations the server declares

    • title: Suburb · Hazard-overlay polygons by layer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_mesh_blocksABS 2021 mesh-block polygons covering the suburb (GeoJSON FeatureCollection, MB code per feature).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    ABS 2021 mesh-block polygons covering the suburb (GeoJSON FeatureCollection, MB code per feature).

    Annotations the server declares

    • title: Suburb · Mesh-block polygons
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_neighboursNeighbouring suburbs as a GeoJSON FeatureCollection — each with its boundary polygon and distance in km.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Neighbouring suburbs as a GeoJSON FeatureCollection — each with its boundary polygon and distance in km.

    Annotations the server declares

    • title: Neighbouring suburb boundaries
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_noise_heatmapPrecomputed noise colour regions clipped to the suburb, plus cell-centre heat points.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Precomputed noise colour regions clipped to the suburb, plus cell-centre heat points.

    Annotations the server declares

    • title: Suburb · Noise-map regions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_shapes_public_housing_sa1SA1 polygons in the suburb with their 2021 census public-housing share (only SA1s above 0%).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    SA1 polygons in the suburb with their 2021 census public-housing share (only SA1s above 0%).

    Annotations the server declares

    • title: Suburb · Public-housing share by SA1
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_similarTop-10 suburbs ranked closest by Microburbs' similarity model.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Top-10 suburbs ranked closest by Microburbs' similarity model.

    Annotations the server declares

    • title: Similar suburbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_street_forecasts2/4/8-year price forecasts for every street in the suburb, anchored to the real sold median.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    2/4/8-year price forecasts for every street in the suburb, anchored to the real sold median. Unpaged by default. Large suburbs are large — Point Cook has 943 streets (~1.4 MB) — so pass `limit`/`offset` when you don't need the lot. `total` reports how many exist. Flat price per call regardless of page size.

    Annotations the server declares

    • title: Suburb · Street-level price forecasts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 18Claude Code: allow
  • area_stats_regionsList the regions that exist at a level — every suburb, LGA, postcode, etc.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List the regions that exist at a level — every suburb, LGA, postcode, etc. Free (0c). Use it to discover the exact region names to pass to /values. **Free.**

    Annotations the server declares

    • title: Area Statistics · List regions at a level
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • geocode_addressResolve a freeform address string to candidate G-NAF identifiers.No findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    Description, as the server wrote it
    Resolve a freeform address string to candidate G-NAF identifiers. Use this before calling any ``/v1/properties/{gnaf_id}/...`` route — those endpoints require a GNAF in the path. Returns up to 10 candidates, ranked by Meilisearch score. **Price: 1¢ per call.**

    Annotations the server declares

    • title: Geocode · Address → GNAF
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lga_listAll Australian LGAs.No findings

    Why it is in this group

    • The name "lga_list" says "list": a word for reading.
    Description, as the server wrote it
    All Australian LGAs. Optional `?state=` filter (e.g. 'NSW'). Returns `{lga, state}` per row. Flat cost. **Price: 3¢ per call.**

    Annotations the server declares

    • title: List LGAs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • mbs_listMesh-block codes inside a suburb.No findings

    Why it is in this group

    • The name "mbs_list" says "list": a word for reading.
    Description, as the server wrote it
    Mesh-block codes inside a suburb. ``sal`` is required for now — nationwide / by-LGA / by-SA3 listings will land later when there's a story for the large payloads (a single LGA can hit a few thousand mesh blocks). **Price: 3¢ per call.**

    Annotations the server declares

    • title: List mesh blocks in a suburb
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • meReturn the calling account and its current prepaid credit balance.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the calling account and its current prepaid credit balance. **Free.**

    Annotations the server declares

    • title: Account · Me
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • pingReturns immediately if the API is up.No findings

    Why it is in this group

    • The name "ping" says "ping": a word for reading.
    Description, as the server wrote it
    Returns immediately if the API is up. No authentication required and not metered — safe to poll from a load balancer, uptime monitor, or status dashboard without affecting your usage. **Free.**

    Annotations the server declares

    • title: Account · Health check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_bath_countBathroom count from the latest matching listing.No findings

    Why it is in this group

    • The name "properties_basics_bath_count" says "count": a word for reading.
    Description, as the server wrote it
    Bathroom count from the latest matching listing. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Bathroom count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_bed_countBedroom count from the latest matching listing.No findings

    Why it is in this group

    • The name "properties_basics_bed_count" says "count": a word for reading.
    Description, as the server wrote it
    Bedroom count from the latest matching listing. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Bedroom count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_basics_parking_countParking-space count from the latest matching listing.No findings

    Why it is in this group

    • The name "properties_basics_parking_count" says "count": a word for reading.
    Description, as the server wrote it
    Parking-space count from the latest matching listing. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Property · Parking-space count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • properties_profileResolve a GNAF to its full ABS Statistical Geography Standard hierarchy (Mesh Block → SA1 → SA2 → SA3 → SA4 → GCCSA → State) plus the parallel admin chain (LGA, suburb (SAL), postc…No findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    Description, as the server wrote it
    Resolve a GNAF to its full ABS Statistical Geography Standard hierarchy (Mesh Block → SA1 → SA2 → SA3 → SA4 → GCCSA → State) plus the parallel admin chain (LGA, suburb (SAL), postcode). Call this once to get every ABS key the rest of the data layers index on. **Price: 3¢ per call.**

    Annotations the server declares

    • title: Property · ABS geo profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sa4_listAll Australian SA4s.No findings

    Why it is in this group

    • The name "sa4_list" says "list": a word for reading.
    Description, as the server wrote it
    All Australian SA4s. Optional `?state=` filter. Returns `{sa4, state}` per row. Flat cost. **Price: 3¢ per call.**

    Annotations the server declares

    • title: List SA4s
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_da_countCount of recent development applications in the suburb.No findings

    Why it is in this group

    • The name "suburbs_development_da_count" says "count": a word for reading.
    Description, as the server wrote it
    Count of recent development applications in the suburb.

    Annotations the server declares

    • title: Suburb · Recent DA count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_development_da_listRecent development applications lodged in the suburb.No findings

    Why it is in this group

    • The name "suburbs_development_da_list" says "list": a word for reading.
    Description, as the server wrote it
    Recent development applications lodged in the suburb.

    Annotations the server declares

    • title: Suburb · Recent DA list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_finder_countHow many suburbs match the filter, without paying per row.No findings

    Why it is in this group

    • The name "suburbs_finder_count" says "count": a word for reading.
    Description, as the server wrote it
    How many suburbs match the filter, without paying per row. 5c. Use this to size a result before searching: /search is capped at 25 rows per call, so `total` here tells you how many `offset` pages you need. **Price: 5¢ per call.**

    Annotations the server declares

    • title: Count matching suburbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_listList Australian suburbs (SALs).No findings

    Why it is in this group

    • The name "suburbs_list" says "list": a word for reading.
    Description, as the server wrote it
    List Australian suburbs (SALs). Always returns `{suburb, state}` per row so SAL-name collisions across states are unambiguous. With no filter you get the first 1000 suburbs alphabetically (browser-renderable preview). Pass any of the filters to narrow: state / lga / sa4 / sa3 / postcode / q (name search). Filters combine (AND). Flat cost regardless of how many rows come back. **Name search (`q`) is typo-tolerant.** It tries an exact match, then substring, then a fuzzy near-miss, and returns `match` (`exact` / `contains` / `fuzzy`) and `score` on every row so you can see which happened. **Always tell the user which suburb you resolved to, and its state, before quoting numbers for it.** A fuzzy match is a suggestion, not a confirmation — `rokeby` is one letter from Kokeby in Western Australia and Rokeby exists in both Tasmania and Victoria. If more than one candidate is plausible, ask rather than pick. When `q` is combined with `state`, the state is a **preference, not a filter**: in-state candidates rank first, but a suburb of that name in another state is still returned rather than hidden, so a near-miss becomes "Seaview is in Victoria, not Tasmania" instead of "no data". Every other filter stays a strict AND. **Free.**

    Annotations the server declares

    • title: List suburbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_countsCounts of contamination points, heritage items and erosion-prone polygons inside the suburb.No findings

    Why it is in this group

    • The name "suburbs_risks_counts" says "count": a word for reading.
    Description, as the server wrote it
    Counts of contamination points, heritage items and erosion-prone polygons inside the suburb.

    Annotations the server declares

    • title: Suburb · Hazard item counts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suburbs_risks_property_hazard_countsCounts and shares of the suburb's properties flagged bushfire / flood / mine-subsidence / contamination / aircraft-noise / acid-sulfate.No findings

    Why it is in this group

    • The name "suburbs_risks_property_hazard_counts" says "count": a word for reading.
    Description, as the server wrote it
    Counts and shares of the suburb's properties flagged bushfire / flood / mine-subsidence / contamination / aircraft-noise / acid-sulfate.

    Annotations the server declares

    • title: Suburb · Property hazard counts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http property-data https://api.microburbs.com.au/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__property-data__ping",
      "mcp__property-data__me",
      "mcp__property-data__properties_basics_bed_count",
      "mcp__property-data__properties_basics_bath_count",
      "mcp__property-data__properties_basics_parking_count",
      "mcp__property-data__properties_profile",
      "mcp__property-data__suburbs_list",
      "mcp__property-data__suburbs_development_da_count",
      "mcp__property-data__suburbs_development_da_list",
      "mcp__property-data__mbs_list",
      "mcp__property-data__lga_list",
      "mcp__property-data__sa4_list",
      "mcp__property-data__geocode_address",
      "mcp__property-data__area_stats_regions",
      "mcp__property-data__suburbs_risks_property_hazard_counts",
      "mcp__property-data__suburbs_risks_counts",
      "mcp__property-data__suburbs_finder_count",
      "mcp__property-data__suburbs_finder_search"
    ],
    "ask": [
      "mcp__property-data__properties_valuation_avm",
      "mcp__property-data__properties_basics_dwelling_type",
      "mcp__property-data__properties_basics_land_area_sqm",
      "mcp__property-data__properties_sale_history",
      "mcp__property-data__properties_sale_history_latest",
      "mcp__property-data__properties_rent_history",
      "mcp__property-data__properties_rent_history_latest",
      "mcp__property-data__properties_neighbours",
      "mcp__property-data__properties_comparables_cma_comp_set",
      "mcp__property-data__properties_comparables_cma_single_comp",
      "mcp__property-data__properties_comparables_recent_sales_nearby",
      "mcp__property-data__properties_development_zoning_code",
      "mcp__property-data__properties_development_zoning_overlays",
      "mcp__property-data__properties_schools_nearby",
      "mcp__property-data__properties_schools_ranking",
      "mcp__property-data__properties_amenities_nearby",
      "mcp__property-data__properties_transport_nearby",
      "mcp__property-data__properties_risks_bushfire",
      "mcp__property-data__properties_risks_flood",
      "mcp__property-data__properties_risks_historical_flood",
      "mcp__property-data__properties_risks_heritage",
      "mcp__property-data__properties_risks_public_housing",
      "mcp__property-data__properties_risks_landslide",
      "mcp__property-data__properties_risks_erosion",
      "mcp__property-data__properties_risks_environment",
      "mcp__property-data__properties_risks_hv_power_line",
      "mcp__property-data__properties_risks_mobile_black_spot",
      "mcp__property-data__properties_risks_all",
      "mcp__property-data__properties_valuation_all",
      "mcp__property-data__properties_basics_all",
      "mcp__property-data__properties_history_all",
      "mcp__property-data__properties_comparables_all",
      "mcp__property-data__properties_development_all",
      "mcp__property-data__properties_schools_all",
      "mcp__property-data__suburbs_profile",
      "mcp__property-data__suburbs_market_median_sale_price",
      "mcp__property-data__suburbs_market_median_sale_price_series",
      "mcp__property-data__suburbs_market_median_rent",
      "mcp__property-data__suburbs_market_median_rent_series",
      "mcp__property-data__suburbs_market_price_growth_5y",
      "mcp__property-data__suburbs_market_price_growth",
      "mcp__property-data__suburbs_market_yield_pct",
      "mcp__property-data__suburbs_market_days_on_market",
      "mcp__property-data__suburbs_market_transaction_volume",
      "mcp__property-data__suburbs_forecast_sale",
      "mcp__property-data__suburbs_listings_for_sale",
      "mcp__property-data__suburbs_listings_for_rent",
      "mcp__property-data__suburbs_demographics_age",
      "mcp__property-data__suburbs_demographics_income",
      "mcp__property-data__suburbs_ethnicity_ancestry",
      "mcp__property-data__suburbs_ethnicity_birthplace",
      "mcp__property-data__suburbs_schools_catchment",
      "mcp__property-data__suburbs_schools_nearby",
      "mcp__property-data__suburbs_risks_bushfire",
      "mcp__property-data__suburbs_risks_flood",
      "mcp__property-data__suburbs_similar",
      "mcp__property-data__suburbs_market_all",
      "mcp__property-data__suburbs_demographics_all",
      "mcp__property-data__suburbs_ethnicity_all",
      "mcp__property-data__suburbs_schools_all",
      "mcp__property-data__suburbs_development_all",
      "mcp__property-data__suburbs_risks_all",
      "mcp__property-data__mbs_profile",
      "mcp__property-data__lga_profile",
      "mcp__property-data__sa4_profile",
      "mcp__property-data__geocode_suburb",
      "mcp__property-data__area_stats_fields",
      "mcp__property-data__area_stats_values",
      "mcp__property-data__suburbs_hero_summary",
      "mcp__property-data__suburbs_hero_neighbours",
      "mcp__property-data__suburbs_hero_price_growth_12mo",
      "mcp__property-data__suburbs_market_mortgage_stress",
      "mcp__property-data__suburbs_market_investor_concentration",
      "mcp__property-data__suburbs_market_built_year",
      "mcp__property-data__suburbs_market_vacancy_map",
      "mcp__property-data__suburbs_market_land_values",
      "mcp__property-data__suburbs_market_strata_levies",
      "mcp__property-data__suburbs_market_affordability",
      "mcp__property-data__suburbs_market_bedroom_stats",
      "mcp__property-data__suburbs_market_repeat_sales",
      "mcp__property-data__suburbs_market_supply_pressure",
      "mcp__property-data__suburbs_market_days_on_market_benchmark",
      "mcp__property-data__suburbs_market_comparable_suburbs",
      "mcp__property-data__suburbs_market_rent_map",
      "mcp__property-data__suburbs_market_yield_map",
      "mcp__property-data__suburbs_lifestyle_livability_map",
      "mcp__property-data__suburbs_sales_recent",
      "mcp__property-data__suburbs_sales_summary",
      "mcp__property-data__suburbs_crime_summary",
      "mcp__property-data__suburbs_crime_breakdown",
      "mcp__property-data__suburbs_crime_by_mesh_block",
      "mcp__property-data__suburbs_risks_extras",
      "mcp__property-data__suburbs_risks_slope",
      "mcp__property-data__suburbs_risks_heritage_share",
      "mcp__property-data__suburbs_lifestyle_summary",
      "mcp__property-data__suburbs_lifestyle_poi_impacts",
      "mcp__property-data__suburbs_lifestyle_livability",
      "mcp__property-data__suburbs_lifestyle_pois",
      "mcp__property-data__suburbs_lifestyle_landmarks",
      "mcp__property-data__suburbs_lifestyle_narrative",
      "mcp__property-data__suburbs_lifestyle_cbd",
      "mcp__property-data__suburbs_development_zoning_map",
      "mcp__property-data__suburbs_development_building_controls",
      "mcp__property-data__suburbs_development_construction_activity",
      "mcp__property-data__suburbs_development_supply",
      "mcp__property-data__suburbs_development_profile",
      "mcp__property-data__suburbs_development_council_rates",
      "mcp__property-data__suburbs_development_applications",
      "mcp__property-data__suburbs_demographics_population_history",
      "mcp__property-data__suburbs_demographics_business",
      "mcp__property-data__suburbs_demographics_voting",
      "mcp__property-data__suburbs_demographics_ancestry_map",
      "mcp__property-data__suburbs_demographics_cultural_integration",
      "mcp__property-data__suburbs_demographics_tenure",
      "mcp__property-data__suburbs_demographics_cohorts",
      "mcp__property-data__suburbs_demographics_income_map",
      "mcp__property-data__suburbs_street_forecasts",
      "mcp__property-data__suburbs_shapes_boundary",
      "mcp__property-data__suburbs_shapes_neighbours",
      "mcp__property-data__suburbs_shapes_mesh_blocks",
      "mcp__property-data__suburbs_shapes_hazards",
      "mcp__property-data__suburbs_shapes_public_housing_sa1",
      "mcp__property-data__suburbs_shapes_noise_heatmap",
      "mcp__property-data__suburbs_shapes_easements",
      "mcp__property-data__suburbs_shapes_busy_roads",
      "mcp__property-data__properties_valuation_land_values",
      "mcp__property-data__properties_valuation_value_series",
      "mcp__property-data__properties_valuation_negative_gearing",
      "mcp__property-data__properties_valuation_agent_quoting",
      "mcp__property-data__properties_surroundings_properties",
      "mcp__property-data__properties_surroundings_tenure",
      "mcp__property-data__properties_surroundings_public_housing",
      "mcp__property-data__properties_surroundings_parcels",
      "mcp__property-data__properties_surroundings_listing_history_signals",
      "mcp__property-data__properties_context_mesh_blocks",
      "mcp__property-data__properties_context_street_bedroom_series",
      "mcp__property-data__properties_context_nearby_for_sale",
      "mcp__property-data__suburbs_market_stock_on_market",
      "mcp__property-data__suburbs_market_months_of_supply",
      "mcp__property-data__suburbs_market_vacancy_rate",
      "mcp__property-data__suburbs_market_yield_pct_series",
      "mcp__property-data__suburbs_market_vacancy_rate_series",
      "mcp__property-data__suburbs_market_recent_price_movement",
      "mcp__property-data__suburbs_risks_hv_power_lines",
      "mcp__property-data__suburbs_risks_capital_growth_impact",
      "mcp__property-data__suburbs_market_growth_drivers",
      "mcp__property-data__suburbs_demographics_underclass_drag",
      "mcp__property-data__suburbs_demographics_unemployment",
      "mcp__property-data__suburbs_demographics_single_parents",
      "mcp__property-data__suburbs_demographics_private_school",
      "mcp__property-data__suburbs_development_density",
      "mcp__property-data__suburbs_development_council_intelligence",
      "mcp__property-data__suburbs_market_median_price_map",
      "mcp__property-data__properties_street_profile",
      "mcp__property-data__suburbs_finder_fields",
      "mcp__property-data__suburbs_finder_regions"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as property-data. Review it before you use it.