curl --request POST \
--url https://api.investorlift.com/v3/properties/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"apn": "<string>",
"county_fips": "<string>",
"address": "<string>",
"zip": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{apn: '<string>', county_fips: '<string>', address: '<string>', zip: '<string>'}
]
})
};
fetch('https://api.investorlift.com/v3/properties/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v3/properties/resolve"
payload = { "items": [
{
"apn": "<string>",
"county_fips": "<string>",
"address": "<string>",
"zip": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": [
{
"status": "resolved",
"property_id": "af3af85f9f21671a0c7b7728a6faade3",
"candidates": null,
"truncated": null,
"reason": null
},
{
"status": "resolved",
"property_id": "af3af85f9f21671a0c7b7728a6faade3",
"candidates": null,
"truncated": null,
"reason": null
},
{
"status": "not_served",
"property_id": null,
"candidates": null,
"truncated": null,
"reason": "County 32003 is in no served state."
}
],
"summary": {
"n": 3,
"n_resolved": 2,
"n_ambiguous": 0,
"n_not_found": 0,
"n_not_served": 1,
"n_invalid": 0
},
"meta": {
"generated_at": "2026-10-21T05:21:56.946Z",
"coverage": [],
"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",
"build": {
"states": [
{
"state": "AZ",
"build_id": null,
"built_at": "2026-10-19T22:34:59.714Z",
"published_at": "2026-10-20T00:16:56.637Z",
"run_id": 1792449362,
"financing_as_of": "2026-06-25",
"recordings_through": "2026-06-11",
"financing_source": "replay_887",
"str_as_of": "2026-10-18"
},
{
"state": "CA",
"build_id": null,
"built_at": "2026-09-24T01:58:30.453Z",
"published_at": "2026-09-24T03:15:56.838Z",
"run_id": 1790215190,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
},
{
"state": "FL",
"build_id": "0e5fa9bc",
"built_at": "2026-09-24T15:08:23.506Z",
"published_at": "2026-09-24T18:59:42.805Z",
"run_id": 1790262682,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
},
{
"state": "TX",
"build_id": "775ed08d",
"built_at": "2026-09-24T11:08:10.587Z",
"published_at": "2026-09-24T13:16:03.157Z",
"run_id": 1790248213,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
}
]
}
}
}Resolve up to 100 APNs or street lines to parcels of the dataset
One entry for each item of the body, in its order, with the parcel id and a status.
curl --request POST \
--url https://api.investorlift.com/v3/properties/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"apn": "<string>",
"county_fips": "<string>",
"address": "<string>",
"zip": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{apn: '<string>', county_fips: '<string>', address: '<string>', zip: '<string>'}
]
})
};
fetch('https://api.investorlift.com/v3/properties/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v3/properties/resolve"
payload = { "items": [
{
"apn": "<string>",
"county_fips": "<string>",
"address": "<string>",
"zip": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": [
{
"status": "resolved",
"property_id": "af3af85f9f21671a0c7b7728a6faade3",
"candidates": null,
"truncated": null,
"reason": null
},
{
"status": "resolved",
"property_id": "af3af85f9f21671a0c7b7728a6faade3",
"candidates": null,
"truncated": null,
"reason": null
},
{
"status": "not_served",
"property_id": null,
"candidates": null,
"truncated": null,
"reason": "County 32003 is in no served state."
}
],
"summary": {
"n": 3,
"n_resolved": 2,
"n_ambiguous": 0,
"n_not_found": 0,
"n_not_served": 1,
"n_invalid": 0
},
"meta": {
"generated_at": "2026-10-21T05:21:56.946Z",
"coverage": [],
"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",
"build": {
"states": [
{
"state": "AZ",
"build_id": null,
"built_at": "2026-10-19T22:34:59.714Z",
"published_at": "2026-10-20T00:16:56.637Z",
"run_id": 1792449362,
"financing_as_of": "2026-06-25",
"recordings_through": "2026-06-11",
"financing_source": "replay_887",
"str_as_of": "2026-10-18"
},
{
"state": "CA",
"build_id": null,
"built_at": "2026-09-24T01:58:30.453Z",
"published_at": "2026-09-24T03:15:56.838Z",
"run_id": 1790215190,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
},
{
"state": "FL",
"build_id": "0e5fa9bc",
"built_at": "2026-09-24T15:08:23.506Z",
"published_at": "2026-09-24T18:59:42.805Z",
"run_id": 1790262682,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
},
{
"state": "TX",
"build_id": "775ed08d",
"built_at": "2026-09-24T11:08:10.587Z",
"published_at": "2026-09-24T13:16:03.157Z",
"run_id": 1790248213,
"financing_as_of": null,
"recordings_through": null,
"financing_source": null,
"str_as_of": null
}
]
}
}
}/v3/properties/resolve. See The dataset for the tier rules. An item is an assessor parcel number with its county, or a street line with its ZIP. The county names the served state, so an APN two counties share resolves in its own. An entry serves the parcel id and a status, and no line, APN or point. Above 100 items the answer is 413 batch_too_large with n and cap.Authorizations
API key from the developer console (starts with zpka_). Create one at https://developers.investorlift.com/get-a-key. The same key works on POST /mcp.
Body
The batch form of the resolve: up to 100 items, each an APN with its county or a street line with its ZIP, answered in order.
The items to resolve, 1 to 100, in the order the answer keeps. Above the cap the answer is 413 batch_too_large with n and cap.
1Show child attributes
Show child attributes
Response
The parcels of the items of the request, one entry each, in the order of the body.
The parcels of the items of the request, one entry each, in the order of the body.
One entry for each item, in the order of the body.
Show child attributes
Show child attributes
The counts of the entries by status.
Show child attributes
Show child attributes
Response metadata of the /v3 family: when the API produced it, and the publishes behind the rows.
Show child attributes
Show child attributes
Was this page helpful?