Microburbs
Free sandbox: try any request below on the sample suburbs, no signup. For every suburb, create an API key.
Classic docs
Microburbs Property Data API
Suburb - Demographics

Federal election results

GET/v1/suburbs/{suburb_name}/demographics/federal-election-results5¢ per call

How each suburb voted at the 2019, 2022 and 2025 federal elections (House of Representatives): first-preference share by party, two-party-preferred Labor v Coalition, swings, informal vote and the electorate. Also state and national totals with turnout.

Coverage: About 7,500 suburbs per election (every suburb with at least 100 allocated formal votes), all 8 states and territories, and Australia; federal elections 2019, 2022 and 2025. Current to 2025-05-03. Full description, field list and method: /v1/datasets/election-results-federal.

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_namestringrequired

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.

Query parameters

fieldsstringoptional

Comma-separated subset of: formal_votes, informal_votes, informal_pct, labor_votes, coalition_votes, greens_votes, one_nation_votes, independent_votes, other_votes, labor_pct, coalition_pct, greens_pct, one_nation_pct, independent_pct, other_pct, tpp_labor_votes, tpp_coalition_votes, tpp_labor_pct, tpp_coalition_pct, labor_swing, coalition_swing, greens_swing, one_nation_swing, independent_swing, tpp_labor_swing, main_division, main_division_share_pct, divisions, enrolment, turnout_pct. Omit for all.

fromstringoptional

First period to include: 2020, 2020-Q3, 2020-07 or 2020-07-01.

tostringoptional

Last period to include, same formats as `from`.

Responses

Successful Response

application/json
DatasetValuesfields returned to you
datasetstringalways returned

Dataset slug; describe it with /v1/datasets/{slug}.

levelstringalways returned

suburb, lga or block.

areastringalways returned

Canonical name (or mesh-block code) of the area answered.

period_typestringalways returned

snapshot, year, financial_year, quarter or month.

as_ofstring · datealways returned

Date the dataset is current to. Values are never withheld for age; check this instead.

modelledbooleanalways returned

True when the figures are estimates from a model rather than counts or measurements.

fieldsarray of DatasetFieldSeriesalways returned
GET/v1/suburbs/{suburb_name}/demographics/federal-election-results
cURL
curl --request GET \
  --url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/demographics/federal-election-results' \
  --header 'Authorization: Bearer test'
Example Responses
{
  "data": {
    "dataset": "election-results-federal",
    "level": "suburb",
    "area": "Bondi",
    "period_type": "year",
    "as_of": "2025-05-03",
    "modelled": false,
    "fields": [
      {
        "field": "formal_votes",
        "name": "Formal votes",
        "unit": "votes",
        "values": [
          {
            "period": "2019",
            "period_start": "2019-01-01",
            "value": 5462.226
          },
          {
            "period": "2022",
            "period_start": "2022-01-01",
            "value": 5510.736
          },
          {
            "period": "2025",
            "period_start": "2025-01-01",
            "value": 5805.914
          }
        ]
      },
      {
        "field": "informal_votes",
        "name": "Informal votes",
        "unit": "votes",
        "values": [
          {
            "period": "2019",
            "period_start": "2019-01-01",
            "value": 178.3442
          },
          {
            "period": "2022",
            "period_start": "2022-01-01",
            "value": 180.0342
          },
          {
            "period": "2025",
            "period_start": "2025-01-01",
            "value": 157.7765
          }
        ]
      },
      {
        "field": "informal_pct",
        "name": "Informal vote share",
        "unit": "%",
        "values": [
          {
            "period": "2019",
            "period_start": "2019-01-01",
            "value": 3.161811
          },
          {
            "period": "2022",
            "period_start": "2022-01-01",
            "value": 3.163617
          },
          {
            "period": "2025",
            "period_start": "2025-01-01",
            "value": 2.645618
          }
        ]
      }
    ]
  }
}
Successful Response200
application/json

About this dataset

About 7,500 suburbs per election (every suburb with at least 100 allocated formal votes), all 8 states and territories, and Australia; federal elections 2019, 2022 and 2025. Current to 2025-05-03; refreshed after each federal election.

What it is

Actual results of the last three federal elections for the House of Representatives (18 May 2019, 21 May 2022 and 3 May 2025), estimated for each suburb from results counted at every polling place and every postal, absent, provisional and pre-poll declaration vote, plus the official state and national totals. Each election is one period, labelled by its year.

What it shows

For each suburb and election: formal and informal votes, first-preference votes and shares for Labor, the Coalition, the Greens, One Nation, independents and all others, the two-party-preferred (Labor versus Coalition) votes and shares, the swing in each since the previous election, and the federal electorate most of the suburb's voters belonged to with the share of its votes from that electorate. State and national rows carry the published totals plus enrolment and turnout. These are counted results; for a forward-looking estimate see the separate voting projection endpoint.

Why use it

See the political make-up of a suburb in real numbers rather than by its electorate's headline result: one electorate can contain suburbs that lean very differently. Use it to compare suburbs, track how a suburb moved between elections, match local results to the electorate and its member, or add voting patterns to suburb profiles, research and planning.

How it is built

Votes are counted by polling place, not by where people live, so each polling place's votes are spread across the small areas its voters came from, using the official record of which small areas each polling place's voters were enrolled in (2019 and 2022). For 2025, which has no such record, a polling place uses its own 2022 spread, or that of the nearest 2022 polling place of the same kind within 5 km; a booth with neither goes to the suburb it stands in, and a new pre-poll centre or a remote mobile team is spread like the rest of its electorate's ordinary votes. Declaration votes (postal, absent, provisional, pre-poll declaration) are published per electorate and are spread the same way (2025: like the electorate's ordinary votes). Small areas are then joined to suburbs by resident population. Every vote is allocated, so suburb totals add up to the published national totals. Suburb figures are estimates and carry fractions; a suburb is published for an election only when at least 100 formal votes are allocated to it. Swings compare the same suburb between elections and include the effect of boundary and candidate changes. The Coalition group sums Liberal, National, Liberal National (Qld) and Country Liberal (NT) candidates. Turnout is only published per electorate, so it is given for states and Australia, not suburbs.

Fields

FieldUnitDescription
formal_votes
Formal votes
votesFormal House of Representatives votes (first preferences) cast by voters in the area, all vote types (election day, pre-poll, postal, absent, provisional). For a suburb this is an allocated estimate and can carry a fraction.
informal_votes
Informal votes
votesInformal House of Representatives ballots cast by voters in the area.
informal_pct
Informal vote share
%Informal ballots as a share of all ballots (formal plus informal).
labor_votes
Labor first-preference votes
votesFirst-preference votes for labor candidates.
coalition_votes
Coalition (Liberal, National, LNP, CLP) first-preference votes
votesFirst-preference votes for coalition (liberal, national, lnp, clp) candidates. Includes every Liberal, National, Liberal National (Qld) and Country Liberal (NT) candidate, even where two of them ran in one seat.
greens_votes
Greens first-preference votes
votesFirst-preference votes for greens candidates.
one_nation_votes
One Nation first-preference votes
votesFirst-preference votes for one nation candidates.
independent_votes
Independents first-preference votes
votesFirst-preference votes for independents candidates. Candidates who ran without a registered party.
other_votes
All other parties first-preference votes
votesFirst-preference votes for every other party and candidate candidates.
labor_pct
Labor first-preference share
%Labor first-preference votes as a share of formal votes.
coalition_pct
Coalition (Liberal, National, LNP, CLP) first-preference share
%Coalition (Liberal, National, LNP, CLP) first-preference votes as a share of formal votes.
greens_pct
Greens first-preference share
%Greens first-preference votes as a share of formal votes.
one_nation_pct
One Nation first-preference share
%One Nation first-preference votes as a share of formal votes.
independent_pct
Independents first-preference share
%Independents first-preference votes as a share of formal votes.
other_pct
All other parties first-preference share
%All other parties first-preference votes as a share of formal votes.
tpp_labor_votes
Two-party-preferred votes, Labor
votesVotes for Labor after preferences are distributed down to Labor versus the Coalition. Counted in every seat, including seats where the final two were not Labor and the Coalition.
tpp_coalition_votes
Two-party-preferred votes, Coalition
votesVotes for the Coalition after preferences are distributed down to Labor versus the Coalition.
tpp_labor_pct
Two-party-preferred share, Labor
%Labor's share of the two-party-preferred vote (Labor versus Coalition).
tpp_coalition_pct
Two-party-preferred share, Coalition
%The Coalition's share of the two-party-preferred vote (Labor versus Coalition). Labor and Coalition shares sum to 100.
labor_swing
Labor first-preference swing
ppChange in the Labor first-preference share since the previous federal election, in percentage points, for the same area. Absent for the first election held.
coalition_swing
Coalition (Liberal, National, LNP, CLP) first-preference swing
ppChange in the Coalition first-preference share since the previous federal election, in percentage points, for the same area. Absent for the first election held.
greens_swing
Greens first-preference swing
ppChange in the Greens first-preference share since the previous federal election, in percentage points, for the same area. Absent for the first election held.
one_nation_swing
One Nation first-preference swing
ppChange in the One Nation first-preference share since the previous federal election, in percentage points, for the same area. Absent for the first election held.
independent_swing
Independents first-preference swing
ppChange in the Independents first-preference share since the previous federal election, in percentage points, for the same area. Absent for the first election held.
tpp_labor_swing
Two-party-preferred swing to Labor
ppChange in Labor's two-party-preferred share since the previous federal election, in percentage points, for the same area. Negative means a swing to the Coalition. Absent for the first election held.
main_division
Federal electorate
codeSuburbs only: the federal electorate (division) that most of the suburb's voters were enrolled in at that election. The value is a stable electorate code; `labels` on the series gives its name (for example 151 = Warringah).
main_division_share_pct
Share of votes in that electorate
%Suburbs only: the share of the suburb's formal votes that were cast by voters of the main electorate. Below 100 means the suburb is split between electorates.
divisions
Electorates covering the suburb
countSuburbs only: the number of federal electorates holding at least 2% of the suburb's formal votes.
enrolment
Enrolled voters
personsStates and Australia only: voters on the roll.
turnout_pct
Turnout
%States and Australia only: ballots cast (formal and informal) as a share of enrolled voters.