Recent sold comparables (Hobby+; lat/lng mode Pro+)
/v1/comparables2 creditsCosts 2 credits. Sold properties within a radius and time window of a reference point, ranked by distance. `property_type` is exact-match, case-insensitive: pass "House" for houses only, not "Townhouse". Use `pagination.next_cursor` to walk deeper than the offset cap. Requires Hobby or higher; Free keys get 403 plan_upgrade_required (credits refunded). Specify the reference point EITHER as `property_id` (Hobby+) OR as `lat`+`lng` (Pro+); sending both is a 400. Reach for `lat`/`lng` when the subject property is not in our data: address lookup covers on-market listings and properties with a sold record, so a long-held, never-listed home resolves in neither and 404s on the `property_id` path. That is a coverage limit, not a plan gate (upgrading does not change it), so geocode the address yourself and pass the point.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
| property_id | query | no | Reference property already in the dataset. Mutually exclusive with lat/lng. |
| lat | query | no | Latitude of your own reference point (Pro+). Requires lng. Australia only (-44 to -9); out of range returns 400, which also catches a swapped pair. |
| lng | query | no | Longitude of your own reference point (Pro+). Requires lat. Australia only (112 to 154). |
| radius_m | query | no | Search radius in metres (default 1000, max 5000) |
| months | query | no | Look-back window in months (default 12, max 24) |
| property_type | query | no | Exact match, case-insensitive. e.g. House, Apartment, Townhouse, Unit, Villa. If omitted, Land and Commercial are excluded (not comparable to a dwelling); pass the type explicitly to get them. |
| beds | query | no | Match exact bedroom count |
| limit | query | no | Page size (default 20, max 20). Use `cursor` for deeper walks. |
| cursor | query | no | Opaque cursor from the previous response's `pagination.next_cursor`. Preferred for deep pagination. |
| offset | query | no | Legacy offset pagination. Capped at 100: use `cursor` to walk deeper or narrow `radius_m`/`months`. |
Example request
curl "https://api.propradar.com.au/v1/comparables?lat=-32.059&lng=115.957&radius_m=1000&months=12" \
-H "X-API-Key: pr_live_..."Example response
// lat/lng mode: property_id is null, geo echoes your own point.
{
"reference": { "property_id": null, "address": null,
"geo": { "lat": -32.059, "lng": 115.957 } },
"comparables": [{ "property_id": "...", "distance_m": 280, "sold_price": 712000, ... }],
"pagination": { "limit": 20, "offset": 0,
"next_cursor": "eyJkbSI6MjgwLCJpIjoiYTFiMmMzZDQifQ", "next_offset": 20 }
}Get an API key
Every endpoint takes an X-API-Key header. The free tier needs no credit card.
Other endpoints
- Many suburbs in one call: statistics and recent sales POST /v1/suburbs/batch
- List every suburb in the dataset (coverage index) GET /v1/suburbs
- Authenticated health probe GET /v1/health
- Account usage and credit allowance GET /v1/usage
- Resolve an address to a property_id GET /v1/properties/search
- Look up a single property GET /v1/properties/{property_id}
- Suburb statistics GET /v1/suburbs/{state}/{suburb}
- Trust-gated suburb rankings (Pro+ tier) GET /v1/suburbs/rankings
- Multi-criteria suburb screener (Pro+ tier) GET /v1/suburbs/screen
- Recent sold properties in a suburb GET /v1/suburbs/{state}/{suburb}/sold
- Current active listings in a suburb GET /v1/suburbs/{state}/{suburb}/listings
- Search current listings across a whole state (Pro+ tier) GET /v1/properties/listings
- Property event history GET /v1/properties/{property_id}/history
- Most recent sold record (Hobby+ tier) GET /v1/properties/{property_id}/sold_summary
- Potential sell price confidence band GET /v1/properties/{property_id}/psp_with_confidence
- Similar active listings GET /v1/properties/{property_id}/similar
- Nearby active listings GET /v1/properties/{property_id}/nearby
- Batch property lookup (Starter+ tier) POST /v1/properties/bulk
- Value an off-market address: instant estimate or enhanced valuation (Hobby+ tier) POST /v1/valuations
- Poll an off-market valuation job GET /v1/valuations/{id}
- Valuation range for a locality, no address needed (Pro+ tier) POST /v1/valuations/estimate
- 12-month outlook for house/unit price and rent (Pro+ tier) GET /v1/suburbs/{state}/{suburb}/forecast
- Development applications near a point (Pro+ tier) GET /v1/developments/nearby
- Properties currently advertised for rent in a suburb (Hobby+ tier) GET /v1/suburbs/{state}/{suburb}/rentals
- Weekly rent estimate for a locality, no address needed (Pro+ tier) POST /v1/rent/estimate
- Recently-modified event feed (Starter+ tier) GET /v1/properties/recently-modified
- Investment score + cashflow (Pro+ tier) GET /v1/properties/{property_id}/investment_analysis
- Market cycle classification (Pro+ tier) GET /v1/suburbs/{state}/{suburb}/market_cycle
- Annual price/rent/yield time-series (Pro+ tier) GET /v1/suburbs/{state}/{suburb}/price_history
- Market-heat time-series (Pro+ tier) GET /v1/suburbs/{state}/{suburb}/heat_history
- List macro regions (Growth+ tier) GET /v1/regions
- Region macro indicators (Growth+ tier) GET /v1/regions/{slug}
- Suggest addresses as the user types GET /v1/addresses/suggest
- Turn free text into suburbs GET /v1/suburbs/resolve