curl --request GET \
--url https://api.investorlift.com/v1/properties/resolve \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v1/properties/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v1/properties/resolve"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"property_id": "prop_e93c776c53354a88de4e58448a6bf21b",
"property": {
"id": "prop_e93c776c53354a88de4e58448a6bf21b",
"market": "phx",
"apn": "131-28-253",
"apn_norm": "13128253",
"county_fips": "04013",
"address_short": "7436 E Virginia Ave",
"street_no_unit": "7436 E Virginia Ave",
"unit": null,
"city": "SCOTTSDALE",
"state": "AZ",
"zip": "85257",
"latitude": 33.476917,
"longitude": -111.920385,
"segment": "SFR",
"bedrooms": 3,
"bathrooms": 2,
"sqft": 1409,
"year_built": 1959,
"pool": true,
"pool_type": "Pool - Yes"
},
"candidates": []
},
"meta": {
"generated_at": "2026-09-03T21:40:00.000Z",
"coverage": [
{
"market": "phx",
"state": "AZ",
"counties": [
{
"fips": "04013",
"name": "Maricopa",
"data_end": "2026-08-12"
},
{
"fips": "04021",
"name": "Pinal",
"data_end": "2026-08-06"
}
],
"bbox": [
-113.332773,
32.46915,
-110.455491,
33.999503
],
"data_end": "2026-08-12",
"build_run_id": 1,
"registry_run": 7,
"registry_version": "v4-metro-review-fixes",
"dataset_version": 1788469819,
"loaded_at": "2026-09-03T21:10:18.682Z",
"metro_buy_to_resale_ratio": 0.7192,
"universe_kind": "metro",
"universe_zips": null,
"point_tolerance_miles": 20,
"n_parcels": null,
"listings_data_end": "2026-08-31",
"agents_data_end": "2026-08-31",
"wholesale_as_of": "2026-09-09",
"str_as_of": null,
"str": null,
"auction_counted": true,
"parcel_as_of": null,
"address_as_of": null,
"parcel": null,
"lenders": null
}
],
"terms": "Data: Investorlift Data Services. Public-record and MLS listing data licensed through BatchData; municipal short-term rental registries; Investorlift marketplace records. Attribution and data-use terms: https://developers.investorlift.com/guides/terms"
}
}Find the parcel at a point, behind an APN or behind a street address
The parcel at a point, behind an APN or a street address. It gives the property_id every other endpoint takes and the parcel block: address, coordinates, beds, baths, square feet, year built and pool.
Call it first in a search. Pass one of lat with lng, apn with county when you have it, or address with zip or city (unit picks one unit). This route never returns owner information: for the owner call /v1/properties/{property_id}.
The 404 against outside_coverage, ambiguous APNs and addresses.
curl --request GET \
--url https://api.investorlift.com/v1/properties/resolve \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v1/properties/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v1/properties/resolve"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"property_id": "prop_e93c776c53354a88de4e58448a6bf21b",
"property": {
"id": "prop_e93c776c53354a88de4e58448a6bf21b",
"market": "phx",
"apn": "131-28-253",
"apn_norm": "13128253",
"county_fips": "04013",
"address_short": "7436 E Virginia Ave",
"street_no_unit": "7436 E Virginia Ave",
"unit": null,
"city": "SCOTTSDALE",
"state": "AZ",
"zip": "85257",
"latitude": 33.476917,
"longitude": -111.920385,
"segment": "SFR",
"bedrooms": 3,
"bathrooms": 2,
"sqft": 1409,
"year_built": 1959,
"pool": true,
"pool_type": "Pool - Yes"
},
"candidates": []
},
"meta": {
"generated_at": "2026-09-03T21:40:00.000Z",
"coverage": [
{
"market": "phx",
"state": "AZ",
"counties": [
{
"fips": "04013",
"name": "Maricopa",
"data_end": "2026-08-12"
},
{
"fips": "04021",
"name": "Pinal",
"data_end": "2026-08-06"
}
],
"bbox": [
-113.332773,
32.46915,
-110.455491,
33.999503
],
"data_end": "2026-08-12",
"build_run_id": 1,
"registry_run": 7,
"registry_version": "v4-metro-review-fixes",
"dataset_version": 1788469819,
"loaded_at": "2026-09-03T21:10:18.682Z",
"metro_buy_to_resale_ratio": 0.7192,
"universe_kind": "metro",
"universe_zips": null,
"point_tolerance_miles": 20,
"n_parcels": null,
"listings_data_end": "2026-08-31",
"agents_data_end": "2026-08-31",
"wholesale_as_of": "2026-09-09",
"str_as_of": null,
"str": null,
"auction_counted": true,
"parcel_as_of": null,
"address_as_of": null,
"parcel": null,
"lenders": null
}
],
"terms": "Data: Investorlift Data Services. Public-record and MLS listing data licensed through BatchData; municipal short-term rental registries; Investorlift marketplace records. Attribution and data-use terms: https://developers.investorlift.com/guides/terms"
}
}Authorizations
API key from the developer console (starts with zpka_). Create one at https://developers.investorlift.com/get-a-key.
Query Parameters
Point latitude (with lng): the API returns the nearest parcel within 100 m. Not allowed with apn.
-90 <= x <= 90Point longitude (with lat).
-180 <= x <= 180Assessor parcel number, with or without dashes: "131-28-253" and "13128253" match the same parcel. The API ignores punctuation and case. Not allowed with lat / lng.
1 - 32Street line of a situs address as the county records it, for example "7522 E Cholla St" or "7522 E Cholla St Unit 2". The line carries the house number and the street, with the unit inside it or in unit. Needs zip or city. Not allowed with lat / lng or apn. A line without a house number, or one that names two ("628 & 630 W Main St"), is 400 validation_error. A line that names several parcels, the units of one building, is 422 ambiguous_address until unit picks one.
1 - 1205-digit ZIP of the address, for example "85257". The API reads the first five digits of a ZIP+4. Only with address. The address needs zip or city, and zip is the narrower key.
^\d{5}(-\d{4})?$City of the address, for example "Scottsdale" (case does not matter). The API reads it when zip is absent. Only with address.
1 - 64Unit designator of the address, for example "2", "# 2", "Unit 2" or "B". The API drops the designator word. It picks one unit of a building that resolves to several parcels. Only with address. A unit inside the address line does the same.
1 - 16Narrows an APN lookup to one county: a 5-digit FIPS ("04013", "48201") or the county name ("Maricopa", "Harris"). Case does not matter. Only with apn. Without it the API searches every loaded county, and an APN that exists in two counties is 422 ambiguous_apn.
1 - 64Response
The resolved parcel: property_id, the parcel block and any same-parcel spelling twins.
The resolved parcel: property_id, the parcel block and any same-parcel spelling twins.
Was this page helpful?