Skip to main content
GET
Read the weekly change series of a ZIP
One ZIP’s change series: a row per week with the metrics you asked for, plus the totals over the window. It is the parcel history of GET /v1/properties/{property_id}/history, counted across every parcel in the ZIP instead of one.

Use it when

You need a market pulse: the turnover of this ZIP against last quarter, a rise in price cuts, a move in delinquency. The route answers in the week grain of the recorded events, so two weeks are always comparable.

The metrics

metrics picks the series. If you leave it out, the route returns every series. Each metric is a count of events of that kind in the week, over the parcels of the ZIP: avm_change_median_pct is the only metric that is not a count. It is the median move in percent among the parcels whose valuation changed that week. So a week where nothing moved has no median, not a zero. In totals, the route sums every count over the window and averages that one metric.

Read the week grid

  • weeks[] is oldest first, one entry per replayed weekly file. first_week and last_week are the edges of the returned window: weeks[0] and the last entry. The lake’s own edges are meta.coverage[].parcel.history.first_week and last_week. weeks_applied is the window that the route applied: what you asked for, or the plan’s cap on Free and Starter. The gotcha below has the cap. weeks[] holds at most that many entries, or fewer when the lake has fewer weeks for the ZIP.
  • file_kind is FULL or DELTA. Read parcels_observed against it. parcels_observed counts the rows of this ZIP in that week’s file. On a full delivery that is every parcel of the ZIP. On a delta it is only the changed parcels. It is a measure of what the delivery contained, never a denominator for a rate.
  • n_events is every event of the week. It also counts the kinds you did not ask for in metrics.
  • A week missing from the series is a week with no delivery. The replay interpolates nothing across it. The events seen afterwards carry the date of the first file that followed.

Gotchas

  • Send zip. It must be one of meta.coverage[].parcel.history.zips for the market. Any other ZIP answers 422 history_unavailable, which names the covered ZIPs. Counties, cities and ZIP codes lists them.
  • The financing and valuation metrics come from the dated snapshot. If you ask for them, the response carries a meta.dated[] entry. new_mortgages and lien_releases stop at meta.coverage[].parcel.financing.as_of for that reason. A flat tail after that date is the delivery, not the market. See dated data.
  • On Free and Starter, the series is 52 weeks at most. Here the route lowers a larger weeks to the cap, and weeks_applied says so. Over /mcp, a weeks above the cap on those plans answers 403 plan_limit, which names the cap instead of a clamp. See Plans and limits.
  • The route answers 404 not_found when the market code matches no loaded market. It answers 422 parcels_unavailable when the loaded market has no parcel tables.

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

market
string
required

Market code, for example phx.

Required string length: 1 - 16

Query Parameters

zip
string
required

The ZIP code. It must be one of meta.coverage[].parcel.history.zips.

Pattern: ^\d{5}$
weeks
integer
default:52

How many of the newest weeks to return (default 52, at most 160). Over 52 on Free and Starter, the API clamps the series to 52 over REST and data.weeks_applied says so. Over /mcp the API refuses that request by name (403 plan_limit).

Required range: 1 <= x <= 160
metrics
enum<string>[]

Which series to return (comma list or repeated key). Default: every metric.

Minimum array length: 1

A weekly series: event counts per kind, the median AVM move in percent among parcels whose AVM moved, or permits issued.

Available options:
owner_changes,
listings,
relists,
price_cuts,
price_rises,
solds,
delists,
vacancy_onsets,
vacancy_cleared,
delinquency_onsets,
delinquency_cured,
new_mortgages,
lien_releases,
involuntary_liens,
assessment_changes,
avm_changes,
structure_changes,
portfolio_changes,
avm_change_median_pct,
permits_issued

Response

The weekly change series.

The weekly change series.

data
object
required

GET /v1/markets/{market}/changes: the weekly change series of one ZIP.

meta
object
required

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