Skip to main content
One change on one parcel, from the week-over-week comparison of the deliveries. GET /v1/properties/{property_id}/history returns it, and GET /v1/markets/{market}/changes counts it across a ZIP.

Domain and kind

domain is the part of the file that changed. kind is what the change was. first_seen means the parcel entered the record. It is not a change to the parcel. deleted and removed mean the parcel left the record.

The week is an observation, not a date

week is the weekly file that showed the change. It is the only date the replay can give truthfully. A change between two files occurred at some point between them. span_weeks is the number of weeks since the previous file that showed the parcel. In a normal week it is 1. Across a gap in the deliveries, the replay dates the event to the first file after the gap. It sets span_weeks to the length of that gap. The replay invents no intermediate week. An owner_change with span_weeks: 4 tells you the owner changed at some point in those four weeks. The deed in deed usually narrows it, because the recording date is a real date.

before, after and deed

  • before and after are the domain’s own columns, with the keys the delivery uses. So the keys differ between domains. Compare the two to see what changed.
  • before is null on a first sighting, and after is null on a deletion.
  • deed has a value only on an owner_change. It carries what the deed of the same week showed: the document type, the sale price and the recording date. It is null on every other kind.

Dated domains

valuation and financing events come from the dated snapshot, so a response that carries them also carries meta.dated[]. Both stop at the slice date the market’s coverage row names (meta.coverage[].parcel.financing.as_of). After that date the deliveries no longer carry the datasets. So the silence comes from the delivery, not from the parcel. The coverage block of the history response says so per domain. See dated data.

One typed change on a parcel, from the week-over-week diff of the delivery files.

id
string
required

Event id (32 hex).

week
string
required

The weekly file in which the change first appears, YYYY-MM-DD. Across a delivery gap the API dates the event to the first file after the gap, never to a fabricated week. The field span_weeks says how long the gap was.

domain
enum<string>
required

The domain of the weekly file an event comes from.

Available options:
ownership,
mailing,
occupancy,
vacancy,
classification,
structure,
assessment,
tax,
sale,
deed,
listing,
owner_profile,
valuation,
financing
kind
enum<string>
required

What changed, listed by domain. Ownership has owner_change, first_seen, deleted and removed. Vacancy has vacancy, vacancy_cleared and mailing_vacancy, and tax has tax_delinquent, tax_cured and tax_change. Listing has listed, relist, price_cut, price_rise, sold, delist and status. Financing has new_mortgage, lien_released, involuntary_lien and financing_change. The other domains have one kind each: mailing_change, occupancy_change, classification_change, structure_change, assessment, sale, deed, portfolio_change (owner_profile), avm (valuation).

Available options:
owner_change,
first_seen,
deleted,
removed,
mailing_change,
occupancy_change,
classification_change,
vacancy,
vacancy_cleared,
mailing_vacancy,
structure_change,
assessment,
sale,
deed,
tax_delinquent,
tax_cured,
tax_change,
listed,
relist,
price_cut,
price_rise,
sold,
delist,
status,
portfolio_change,
avm,
new_mortgage,
lien_released,
involuntary_lien,
financing_change
before
object | null
required

The domain's columns before the change, keyed by the file's own column names. Null on a first sighting. This host does not serve owner names, mailing address, agent names, licences and keys, the listing office, borrowers or lien parties. The payload omits those columns.

after
object | null
required

The domain's columns after the change. Null on a deletion. A deals-only key's payload omits the same columns.

deed
object | null
required

On an owner_change, the deed that the same week's file carried: the document type, the sale price and the recording date. Null otherwise.

span_weeks
integer | null
required

Weeks from the previous observation of the parcel to this one. The value is 1 on a normal week; null on the first sighting.

Required range: -9007199254740991 <= x <= 9007199254740991