Skip to main content
GET
Read one parcel, its owner and every deal on it
The response is one Property. It carries the address and the assessor facts, and it says who holds the parcel and how. The holder facts are the owner kind, owner-occupied or absentee, the holding kind, held since, permits and rental registration. It also carries the short-term rental record of the parcel and every deal ever recorded on it.

Use it when

Use it for the subject-property panel after GET /v1/properties/resolve. Use it for the drawer when a user clicks a parcel. For deals around a parcel, use GET /v1/deals with property_id. For the buyer ranking, use GET /v1/buyers/match.

When the owner is named

owner.names and owner.mailing exist in two cases. On this host, both come back null with contact_redacted: true in each case. So on this host the cases decide only redacted_reason. The two cases:
  1. The parcel is a confirmed investor holding: a registered investor bought it and still owns it. The deal with kind: "hold" in deals[] is that holding.
  2. The city registered the owner as the operator of a short-term rental business here. In this case short_term_rental.business_use is true, with an attribution_basis of PURCHASE_DATE, OWNER_NAME or LICENCE_START.
Every other parcel keeps the owner facts and loses the identity: names: null, mailing: null and a redacted_reason that says why. This covers six cases:
  • a household
  • a recently flipped house that its buyer now owns
  • a public body
  • a licence that a prior owner left behind
  • an owner-occupied home with a casita permit
  • a licence attributed only by assumption

Read the rest

  • The API sets owner_occupied and absentee from the mailing address on the county roll. Both are null when the roll does not say.
  • last_purchase is the latest purchase deed on the parcel, whoever the buyer was.
  • deals[] lists the newest purchase first. Undated holdings come last.
  • short_term_rental is the parcel’s record from the city’s own roll. It is null outside every loaded city. meta.coverage[].str.jurisdictions names each loaded city, and says why the others are not. See the short-term rental parcel.

Gotchas

  • This host does not serve owner.names and owner.mailing: every parcel gets nulls and contact_redacted: true.
  • Public-body investors and their deals appear here even though every list endpoint hides them by default.
  • The API answers 400 invalid_id for an id without the prop_ prefix. It answers 404 when the parcel is in no loaded market.
  • This route reads one parcel. To list the licensed parcels around a point, use GET /v1/str-parcels.
Who owns this house?.

Authorizations

Authorization
string
header
required

API key from the developer console (starts with zpka_). Create one at https://developers.investorlift.com/get-a-key.

Path Parameters

property_id
string
required

Parcel id, prop_<32 hex>, from /v1/properties/resolve or any deal's property.id. The prefix is part of the id (400 invalid_id otherwise).

Required string length: 1 - 64

Response

The parcel block, the owner block and deals[].

The parcel block, the owner block and deals[].

data
object
required

One parcel with its owner facts, its short-term rental licence, its deal history and its Investorlift listings.

meta
object
required

Response metadata: when the API produced it, which markets it covers, and how fresh they are.