Microburbs
Live sandbox. Send any request below against one sample suburb and property — no signup needed. For full coverage, create an API key.
Classic docs
Microburbs Property Data API
Suburb - Demographics

Income by mesh block — household, personal and family incomes, salaries (by suburb)

GET/v1/suburbs/{suburb_name}/mesh-blocks/income20¢ per call

How much do people here earn? For every mesh block in the suburb: median household, personal and family income for the surrounding area, and salary, deductions and tax for the postcode.

One entry per mesh block in the suburb under mesh_blocks, each with its mb_code, population and dwellings. Values only — the matching polygons come from /shapes/mesh-blocks.

Every field carries provenance — measured (at this block), measured_wider_area (measured for the SA1 or postcode and repeated on every block in it), estimate (our model) or not_recorded — plus how, one sentence on how the number was arrived at.

Exact suburb identifier required. Exact ABS Suburb and Locality (SAL) name, e.g. Burwood (NSW) — many suburbs carry a state suffix. If starting from free text or an unverified bare name, first call GET /v1/geocode/suburb?q=<text>, then use the exact data[].area_name it returns. Suburb data endpoints do not guess a state or typo-correct names.

Price: 20¢ per call.

Authorization

Request

The only values you send. Fields under Responses below are what comes back — you never pass those.

Path parameters

suburb_namestringrequired

Exact ABS Suburb and Locality (SAL) name, e.g. `Burwood (NSW)` — many suburbs carry a state suffix. If starting from free text or an unverified bare name, first call `GET /v1/geocode/suburb?q=<text>`, then use the exact `data[].area_name` it returns. Suburb data endpoints do not guess a state or typo-correct names.

Query parameters

None — this endpoint accepts no query parameters. Call the path above with your bearer token and nothing else.

Responses

Successful Response

application/json
SuburbMbTopicfields returned to you
suburbstringalways returned

Suburb (SAL) name, as resolved.

statestringmay be null

State / Territory abbreviation.

topicstringalways returned

Which topic this answers.

questionstringalways returned

The question this topic answers.

betabooleanalways returned

`true` when the figures behind this topic have not been validated against an independent source yet.

beta_noticestringmay be null

What is unvalidated, on beta topics only.

block_countintegeralways returned

How many mesh blocks are in `mesh_blocks`.

mesh_blocksarray of MbTopicBlockalways returned

One entry per mesh block in the suburb, ordered by `mb_code`.

notestringalways returned

How to read `provenance`.

GET/v1/suburbs/{suburb_name}/mesh-blocks/income
cURL
curl --request GET \
  --url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/mesh-blocks/income' \
  --header 'Authorization: Bearer test'
Example Responses
{
  "data": {
    "suburb": "Belmont North",
    "state": "NSW",
    "topic": "income",
    "question": "How much do people here earn?",
    "beta": false,
    "block_count": 85,
    "mesh_blocks": [
      {
        "mb_code": "10434270000",
        "population": 124,
        "dwellings": 46,
        "fields": {
          "area_median_household_income_weekly": {
            "value": 1787,
            "label": "Median household income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_personal_income_weekly": {
            "value": 691,
            "label": "Median personal income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_family_income_weekly": {
            "value": 1954,
            "label": "Median family income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "ato_median_salary": {
            "value": 62644,
            "label": "Median salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_average_salary": {
            "value": 72781,
            "label": "Average salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_total_deductions": {
            "value": 950,
            "label": "Median total deductions claimed, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_net_tax": {
            "value": 14417,
            "label": "Median net tax paid, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          }
        }
      },
      {
        "mb_code": "11205004200",
        "population": 189,
        "dwellings": 63,
        "fields": {
          "area_median_household_income_weekly": {
            "value": 1953,
            "label": "Median household income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_personal_income_weekly": {
            "value": 804,
            "label": "Median personal income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_family_income_weekly": {
            "value": 2196,
            "label": "Median family income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "ato_median_salary": {
            "value": 62644,
            "label": "Median salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_average_salary": {
            "value": 72781,
            "label": "Average salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_total_deductions": {
            "value": 950,
            "label": "Median total deductions claimed, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_net_tax": {
            "value": 14417,
            "label": "Median net tax paid, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          }
        }
      },
      {
        "mb_code": "10436570000",
        "population": 169,
        "dwellings": 64,
        "fields": {
          "area_median_household_income_weekly": {
            "value": 2305,
            "label": "Median household income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_personal_income_weekly": {
            "value": 809,
            "label": "Median personal income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "area_median_family_income_weekly": {
            "value": 2381,
            "label": "Median family income, surrounding area",
            "unit": "AUD per week",
            "provenance": "measured_wider_area",
            "measured_at": "sa1",
            "how": "measured for the surrounding area (SA1), repeated on this Microburb"
          },
          "ato_median_salary": {
            "value": 62644,
            "label": "Median salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_average_salary": {
            "value": 72781,
            "label": "Average salary or wages, tax returns lodged in the postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_total_deductions": {
            "value": 950,
            "label": "Median total deductions claimed, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          },
          "ato_median_net_tax": {
            "value": 14417,
            "label": "Median net tax paid, postcode",
            "unit": "AUD per year",
            "provenance": "measured_wider_area",
            "measured_at": "postcode",
            "how": "measured for the postcode, repeated on this Microburb"
          }
        }
      }
    ],
    "note": "Each field says how its number was arrived at. An estimate is not a measurement, and a figure measured for a wider area is not a measurement of the block."
  }
}
Successful Response200
application/json