Skip to main content
GET
Parcel ID Lookup

Renumbered parcels

When a county renumbers a parcel, the parcel keeps its realieId, takes the new parcelId and realieParcelId, and lists each former number in parcelIdHistory (see the Property Data Schema (v3)). Store realieId as your key and look the parcel up with realieId: it never changes.

Lookup by a former number

Pass a former number the same way as a current one: an APN with state and county, or a former realieParcelId alone. If no parcel holds that number now, the response is the renumbered parcel, with a parcelIdChange object beside property. The call is billed like any other match.
200
The example omits the parcel’s other fields. In parcelIdChange, requestedParcelId is the value you passed; previousRealieParcelId, previousParcelId, changedOn, and reason come from the matching parcelIdHistory entry (the latest one, if several match); realieParcelId, parcelId, and realieId are the parcel’s current values. changedOn is null when we do not know the date of the change.
A number that some parcel holds now always returns that parcel, even if another parcel held it before. If a county gives a former number to a different parcel, a lookup by that number returns the parcel that holds it now. A stored realieId always returns the same parcel.

A number several parcels once held

If no parcel holds the number now and two or more parcels once held it (for example, after a county split a parcel), the response is 409 with the realieIds of those parcels, sorted, at most 10. Look each one up by realieId. A 409 is not billed.
409

With includeExplicitNulls

With includeExplicitNulls=true (accounts on the nested v3 shape, on v3 data reads), every other 200 response carries "parcelIdChange": null, parcelIdHistory is null on a parcel that was never renumbered, and an entry member with no value (such as an unknown changedOn) is null.

Availability and limits

  • Former-number lookups and realieId lookups read v3 data only. For an account served from v2 data, or a parcel in a state served from v2 data, lookup by realieId or by realieParcelId alone returns 400, and a lookup by APN with state and county does not check former numbers. Records served from legacy coverage carry no realieId or parcelIdHistory.
  • When we cannot match a renumbered parcel to its earlier record, it arrives as a new parcel with its own realieId, not linked to its former number.
  • Splits and merges are not linked yet, beyond the 409 above.

Authorizations

Authorization
string
header
required

Send your API key in the Authorization header. Preferred: the raw key (Authorization: YOUR_API_KEY). Also accepted: Bearer YOUR_API_KEY (Bearer scheme is case-insensitive), for HTTP clients that add the prefix automatically.

Query Parameters

state
string

The state (e.g. CA) where the property is located. Required unless "parcelId" is a realieParcelId or "realieId" is passed (ignored with "realieId").

county
string

The county where the property is located. Required unless "parcelId" is a realieParcelId or "realieId" is passed (ignored with "realieId").

parcelId
string

The parcel to look up: the exact assessor's parcel ID (APN), which requires "state" and "county", or a stored "realieParcelId" (the 5-digit county FIPS code, a hyphen, then the APN with spaces written as "", e.g. "11001-0314--0009"). When "state" or "county" is omitted, the value is interpreted only as a realieParcelId. Required unless "realieId" is passed; do not pass both. A former number of a renumbered parcel also works on v3 data reads; see "parcelIdChange" in the response.

realieId
string

The "realieId" field of a v3 result: 24 hexadecimal characters, e.g. "6650f1c2a1b2c3d4e5f60718". A parcel's realieId never changes, including when the county renumbers the parcel. Pass it instead of "parcelId"; "state" and "county" are not needed. Reads v3 data only.

Pattern: ^[0-9a-fA-F]{24}$
includeExplicitNulls
boolean
default:false

Set true to include missing public nested property fields as explicit nulls. Requires an account enabled for the nested v3 response shape and a v3 data read; otherwise returns 400. Without this flag, fields with unknown values may be omitted. Also returns 400 when the match comes from the v2 coverage fallback.

Response

Property found successfully

property
object

The property features found. Every field is listed in the Property Data Schema (v3); "realieId" and "parcelIdHistory" are shown here.

parcelIdChange
object | null

Present only when "parcelId" matched a former number of the returned parcel, and not a number any parcel holds now. With includeExplicitNulls=true, every other 200 response carries "parcelIdChange": null; otherwise the key is omitted.