Suburb - Demographics
Projected voting profile
GET
/v1/suburbs/{suburb_name}/demographics/voting10¢ per callProjected first-preference shares per party, aggregated across the suburb's microburbs (booth-derived model — not an actual vote).
Price: 10¢ per call.
Authorization
Request
The only values you send. Fields under Responses below are what comes back — you never pass those.
Path parameters
suburb_namestringrequiredQuery parameters
None — this endpoint accepts no query parameters. Call the path above with your bearer token and nothing else.
Responses
Successful Response
application/json
SuburbVotingfields returned to you
suburbstringalways returnedCanonical SAL name.
n_microburbsintegeralways returnedMicroburbs in the aggregate.
projectionstringalways returnedWhat the projection represents (and its provenance).
winnerobjectalways returnedOne party's projected first-preference share.
runner_upobjectalways returnedOne party's projected first-preference share.
margin_pctnumberalways returnedWinner-minus-runner-up margin (pp).
leanstringalways returnedStrong <party> (≥15pp) / <party> lean (≥5pp) / Marginal.
partiesarray of PartyResultalways returnedAll parties polling ≥0.5%, descending.
GET
/v1/suburbs/{suburb_name}/demographics/votingcURL
curl --request GET \
--url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/demographics/voting' \
--header 'Authorization: Bearer test'Example Responses
{
"data": {
"lean": "Labor lean",
"margin_pct": 6.7,
"n_microburbs": 85,
"parties": [
{
"label": "Labor",
"party": "ALP",
"pct": 38.2
},
{
"label": "Liberal",
"party": "LIB",
"pct": 31.5
},
{
"label": "Greens",
"party": "GRN",
"pct": 11.3
}
],
"projection": "Federal election held May 2026 (projected — not an actual vote)",
"runner_up": {
"label": "Liberal",
"party": "LIB",
"pct": 31.5
},
"suburb": "Belmont North",
"winner": {
"label": "Labor",
"party": "ALP",
"pct": 38.2
}
}
}Successful Response200
application/json
