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
The parcels of up to 100 keys in one call: one entry for each item, in the order of the body, with the parcel id and a status. An item is an APN with its county, or a street line with its ZIP. The county names the served state.
Use it for a list of keys. One parcel reads resolved, several read ambiguous with the candidates, none reads not_found. A county or a ZIP outside the served states reads not_served, a line with no house number invalid. Above 100 items the answer is 413.
A call costs 0 credits.
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
}
]
}
}
}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?