Skip to main contentSkip to main content

Look up a single property

GET/v1/properties/{property_id}2 credits

Costs 2 credits. Returns the full property record: attributes, current listing, valuation, rental estimate, and last sold record. The example `property_id` below is illustrative: properties get sold and rotate out of the active dataset, so always resolve a current id via `/v1/properties/search` first. **Branch on `listing.listing_status`**, which is `on_market`, `withdrawn`, or `sold`. `withdrawn` means the listing stopped being advertised and we hold no sale for it, so do NOT report it as sold. A withdrawn property can still carry a `last_sale` block from an EARLIER sale; that is history, not the outcome of this campaign. `withdrawn` is reversible: a relist returns the property to `on_market`. The older `listing.on_market` boolean is retained as a derived alias and is deprecated, since it cannot tell a withdrawal from a sale. A property we have seen but that is no longer advertised returns 200 with `listing_status: "withdrawn"`, not 404. A 404 means the address is not in the dataset at all. `_links.web` is the canonical PropRadar page for the property. The API does not return third-party listing links, so use this when you need somewhere to send a user. Pro+ keys also receive an `analytics` block with the investment score, component breakdown, and planning-risk overlays. Free/Hobby/Starter responses omit the field entirely (no schema regression). Tier-gated fields carry their normal null/omitted value for plans that cannot access them, and every such field is enumerated in a top-level `locked_fields` object with the plan needed to unlock it, so a null there means 'upgrade to reveal', not 'missing from the dataset'. When anything is gated, a sibling `locked_fields_note` string summarises it in one sentence (e.g. "20 fields are hidden on your plan (18 require Hobby, 2 require Pro). See locked_fields for how to unlock each one.") for a caller reading the response quickly rather than walking the nested object; both keys are absent once your plan clears every gate. On the Free tier the record identifies the property and its physical attributes; every derived or commercial value is Hobby and above: the valuation and its range and confidence, the rental estimate and yield, `potential_sell_price`, the last sale, the listing's asking prices, sale type and days on market, zoning and year built. Coordinates (`geo`) are returned on every plan.

Parameters

NameInRequiredDescription
property_idpathyes8- or 12-char hex hash of the normalised address. Use /v1/properties/search to resolve an address.

Example request

curl "https://api.propradar.com.au/v1/properties/{property_id}" \
  -H "X-API-Key: pr_live_..."

Example response

{
  "property_id": "a1b2c3d4",
  "address": {
    "full": "1/8 Bristol Road, PASCOE VALE, VIC, 3044",
    "street": "1/8 Bristol Road",
    "suburb": "PASCOE VALE",
    "state": "VIC",
    "postcode": 3044
  },
  "attributes": { "bedrooms": 2, "bathrooms": 1, "parking": 2,
                  "property_type": "Apartment", "year_built": 1995 },
  "listing": { "listing_status": "on_market", "on_market": true,
               "off_market_since": null, "asking_price_low": 640000,
               "asking_price_high": 720000, "sale_type": "Private Sale",
               "days_on_market": 14 },
  "valuation": { "estimated_value": 660000,
                 "estimated_value_low": 600000,
                 "estimated_value_high": 720000,
                 "confidence": "high", "as_of": "2026-05-15",
                 "agreement": { "estimate_support": "multiple", "dispersion_pct": 8.4, "review_recommended": false } },
  "rental": { "estimated_weekly": 495,
              "estimated_yield_pct": 3.9, "confidence": "high" },
  "last_sale": { "sold_price": 580000, "sold_date": "2018-06-12", "days_on_market": 31 },
  "potential_sell_price": 665000,
  "data_quality_flags": [],
  "analytics": {
    "investment_score": 68.2,
    "investment_score_confidence": "high",
    "score_breakdown": { "yield_score": 7.2, "capital_growth": 14.5, ... },
    "risk_overlays": { "flood": false, "bushfire": false, "heritage": true }
  }
}

Get an API key

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

Other endpoints