Shopping and retail
/v1/suburbs/{suburb_name}/amenities/shopping5¢ per callSupermarkets, convenience stores, fresh food shops, newsagents, hardware and clothing stores: counts in the suburb, rates per 1,000 residents and distance from the suburb centre to the nearest of each.
Coverage: All Australian suburbs and localities. Current to 2026-10-01. Full description, field list and method: /v1/datasets/shopping.
Exact suburb identifier required. Exact official suburb name (SAL), 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.
Authorization
Request
The only values you send. Fields under Responses below are what comes back — you never pass those.
Path parameters
suburb_namestringrequiredExact official suburb name (SAL), 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
fieldsstringoptionalComma-separated subset of: count_supermarkets, per_1000_supermarkets, nearest_km_supermarkets, count_convenience_stores, per_1000_convenience_stores, nearest_km_convenience_stores, count_fresh_food, per_1000_fresh_food, nearest_km_fresh_food, count_newsagents, per_1000_newsagents, nearest_km_newsagents, count_hardware_stores, per_1000_hardware_stores, nearest_km_hardware_stores, count_clothing_stores, per_1000_clothing_stores, nearest_km_clothing_stores, count_total, per_1000_total, per_km2_total. Omit for all.
fromstringoptionalFirst period to include: 2020, 2020-Q3, 2020-07 or 2020-07-01.
tostringoptionalLast period to include, same formats as `from`.
Responses
Successful Response
datasetstringalways returnedDataset slug; describe it with /v1/datasets/{slug}.
levelstringalways returnedsuburb, lga or block.
areastringalways returnedCanonical name (or mesh-block code) of the area answered.
period_typestringalways returnedsnapshot, year, financial_year, quarter or month.
as_ofstring · datealways returnedDate the dataset is current to. Values are never withheld for age; check this instead.
modelledbooleanalways returnedTrue when the figures are estimates from a model rather than counts or measurements.
fieldsarray of DatasetFieldSeriesalways returned/v1/suburbs/{suburb_name}/amenities/shoppingcurl --request GET \
--url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/amenities/shopping' \
--header 'Authorization: Bearer test'{
"data": {
"dataset": "shopping",
"level": "suburb",
"area": "Unley",
"period_type": "snapshot",
"as_of": "2026-10-01",
"modelled": false,
"fields": [
{
"field": "count_supermarkets",
"name": "Supermarkets: count",
"unit": "count",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 2
}
]
},
{
"field": "per_1000_supermarkets",
"name": "Supermarkets: per 1,000 residents",
"unit": "per 1,000",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 0.5
}
]
},
{
"field": "nearest_km_supermarkets",
"name": "Supermarkets: nearest",
"unit": "km",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 0.442
}
]
}
]
}
}About this dataset
All Australian suburbs and localities. Current to 2026-10-01; refreshed quarterly.
What it is
Supermarkets, convenience stores, fresh food shops, newsagents, hardware and clothing stores, summarised for every suburb in one call.
What it shows
For each category: the number inside the suburb boundary, the number per 1,000 residents, and the distance in kilometres from the suburb centre to the nearest one. Plus a total count, a total per 1,000 residents and a total per square kilometre for the whole group.
Why use it
Daily-needs retail drives liveability and is a core buyer question: can I do the weekly shop locally? Distance to the nearest supermarket flags convenience gaps that a suburb count alone hides.
How it is built
We combine open map data with a second places database, drop duplicates, closed and unnamed places, and place each one in its suburb by location. Rates use the suburb's latest resident count and are left blank under 200 residents. Distances are straight-line from the suburb's central point, not walking or driving distance, and are blank beyond 50 km. Counts reflect what is mapped, so very small or remote suburbs can be under-counted.
Fields
| Field | Unit | Description |
|---|---|---|
count_supermarketsSupermarkets: count | count | Number of supermarkets inside the suburb boundary. |
per_1000_supermarketsSupermarkets: per 1,000 residents | per 1,000 | Supermarkets per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_supermarketsSupermarkets: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_convenience_storesConvenience stores: count | count | Number of convenience stores inside the suburb boundary. |
per_1000_convenience_storesConvenience stores: per 1,000 residents | per 1,000 | Convenience stores per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_convenience_storesConvenience stores: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_fresh_foodGreengrocers, butchers and delis: count | count | Number of greengrocers, butchers and delis inside the suburb boundary. |
per_1000_fresh_foodGreengrocers, butchers and delis: per 1,000 residents | per 1,000 | Greengrocers, butchers and delis per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_fresh_foodGreengrocers, butchers and delis: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_newsagentsNewsagents: count | count | Number of newsagents inside the suburb boundary. |
per_1000_newsagentsNewsagents: per 1,000 residents | per 1,000 | Newsagents per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_newsagentsNewsagents: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_hardware_storesHardware stores: count | count | Number of hardware stores inside the suburb boundary. |
per_1000_hardware_storesHardware stores: per 1,000 residents | per 1,000 | Hardware stores per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_hardware_storesHardware stores: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_clothing_storesClothing stores: count | count | Number of clothing stores inside the suburb boundary. |
per_1000_clothing_storesClothing stores: per 1,000 residents | per 1,000 | Clothing stores per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_clothing_storesClothing stores: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_totalAll shopping and retail: count | count | Total of all categories in this group inside the suburb. |
per_1000_totalAll shopping and retail: per 1,000 residents | per 1,000 | Total per 1,000 residents; blank for suburbs with fewer than 200 residents. |
per_km2_totalAll shopping and retail: per km2 | per km2 | Total per square kilometre of suburb area. |
