Skip to main contentSkip to main content

List every suburb in the dataset (coverage index)

GET/v1/suburbs1 credit

The coverage index. Returns every COVERED suburb, with a per-resource `available` map so you can tell BEFORE spending a request which sub-resources will actually return data for it. Start an integration here. Enumerate once, store the suburbs you care about, then call the detail and sub-resource endpoints only where `available` says there is something to fetch. Guessing suburb names instead is the single largest source of wasted credits on this API: over one 30-day window, 19.5% of all calls returned 404, across 4,896 distinct suburb names that were never in the dataset. `available.detail` is always true (every row here resolves on /v1/suburbs/{state}/{suburb} with a non-empty body). A suburb only appears once it has at least one substantive statistic, which is the same gate the public /coverage page uses: a bare row in our stats table returns 200 with an empty body and is not counted as coverage by either surface. `price_history` and `market_cycle` are deliberately absent from the map: both 404 on transaction-volume thresholds rather than on simple data presence, so a flag would be wrong often enough to mislead. Available on every plan including free, and paginated with offset/limit, and at the 1000 maximum the whole dataset is about 13 requests.

Parameters

NameInRequiredDescription
statequeryno2-3 letter code (NSW, VIC, QLD, SA, WA, TAS, ACT, NT). Omit for all states.
hasquerynoComma-separated availability flags; returns only suburbs where ALL are true. One or more of: listings, sold, heat_history, medians.
limitquerynoRows per page, 1-1000 (default 200).
offsetquerynoRow offset for paging (default 0). Use pagination.next_offset.

Example request

curl "https://api.propradar.com.au/v1/suburbs?state=NSW&has=heat_history&limit=2" \
  -H "X-API-Key: pr_live_..."

Example response

{
  "query": { "state": "NSW", "has": ["heat_history"], "limit": 2, "offset": 0 },
  "suburbs": [
    { "suburb": "ABBOTSFORD", "state": "NSW", "postcode": 2046,
      "available": { "detail": true, "listings": true, "sold": true,
                     "heat_history": true, "medians": true } },
    { "suburb": "ABERCROMBIE RIVER", "state": "NSW", "postcode": 2795,
      "available": { "detail": true, "listings": false, "sold": false,
                     "heat_history": true, "medians": false } }
  ],
  "pagination": { "offset": 0, "limit": 2, "total": 4162, "next_offset": 2 }
}

Get an API key

Every endpoint takes an X-API-Key header. The free tier needs no credit card.

Other endpoints