curl --request GET \
--url https://api.investorlift.com/v1/lenders/{id}/cells \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v1/lenders/{id}/cells', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v1/lenders/{id}/cells"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"cell": "8829b6124dfffff",
"n": 1,
"volume": 189900,
"n_purchase_money": 1,
"n_investor": 0,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
},
{
"cell": "8829b68831fffff",
"n": 1,
"volume": 281200,
"n_purchase_money": 1,
"n_investor": 0,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
},
{
"cell": "8829b68909fffff",
"n": 1,
"volume": 325500,
"n_purchase_money": 0,
"n_investor": 1,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
}
],
"page": {
"next_cursor": "eyJ2IjoxLCJydW4iOiIxNzg5NTMzMTgwIiwicSI6ImM1ZWI3YmM2OTY3YzA1NzNkMDY1MjZhM2M0NTBmMmFjNDk4ZTc4ZTViNTkzMDRkMmI4MjYxZDI5ODgzZjE1ZjgiLCJrIjpbIjg4MjliNjg5MDlmZmZmZiJdfQ",
"limit": 3,
"returned": 3
},
"meta": {
"generated_at": "2026-09-15T12:00: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-27",
"build_run_id": 3,
"registry_run": 11,
"registry_version": "v6-auction",
"dataset_version": 1789533180,
"loaded_at": "2026-09-16T04:32:59.760Z",
"metro_buy_to_resale_ratio": 0.719,
"universe_kind": "metro",
"universe_zips": null,
"point_tolerance_miles": 20,
"n_parcels": 1836311,
"listings_data_end": "2026-08-31",
"agents_data_end": "2026-08-31",
"wholesale_as_of": "2026-09-09",
"str_as_of": "2026-09-10",
"str": {
"jurisdictions": [
{
"name": "APACHE_JUNCTION",
"regime": "NOT_REQUIRED",
"coverage_reason": "NO_REQUIREMENT",
"served": false,
"snapshot_only": false,
"licence_start": null,
"snapshot_date": null,
"feed_stale": false,
"sources": [],
"n_licensed": 0,
"n_pending": 0,
"n_expired": 0,
"n_advertised": 0,
"share_unmatched": null,
"share_assumed": null
},
{
"name": "AVONDALE",
"regime": "REQUIRED",
"coverage_reason": "REQUIRED_NOT_PUBLISHED",
"served": false,
"snapshot_only": false,
"licence_start": null,
"snapshot_date": null,
"feed_stale": false,
"sources": [],
"n_licensed": 0,
"n_pending": 0,
"n_expired": 0,
"n_advertised": 0,
"share_unmatched": null,
"share_assumed": null
}
]
},
"auction_counted": true,
"parcel_as_of": "2026-08-27",
"address_as_of": null,
"parcel": {
"parcel_as_of": "2026-08-27",
"n_parcels": 1836311,
"sale_mortgage_measured": false,
"financing": {
"as_of": "2026-06-25",
"dated": true,
"dated_reason": "dataset not in current delivery",
"n_parcels": 1611957,
"n_with_open_lien": 1032808,
"n_free_and_clear": 579149,
"n_avm": 1528967,
"n_involuntary": 192400,
"n_lenders": 76212
},
"permits": {
"as_of": "2026-09-01",
"n_permits": 2377496,
"n_parcels": 663045,
"n_unmatched": 355,
"jurisdictions": [
{
"jurisdiction": "PHOENIX",
"n_permits": 795764,
"last_issue_date": "2026-05-11",
"windows_measured": null
},
{
"jurisdiction": "MESA",
"n_permits": 330809,
"last_issue_date": "2026-05-29",
"windows_measured": null
},
{
"jurisdiction": "MARICOPA COUNTY",
"n_permits": 217628,
"last_issue_date": "2027-10-17",
"windows_measured": null
},
{
"jurisdiction": "SCOTTSDALE",
"n_permits": 182189,
"last_issue_date": "2024-11-05",
"windows_measured": null
},
{
"jurisdiction": "GOODYEAR",
"n_permits": 173391,
"last_issue_date": "2025-04-02",
"windows_measured": null
},
{
"jurisdiction": "GILBERT",
"n_permits": 160199,
"last_issue_date": "2025-04-07",
"windows_measured": null
},
{
"jurisdiction": "TEMPE",
"n_permits": 102909,
"last_issue_date": "2025-12-29",
"windows_measured": null
},
{
"jurisdiction": "BUCKEYE",
"n_permits": 94951,
"last_issue_date": "2026-03-18",
"windows_measured": null
},
{
"jurisdiction": "CHANDLER",
"n_permits": 94942,
"last_issue_date": "2026-05-29",
"windows_measured": null
},
{
"jurisdiction": "PEORIA",
"n_permits": 75435,
"last_issue_date": "2026-05-07",
"windows_measured": null
},
{
"jurisdiction": "QUEEN CREEK",
"n_permits": 59103,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": null,
"n_permits": 43845,
"last_issue_date": "2026-06-05",
"windows_measured": null
},
{
"jurisdiction": "PARADISE VALLEY",
"n_permits": 23135,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": "AVONDALE",
"n_permits": 7961,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": "MARICOPA",
"n_permits": 5732,
"last_issue_date": "2026-12-12",
"windows_measured": null
},
{
"jurisdiction": "YOUNGTOWN",
"n_permits": 3979,
"last_issue_date": "2026-06-05",
"windows_measured": null
},
{
"jurisdiction": "EL MIRAGE",
"n_permits": 1971,
"last_issue_date": "2026-04-13",
"windows_measured": null
},
{
"jurisdiction": "YUMA",
"n_permits": 1909,
"last_issue_date": "2009-01-15",
"windows_measured": null
},
{
"jurisdiction": "FOUNTAIN HILLS",
"n_permits": 767,
"last_issue_date": "2026-05-21",
"windows_measured": null
},
{
"jurisdiction": "ELMIRAGE",
"n_permits": 521,
"last_issue_date": "2025-08-08",
"windows_measured": null
},
{
"jurisdiction": "SUN CITY",
"n_permits": 133,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "COCONINO COUNTY",
"n_permits": 63,
"last_issue_date": "2024-02-16",
"windows_measured": null
},
{
"jurisdiction": "PINAL COUNTY",
"n_permits": 54,
"last_issue_date": "2022-07-21",
"windows_measured": null
},
{
"jurisdiction": "APACHE JUNCTION",
"n_permits": 47,
"last_issue_date": "2025-05-13",
"windows_measured": null
},
{
"jurisdiction": "PIMA COUNTY",
"n_permits": 21,
"last_issue_date": "2016-10-24",
"windows_measured": null
},
{
"jurisdiction": "WITTMANN",
"n_permits": 8,
"last_issue_date": "2026-02-03",
"windows_measured": null
},
{
"jurisdiction": "JACKSON COUNTY",
"n_permits": 7,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "LEWISVILLE",
"n_permits": 5,
"last_issue_date": "2024-02-07",
"windows_measured": null
},
{
"jurisdiction": "MONTGOMERY",
"n_permits": 4,
"last_issue_date": "2023-06-05",
"windows_measured": null
},
{
"jurisdiction": "RIVERSIDE COUNTY",
"n_permits": 3,
"last_issue_date": "2026-06-20",
"windows_measured": null
},
{
"jurisdiction": "LITCHFIELD PARK",
"n_permits": 3,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "APACHE JUNCTION - SEWER UTILITY",
"n_permits": 2,
"last_issue_date": "2026-05-07",
"windows_measured": null
},
{
"jurisdiction": "FORT WORTH",
"n_permits": 2,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "YAVAPAI COUNTY",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "LOCUST GROVE",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "ORO VALLEY",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "TANGIPAHOA",
"n_permits": 1,
"last_issue_date": "2019-05-28",
"windows_measured": null
}
]
},
"owner_profile": {
"as_of": "2026-09-09",
"n_parcels": 1611077,
"n_multi": 646963,
"n_portfolio_5": 277841
},
"history": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"zips": [
"85251"
],
"n_parcels": 18774,
"n_events": 236022,
"n_weeks": 62,
"domains": {
"tax": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 18597
},
"deed": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 17615
},
"sale": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 1700
},
"listing": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 21122
},
"mailing": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2128
},
"vacancy": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2583
},
"financing": {
"first_week": "2025-12-02",
"last_week": "2026-06-25",
"n_events": 6420
},
"occupancy": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 1297
},
"ownership": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 3238
},
"structure": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2548
},
"valuation": {
"first_week": "2025-07-24",
"last_week": "2026-06-25",
"n_events": 83657
},
"assessment": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 16450
},
"owner_profile": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 58404
},
"classification": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 263
}
}
}
},
"lenders": {
"as_of": "2026-06-25",
"recordings_through": "2026-06-11",
"counties": [
"04013"
],
"history_capture_share": 0.183706,
"n_lender_ids": 32046,
"purchase_measured": true,
"investor_lending_measured": true,
"flips_measured": true,
"borrowers_measured": true,
"takebacks_measured": true,
"counties_measured": false,
"dated": true,
"n_parcels_uncovered": 224192
}
}
],
"dated": [
{
"block": "financing",
"as_of": "2026-06-25",
"reason": "dataset not in current delivery"
},
{
"block": "lenders",
"as_of": "2026-06-25",
"reason": "dataset not in current delivery"
}
],
"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"
}
}One lender's loans per hex cell
Where one lender’s loans sit, as counts per H3 hexagon over the window, for a lender’s map.
curl --request GET \
--url https://api.investorlift.com/v1/lenders/{id}/cells \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v1/lenders/{id}/cells', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v1/lenders/{id}/cells"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"cell": "8829b6124dfffff",
"n": 1,
"volume": 189900,
"n_purchase_money": 1,
"n_investor": 0,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
},
{
"cell": "8829b68831fffff",
"n": 1,
"volume": 281200,
"n_purchase_money": 1,
"n_investor": 0,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
},
{
"cell": "8829b68909fffff",
"n": 1,
"volume": 325500,
"n_purchase_money": 0,
"n_investor": 1,
"n_foreclosed": 0,
"as_of": "2026-06-25",
"dated": true
}
],
"page": {
"next_cursor": "eyJ2IjoxLCJydW4iOiIxNzg5NTMzMTgwIiwicSI6ImM1ZWI3YmM2OTY3YzA1NzNkMDY1MjZhM2M0NTBmMmFjNDk4ZTc4ZTViNTkzMDRkMmI4MjYxZDI5ODgzZjE1ZjgiLCJrIjpbIjg4MjliNjg5MDlmZmZmZiJdfQ",
"limit": 3,
"returned": 3
},
"meta": {
"generated_at": "2026-09-15T12:00: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-27",
"build_run_id": 3,
"registry_run": 11,
"registry_version": "v6-auction",
"dataset_version": 1789533180,
"loaded_at": "2026-09-16T04:32:59.760Z",
"metro_buy_to_resale_ratio": 0.719,
"universe_kind": "metro",
"universe_zips": null,
"point_tolerance_miles": 20,
"n_parcels": 1836311,
"listings_data_end": "2026-08-31",
"agents_data_end": "2026-08-31",
"wholesale_as_of": "2026-09-09",
"str_as_of": "2026-09-10",
"str": {
"jurisdictions": [
{
"name": "APACHE_JUNCTION",
"regime": "NOT_REQUIRED",
"coverage_reason": "NO_REQUIREMENT",
"served": false,
"snapshot_only": false,
"licence_start": null,
"snapshot_date": null,
"feed_stale": false,
"sources": [],
"n_licensed": 0,
"n_pending": 0,
"n_expired": 0,
"n_advertised": 0,
"share_unmatched": null,
"share_assumed": null
},
{
"name": "AVONDALE",
"regime": "REQUIRED",
"coverage_reason": "REQUIRED_NOT_PUBLISHED",
"served": false,
"snapshot_only": false,
"licence_start": null,
"snapshot_date": null,
"feed_stale": false,
"sources": [],
"n_licensed": 0,
"n_pending": 0,
"n_expired": 0,
"n_advertised": 0,
"share_unmatched": null,
"share_assumed": null
}
]
},
"auction_counted": true,
"parcel_as_of": "2026-08-27",
"address_as_of": null,
"parcel": {
"parcel_as_of": "2026-08-27",
"n_parcels": 1836311,
"sale_mortgage_measured": false,
"financing": {
"as_of": "2026-06-25",
"dated": true,
"dated_reason": "dataset not in current delivery",
"n_parcels": 1611957,
"n_with_open_lien": 1032808,
"n_free_and_clear": 579149,
"n_avm": 1528967,
"n_involuntary": 192400,
"n_lenders": 76212
},
"permits": {
"as_of": "2026-09-01",
"n_permits": 2377496,
"n_parcels": 663045,
"n_unmatched": 355,
"jurisdictions": [
{
"jurisdiction": "PHOENIX",
"n_permits": 795764,
"last_issue_date": "2026-05-11",
"windows_measured": null
},
{
"jurisdiction": "MESA",
"n_permits": 330809,
"last_issue_date": "2026-05-29",
"windows_measured": null
},
{
"jurisdiction": "MARICOPA COUNTY",
"n_permits": 217628,
"last_issue_date": "2027-10-17",
"windows_measured": null
},
{
"jurisdiction": "SCOTTSDALE",
"n_permits": 182189,
"last_issue_date": "2024-11-05",
"windows_measured": null
},
{
"jurisdiction": "GOODYEAR",
"n_permits": 173391,
"last_issue_date": "2025-04-02",
"windows_measured": null
},
{
"jurisdiction": "GILBERT",
"n_permits": 160199,
"last_issue_date": "2025-04-07",
"windows_measured": null
},
{
"jurisdiction": "TEMPE",
"n_permits": 102909,
"last_issue_date": "2025-12-29",
"windows_measured": null
},
{
"jurisdiction": "BUCKEYE",
"n_permits": 94951,
"last_issue_date": "2026-03-18",
"windows_measured": null
},
{
"jurisdiction": "CHANDLER",
"n_permits": 94942,
"last_issue_date": "2026-05-29",
"windows_measured": null
},
{
"jurisdiction": "PEORIA",
"n_permits": 75435,
"last_issue_date": "2026-05-07",
"windows_measured": null
},
{
"jurisdiction": "QUEEN CREEK",
"n_permits": 59103,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": null,
"n_permits": 43845,
"last_issue_date": "2026-06-05",
"windows_measured": null
},
{
"jurisdiction": "PARADISE VALLEY",
"n_permits": 23135,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": "AVONDALE",
"n_permits": 7961,
"last_issue_date": "2026-04-24",
"windows_measured": null
},
{
"jurisdiction": "MARICOPA",
"n_permits": 5732,
"last_issue_date": "2026-12-12",
"windows_measured": null
},
{
"jurisdiction": "YOUNGTOWN",
"n_permits": 3979,
"last_issue_date": "2026-06-05",
"windows_measured": null
},
{
"jurisdiction": "EL MIRAGE",
"n_permits": 1971,
"last_issue_date": "2026-04-13",
"windows_measured": null
},
{
"jurisdiction": "YUMA",
"n_permits": 1909,
"last_issue_date": "2009-01-15",
"windows_measured": null
},
{
"jurisdiction": "FOUNTAIN HILLS",
"n_permits": 767,
"last_issue_date": "2026-05-21",
"windows_measured": null
},
{
"jurisdiction": "ELMIRAGE",
"n_permits": 521,
"last_issue_date": "2025-08-08",
"windows_measured": null
},
{
"jurisdiction": "SUN CITY",
"n_permits": 133,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "COCONINO COUNTY",
"n_permits": 63,
"last_issue_date": "2024-02-16",
"windows_measured": null
},
{
"jurisdiction": "PINAL COUNTY",
"n_permits": 54,
"last_issue_date": "2022-07-21",
"windows_measured": null
},
{
"jurisdiction": "APACHE JUNCTION",
"n_permits": 47,
"last_issue_date": "2025-05-13",
"windows_measured": null
},
{
"jurisdiction": "PIMA COUNTY",
"n_permits": 21,
"last_issue_date": "2016-10-24",
"windows_measured": null
},
{
"jurisdiction": "WITTMANN",
"n_permits": 8,
"last_issue_date": "2026-02-03",
"windows_measured": null
},
{
"jurisdiction": "JACKSON COUNTY",
"n_permits": 7,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "LEWISVILLE",
"n_permits": 5,
"last_issue_date": "2024-02-07",
"windows_measured": null
},
{
"jurisdiction": "MONTGOMERY",
"n_permits": 4,
"last_issue_date": "2023-06-05",
"windows_measured": null
},
{
"jurisdiction": "RIVERSIDE COUNTY",
"n_permits": 3,
"last_issue_date": "2026-06-20",
"windows_measured": null
},
{
"jurisdiction": "LITCHFIELD PARK",
"n_permits": 3,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "APACHE JUNCTION - SEWER UTILITY",
"n_permits": 2,
"last_issue_date": "2026-05-07",
"windows_measured": null
},
{
"jurisdiction": "FORT WORTH",
"n_permits": 2,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "YAVAPAI COUNTY",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "LOCUST GROVE",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "ORO VALLEY",
"n_permits": 1,
"last_issue_date": null,
"windows_measured": null
},
{
"jurisdiction": "TANGIPAHOA",
"n_permits": 1,
"last_issue_date": "2019-05-28",
"windows_measured": null
}
]
},
"owner_profile": {
"as_of": "2026-09-09",
"n_parcels": 1611077,
"n_multi": 646963,
"n_portfolio_5": 277841
},
"history": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"zips": [
"85251"
],
"n_parcels": 18774,
"n_events": 236022,
"n_weeks": 62,
"domains": {
"tax": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 18597
},
"deed": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 17615
},
"sale": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 1700
},
"listing": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 21122
},
"mailing": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2128
},
"vacancy": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2583
},
"financing": {
"first_week": "2025-12-02",
"last_week": "2026-06-25",
"n_events": 6420
},
"occupancy": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 1297
},
"ownership": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 3238
},
"structure": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 2548
},
"valuation": {
"first_week": "2025-07-24",
"last_week": "2026-06-25",
"n_events": 83657
},
"assessment": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 16450
},
"owner_profile": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 58404
},
"classification": {
"first_week": "2025-07-24",
"last_week": "2026-09-09",
"n_events": 263
}
}
}
},
"lenders": {
"as_of": "2026-06-25",
"recordings_through": "2026-06-11",
"counties": [
"04013"
],
"history_capture_share": 0.183706,
"n_lender_ids": 32046,
"purchase_measured": true,
"investor_lending_measured": true,
"flips_measured": true,
"borrowers_measured": true,
"takebacks_measured": true,
"counties_measured": false,
"dated": true,
"n_parcels_uncovered": 224192
}
}
],
"dated": [
{
"block": "financing",
"as_of": "2026-06-25",
"reason": "dataset not in current delivery"
},
{
"block": "lenders",
"as_of": "2026-06-25",
"reason": "dataset not in current delivery"
}
],
"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"
}
}Use it when
The lender card’s map at any zoom above the neighbourhood, the wayGET /v1/deals/cells
draws the deals. A lender with tens of thousands of loans has far too many to draw one by one.
| Resolution | Good for | Cell size |
|---|---|---|
res=8 | A city or county view | About a third of a square mile |
res=7 | The whole metro | About two square miles |
GET /v1/lenders/{id}/loans
and cell= (one cell’s rows) or a geometry. Then draw them from their parcels.
Read the response
- One row per cell the lender lent in. A cell with no loan of the lender in the period is absent, never zero.
cellis the H3 index as hex, the same stringGET /v1/deals/cellsuses. Any H3 library turns it into an outline. The cell is the parcel’s, so a loan sits in exactly one cell at each resolution. periodis24m(the default),12morall. The API does not serve a year or a month at the cell grain. If you ask for one, the API answers400 validation_error, codeperiod_not_served.productnarrowsnalone. Withproduct=HELOC,CONSTRUCTIONorOTHER(or several),nbecomes the sum of the named products’ counts in the cell.volume,n_purchase_money,n_investorandn_foreclosedstay the whole cell’s, because the cell carries no per-product sum for them. The field descriptions say so.n_foreclosedcounts the cell’s instruments of the lender that a take-back deed followed. A take-back deed is a trustee’s deed, a sheriff’s deed or a deed in lieu on the parcel. The API counts it only when it comes after the recording and before any resale or later mortgage. The reading is the same asforeclosedon the loan row. It is 0 on a registry that measured none. Where no cell rankings exist at all, the row is absent.- Pagination is keyset on
cell. The page size lets a metro-wide lender come back in one or two pages. The API caches the answer per query for the dataset version. If the lender is in more than one loaded market, you must sendmarket=.400 market_requiredsays so.
Gotchas
- Cells carry no ids and no addresses. For those, list the loans with
cell=<index>. - A cell is the parcel’s hexagon, not a clip of a radius. An edge cell counts every loan of the lender in it. The list and the loans route resolve a geometry to the same cells, so their edge is a hex boundary too.
n_purchase_moneyandn_investorread the deed link. Where the market has no deed link, they are null (purchase_measuredfalse on the profile).- Every row is dated (
meta.dated[]). Theas_ofis the slice date inmeta.coverage[].lenders.as_of. Withrequire_current=true, the API answers422 dated_refused. - A registry built before the place rankings answers
422 lenders_unavailableand names the route. A market with no published registry answers the same. The API answers400 invalid_idfor an id without thelen_prefix, and 404 for an unknown id. It answers400 invalid_cursorfor a cursor from another query or an older dataset. - The route follows old ids as the profile route does (since 0.17.0). For a merged id, the API answers 200 with
meta.resolved_fromand the current lender’s cells. For a retired id, it answers410 gone. For an id it never issued, it answers 404. See Retired ids. - Not priced: the route costs no credits. Not a tool over MCP, as
GET /v1/deals/cellsis not.
Related
Rank one lender by place withgroup_by=cell adds each cell’s rank and
share among every lender there. Draw the map is the deals’ version of this page.Authorizations
API key from the developer console (starts with zpka_). Create one at https://developers.investorlift.com/get-a-key.
Path Parameters
Lender id, len_ followed by 12 hex characters, for example len_d2028f0766fc. Take it from a search hit, a ranking row's lender.id or a parcel's financing block. The id is the same in every market and stable across data refreshes. The API follows an id from an earlier registry run to the current lender, and meta.resolved_from lists it. For a retired id with no successor, the API answers 410 gone.
Query Parameters
Market code, for example phx. The loaded markets are in meta.coverage[]. Send it only when the id exists in more than one loaded market. 400 market_required says so, and a lender has the same id in every market it lent in. Otherwise the API uses the id's own market.
1 - 16H3 cell resolution: 8 or 7. Resolution 8 (the default) has cells of about 0.3 square miles, a city or county view. Resolution 7 has cells of about 2 square miles, the whole metro.
7, 8 The window the cells cover: 24m (the default), 12m or all. A cell layer carries the three windows alone. For a calendar year or month, the API answers 400 validation_error, code period_not_served.
^(12m|24m|all|\d{4}|\d{4}-(0[1-9]|1[0-2]))$Count only instruments of these products (comma list or repeated key): CONSTRUCTION, HELOC, OTHER. The cell's n is the sum of the named counts, and the API leaves out a cell with none of them. The fields volume, n_purchase_money, n_investor and n_foreclosed stay the cell's whole counts.
1What the file says the loan is, read from its flags and loan type and never from the label. CONSTRUCTION: the construction flag or a "Building or Construction Loan" type. HELOC: the credit-line flag or a "Credit Line (Revolving)" type. OTHER: everything else, that is a purchase-money or refinance mortgage of any kind.
CONSTRUCTION, HELOC, OTHER Page size, 1-5000 (default 5000).
1 <= x <= 5000Opaque cursor from page.next_cursor of the previous page. A change of query, sort, weights or data version invalidates it (400 invalid_cursor). Then restart from page 1.
1 - 4096true refuses the request with 422 dated_refused while the registry's source, the financing slice, is a dated snapshot. The default false serves it, and meta.dated[] carries the lenders and financing blocks.
true, false Response
The lender's H3 cells over the window, in cell-id order, one page.
The lender's H3 cells over the window, in cell-id order, one page.
The rows of this page.
Show child attributes
Show child attributes
Pagination: the page size, the rows returned and the cursor for the next page. Paged lists carry no total. The summary block does.
Show child attributes
Show child attributes
Response metadata: when the API produced it, which markets it covers, and how fresh they are.
Show child attributes
Show child attributes
Was this page helpful?