Skip to main contentSkip to main content

Current active listings in a suburb

GET/v1/suburbs/{state}/{suburb}/listings3 credits

Costs 3 credits. Paginated list of currently-on-market listings, newest first. Returns card-level fields only (id, address, beds/baths/parking, property type, asking price, sale type, added date); call `/v1/properties/{property_id}` for floor area, valuation, potential sell price, yield, and the full structured address. Use `pagination.next_cursor` for stable pagination; `offset` is supported but silently misses rows when new listings appear between page fetches. `land_size` and the `min_land_size`/`max_land_size` filters are Pro+ only, same as on `/v1/properties/listings`: below Pro the field is null and passing either filter is a 403. **Sizing a walk:** at most 10 rows come back per call, so a full walk costs roughly `listings in the suburb / 10` calls, not a fixed page count. A quiet suburb is one call; the largest in the dataset runs to about 485 listings, or 49. Follow `next_cursor` until it is null rather than assuming a number of pages. **Refreshing:** use `modified_since` instead of re-walking, and take listing endings from `withdrawn` events on /v1/properties/recently-modified. Note a relist keeps its ORIGINAL `added_at` when the off-market gap was under 90 days, so it reappears in its old sort position rather than at the top, so a newest-first incremental walk will not see it, but `modified_since` will.

Parameters

NameInRequiredDescription
statepathyesTwo-letter state code
suburbpathyesSuburb name (URL-encoded)
property_typequerynoExact match, case-insensitive (House, Apartment, Townhouse, Unit, Villa)
min_bedsquerynoMinimum bedrooms
max_bedsquerynoMaximum bedrooms
min_pricequerynoMinimum asking price (AUD). Hobby and above; 403 below it.
max_pricequerynoMaximum asking price (AUD). Hobby and above; 403 below it.
min_land_sizequerynoMinimum land size in square metres. Pro+ only (403 on lower plans). Excludes listings with no land_size on file rather than treating unknown as a match.
max_land_sizequerynoMaximum land size in square metres. Pro+ only (403 on lower plans). Excludes listings with no land_size on file rather than treating unknown as a match.
modified_sincequerynoISO 8601 timestamp. Only return listings whose record changed at or after it. Turns a nightly re-walk into a delta: pass your last run's timestamp and quiet suburbs return a single short page. Cannot report listings that ENDED (those leave this endpoint entirely), so pair it with `withdrawn` events on /v1/properties/recently-modified.
limitquerynoPage size (default 10, max 10). Use `cursor` for deeper walks.
cursorquerynoOpaque cursor from a previous response's `pagination.next_cursor`. Recommended over `offset` for stable pagination.
offsetquerynoLegacy offset pagination (max 1000). Use `cursor` for deeper walks.

Example request

curl "https://api.propradar.com.au/v1/suburbs/VIC/Pascoe%20Vale/listings?property_type=House" \
  -H "X-API-Key: pr_live_..."

Example response

{ "state": "VIC", "suburb": "Pascoe Vale",
  "listings": [{ "property_id": "8644b8fd",
                 "address": "2/28 Danin Street, Pascoe Vale, VIC, 3044",
                 "bedrooms": 2, "bathrooms": 2, "parking": 1,
                 "property_type": "Apartment",
                 "asking_price_low": 725000, "asking_price_high": 750000,
                 "land_size": 154, "sale_type": "Auction",
                 "added_at": "2026-05-26T16:36:43.000Z" }],
  "pagination": { "next_cursor": "eyJk...", "next_offset": 10, "limit": 10 } }

Get an API key

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

Other endpoints