Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/microburbs-property-basics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Microburbs Property Data Property - Basics API
summary: Suburb and property data for every Australian locality.
description: '**One REST API for demographics, market indicators, risk scores, AVM and
ranking — backed by 25+ years of Australian transactions and census data.**
```bash
curl ''https://api.microburbs.com.au/v1/properties/GANSW704074813/profile'' \
-H ''Authorization: Bearer test''
```
## Why Microburbs
- **Data depth** — Demographics, lifestyle, risk, market, AVM and growth forecasts — all keyed to the same national suburb and property graph.'
version: 1.0.0
servers:
- url: https://api.microburbs.com.au
description: Production
security:
- BearerAuth: []
tags:
- name: Property - Basics
description: Bedroom, bathroom, parking, dwelling type, lot size.
paths:
/v1/properties/{gnaf_id}/basics/bed-count:
get:
tags:
- Property - Basics
summary: Bedroom count
description: 'Bedroom count from the latest matching listing.
**Price: 5¢ per call.**'
operationId: get_property_bed_count_v1_properties__gnaf_id__basics_bed_count_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_BedCount_'
example:
data:
bed_count: 4
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 5
/v1/properties/{gnaf_id}/basics/bath-count:
get:
tags:
- Property - Basics
summary: Bathroom count
description: 'Bathroom count from the latest matching listing.
**Price: 5¢ per call.**'
operationId: get_property_bath_count_v1_properties__gnaf_id__basics_bath_count_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_BathCount_'
example:
data:
bath_count: 2
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 5
/v1/properties/{gnaf_id}/basics/parking-count:
get:
tags:
- Property - Basics
summary: Parking-space count
description: 'Parking-space count from the latest matching listing.
**Price: 5¢ per call.**'
operationId: get_property_parking_count_v1_properties__gnaf_id__basics_parking_count_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_ParkingCount_'
example:
data:
parking_count: 5
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 5
/v1/properties/{gnaf_id}/basics/dwelling-type:
get:
tags:
- Property - Basics
summary: Dwelling type
description: 'Dwelling type (house, unit, townhouse, ...).
**Price: 5¢ per call.**'
operationId: get_property_dwelling_type_v1_properties__gnaf_id__basics_dwelling_type_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_DwellingType_'
example:
data:
dwelling_type: house
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 5
/v1/properties/{gnaf_id}/basics/land-area-sqm:
get:
tags:
- Property - Basics
summary: Land area (sqm)
description: 'Parcel land area in square metres from the cadastral feed.
**Price: 3¢ per call.**'
operationId: get_property_land_area_sqm_v1_properties__gnaf_id__basics_land_area_sqm_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_LandAreaSqm_'
example:
data:
land_area_sqm: 814.0
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 3
/v1/properties/{gnaf_id}/basics/all:
get:
tags:
- Property - Basics
summary: All basics — bundle
description: '**Price: 23¢ per call.**'
operationId: get_property_basics_all_v1_properties__gnaf_id__basics_all_get
parameters:
- name: gnaf_id
in: path
required: true
schema:
type: string
title: Gnaf Id
example: GANSW704074813
example: GANSW704074813
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse_BasicsAll_'
example:
data:
bath_count: 2
bed_count: 4
dwelling_type: house
land_area_sqm: 814.0
parking_count: 5
headers:
X-Cost-Cents:
description: Exact cents billed for this call.
required: true
schema:
type: integer
minimum: 0
X-Spent-Cents:
description: Cumulative cents Autumn reports used for this prepaid wallet.
required: true
schema:
type: integer
minimum: 0
X-Remaining-Cents:
description: Spendable prepaid credit left after this call.
required: true
schema:
type: integer
minimum: 0
X-Period-End:
description: Start of the next UTC calendar month. Prepaid credit does not expire at this timestamp.
required: true
schema:
type: string
format: date-time
X-Balance-Cents:
description: Compatibility alias of X-Remaining-Cents.
required: true
schema:
type: integer
minimum: 0
X-Rate-Card-Version:
description: Version of the endpoint rate card used for this call.
required: true
schema:
type: integer
minimum: 1
X-Request-Id:
description: Request identifier to quote in support requests.
required: true
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
example:
detail:
- type: missing
loc:
- query
- address
msg: Field required
input: null
x-price-cents: 23
components:
schemas:
LandAreaSqm:
properties:
land_area_sqm:
anyOf:
- type: number
- type: 'null'
title: Land Area Sqm
description: Land size in square metres — the figure the property was advertised with, not a survey or cadastral parcel measurement, so treat it as indicative. Acreage advertised in hectares is converted to square metres for you (1 ha = 10,000 sqm), which means small values are rare by construction and a suspiciously round large number may be a converted one. Null means no listing stated a land size; expect that on most apartments and units.
type: object
required:
- land_area_sqm
title: LandAreaSqm
example:
land_area_sqm: 814.0
ApiResponse_BedCount_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/BedCount'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[BedCount]
BedCount:
properties:
bed_count:
anyOf:
- type: integer
- type: 'null'
title: Bed Count
description: Bedrooms, as advertised when the property was last on the market. Null means no listing on record ever stated one — read it as unknown, never as zero.
type: object
required:
- bed_count
title: BedCount
example:
bed_count: 4
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
BasicsAll:
properties:
bed_count:
anyOf:
- type: integer
- type: 'null'
title: Bed Count
description: Bedrooms as advertised. Null = unknown, not zero.
bath_count:
anyOf:
- type: integer
- type: 'null'
title: Bath Count
description: Bathrooms as advertised, whole number. Null = unknown, not zero.
parking_count:
anyOf:
- type: integer
- type: 'null'
title: Parking Count
description: Covered car spaces (garage/carport) as advertised — excludes open driveway and street parking. Null = unknown.
dwelling_type:
anyOf:
- type: string
- type: 'null'
title: Dwelling Type
description: Dwelling kind in lowercase free text ('house', 'unit', 'townhouse', …), from the listing or the national address file. Not a closed set.
land_area_sqm:
anyOf:
- type: number
- type: 'null'
title: Land Area Sqm
description: Advertised land size in square metres (hectares converted for you), indicative rather than surveyed. Null = not stated; usual for units.
type: object
title: BasicsAll
description: 'All property basics — beds, baths, parking, dwelling type, land area —
in one call.
Every one of these comes from what the property was advertised with, so
a null is "never advertised" rather than "zero", and a property that has
never been listed comes back with all five null. Values are returned
flat here (no per-field wrapper object, unlike the individual endpoints).'
example:
bath_count: 2
bed_count: 4
dwelling_type: house
land_area_sqm: 814.0
parking_count: 5
DwellingType:
properties:
dwelling_type:
anyOf:
- type: string
- type: 'null'
title: Dwelling Type
description: 'What kind of dwelling it is — lowercase free text such as ''house'', ''unit'', ''townhouse'', ''apartment''. Taken from the advertised listing type, falling back to the national address file''s classification when no listing states one. Not a closed set: match case-insensitively and allow for values outside the common few.'
type: object
required:
- dwelling_type
title: DwellingType
example:
dwelling_type: house
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ApiResponse_BathCount_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/BathCount'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[BathCount]
ApiResponse_DwellingType_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/DwellingType'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[DwellingType]
ParkingCount:
properties:
parking_count:
anyOf:
- type: integer
- type: 'null'
title: Parking Count
description: Covered car spaces (garage/carport) as advertised. It does not count open driveway or street parking, so a house with a wide driveway and no garage can legitimately read 0 or null. Null means unknown.
type: object
required:
- parking_count
title: ParkingCount
example:
parking_count: 5
ApiResponse_LandAreaSqm_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/LandAreaSqm'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[LandAreaSqm]
ApiResponse_ParkingCount_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/ParkingCount'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[ParkingCount]
ApiResponse_BasicsAll_:
properties:
data:
anyOf:
- $ref: '#/components/schemas/BasicsAll'
- type: 'null'
description: The endpoint's payload, or `null` when Microburbs has no value.
available:
anyOf:
- type: boolean
- type: 'null'
title: Available
description: '`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.'
reason:
anyOf:
- type: string
- type: 'null'
title: Reason
description: Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: Human-readable explanation. Omitted on success.
type: object
title: ApiResponse[BasicsAll]
BathCount:
properties:
bath_count:
anyOf:
- type: integer
- type: 'null'
title: Bath Count
description: Bathrooms, as advertised when the property was last on the market. Whole number — half-bathrooms and powder rooms are not represented. Null means unknown, not zero.
type: object
required:
- bath_count
title: BathCount
example:
bath_count: 2
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: API key as Bearer token. Use `test` for the public sandbox (works only for GNAFs GANSW704074813, GAACT714845944, GAVIC419929404, GAQLD162849753, GAWA_146662014, GASA_422266490, GATAS702292990, GANT_703835649 and SALs 'Belmont North', 'Bondi', 'St Kilda (Vic.)', 'Fortitude Valley', 'Subiaco', 'Unley', 'Sandy Bay', 'Kambah', 'Nightcliff', always 0¢). Mint your own at /developers/keys for full access.
x-tagGroups:
- name: Suburb
tags:
- Suburb - Hero
- Suburb - Profile
- Suburb - Market
- Suburb - Forecast
- Suburb - Listings
- Suburb - Sales
- Suburb - Street Forecasts
- Suburb - Demographics
- Suburb - Ethnicity
- Suburb - Development
- Suburb - Schools
- Suburb - Risks
- Suburb - Crime
- Suburb - Lifestyle
- Suburb - Similar
- Suburb - Shapes
- name: Finders
tags:
- Suburb - Finder
- name: Property
tags:
- Property - Profile
- Property - Basics
- Property - Valuation
- Property - History
- Property - Title
- Property - Comparables
- Property - Development
- Property - Schools
- Property - Amenities
- Property - Risks
- Property - Surroundings
- Property - Context
- name: Area Statistics
tags:
- Area Statistics
- name: Mesh Block
tags:
- Mesh Block - Profile
- name: LGA
tags:
- LGA - Profile
- name: SA4
tags:
- SA4 - Profile
- name: Geocode
tags:
- Geocode
- name: Account
tags:
- Account