Health services nearby
/v1/suburbs/{suburb_name}/amenities/health-services5¢ per callGPs and medical centres, pharmacies, dentists, hospitals and vets: 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/health-services.
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_gps, per_1000_gps, nearest_km_gps, count_pharmacies, per_1000_pharmacies, nearest_km_pharmacies, count_dentists, per_1000_dentists, nearest_km_dentists, count_hospitals, per_1000_hospitals, nearest_km_hospitals, count_vets, per_1000_vets, nearest_km_vets, 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/health-servicescurl --request GET \
--url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/amenities/health-services' \
--header 'Authorization: Bearer test'{
"data": {
"dataset": "health-services",
"level": "suburb",
"area": "Subiaco",
"period_type": "snapshot",
"as_of": "2026-10-01",
"modelled": false,
"fields": [
{
"field": "count_gps",
"name": "GPs and medical centres: count",
"unit": "count",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 24
}
]
},
{
"field": "per_1000_gps",
"name": "GPs and medical centres: per 1,000 residents",
"unit": "per 1,000",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 2.416918
}
]
},
{
"field": "nearest_km_gps",
"name": "GPs and medical centres: nearest",
"unit": "km",
"values": [
{
"period": "2026-10-01",
"period_start": "2026-10-01",
"value": 0.109
}
]
}
]
}
}About this dataset
All Australian suburbs and localities. Current to 2026-10-01; refreshed quarterly.
What it is
GPs and medical centres, pharmacies, dentists, hospitals and vets, 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
Access to a doctor, a pharmacy and a hospital matters most to families, older buyers and retirees, and is a standard test of whether an area is under-served. Distances show rural and outer-suburban gaps that counts miss.
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_gpsGPs and medical centres: count | count | Number of gps and medical centres inside the suburb boundary. |
per_1000_gpsGPs and medical centres: per 1,000 residents | per 1,000 | GPs and medical centres per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_gpsGPs and medical centres: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_pharmaciesPharmacies: count | count | Number of pharmacies inside the suburb boundary. |
per_1000_pharmaciesPharmacies: per 1,000 residents | per 1,000 | Pharmacies per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_pharmaciesPharmacies: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_dentistsDentists: count | count | Number of dentists inside the suburb boundary. |
per_1000_dentistsDentists: per 1,000 residents | per 1,000 | Dentists per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_dentistsDentists: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_hospitalsHospitals: count | count | Number of hospitals inside the suburb boundary. |
per_1000_hospitalsHospitals: per 1,000 residents | per 1,000 | Hospitals per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_hospitalsHospitals: nearest | km | Straight-line distance from the suburb centre to the nearest of these, in kilometres; blank when none is within 50 km. |
count_vetsVets: count | count | Number of vets inside the suburb boundary. |
per_1000_vetsVets: per 1,000 residents | per 1,000 | Vets per 1,000 residents. Left blank for suburbs with fewer than 200 residents. |
nearest_km_vetsVets: 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 health services nearby: count | count | Total of all categories in this group inside the suburb. |
per_1000_totalAll health services nearby: per 1,000 residents | per 1,000 | Total per 1,000 residents; blank for suburbs with fewer than 200 residents. |
per_km2_totalAll health services nearby: per km2 | per km2 | Total per square kilometre of suburb area. |
