curl --request GET \
--url https://api.investorlift.com/v3/lenders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v3/lenders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v3/lenders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"rank": 1,
"lender": {
"org_id": "AZ:02332544",
"org_name": "DESERT FINANCIAL CREDIT UNION",
"from_registry": true,
"tags": [
"credit_union",
"institution"
]
},
"recorded_name": "DESERT FINANCIAL CU",
"n": 179,
"n_recordings": 179,
"volume": 17674065,
"n_first_lien": 155,
"n_heloc": 171,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.096443966,
"n_investor_loans": 9,
"n_investor_recordings": 9,
"n_investor_orgs": 11,
"n_deals_financed": 0,
"investor_share": 0.05027933,
"last_recorded_on": "2026-06-01",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
},
{
"rank": 2,
"lender": {
"org_id": "AZ:name:SECRETARY OF HOUSING URBAN DEVELOPMENT",
"org_name": "SECRETARY OF HOUSING AND URBAN DEVELOPMENT",
"from_registry": false,
"tags": [
"government",
"institution"
]
},
"recorded_name": "SECRETARY/HOUSING & URBAN DEV",
"n": 160,
"n_recordings": 160,
"volume": 4214042,
"n_first_lien": 124,
"n_heloc": 0,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.086206897,
"n_investor_loans": 0,
"n_investor_recordings": 0,
"n_investor_orgs": 0,
"n_deals_financed": 0,
"investor_share": 0,
"last_recorded_on": "2026-06-09",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
},
{
"rank": 3,
"lender": {
"org_id": "AZ:R17517033",
"org_name": "UNITED WHOLESALE MORTGAGE LLC",
"from_registry": true,
"tags": [
"institution"
]
},
"recorded_name": "UNITED WHOLESALE MORTGAGE",
"n": 155,
"n_recordings": 155,
"volume": 44749653,
"n_first_lien": 148,
"n_heloc": 4,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.083512931,
"n_investor_loans": 2,
"n_investor_recordings": 2,
"n_investor_orgs": 2,
"n_deals_financed": 0,
"investor_share": 0.012903226,
"last_recorded_on": "2026-06-04",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
}
],
"page": {
"next_cursor": "eyJ2IjoxLCJydW4iOiJ8bGVhbi1BWjE3OTIzNTgwNjktQ0ExNzkwMjE1MTkwLUZMMTc5MDI2MjY4Mi1UWDE3OTAyNDgyMTMiLCJxIjoiZmUzZmU5ZjAzOGJlMjYzYzkxZjRmZjMwMTRiYThjNTJlZmU5YWViNWQ4NzA1MWI2NTMyOGQxNTA3NjAyNTU0OSIsImsiOlsxNTUsNDQ3NDk2NTMsIkFaOlIxNzUxNzAzMyJdfQ",
"limit": 3,
"returned": 3
},
"meta": {
"generated_at": "2026-10-18T21:38:34.282Z",
"geometry": {
"kind": "place",
"lat": null,
"lng": null,
"radius_miles": null,
"bbox": null,
"property_id": null,
"address": null,
"zip": [
"85033"
],
"city": null
},
"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": "5ca22a59",
"built_at": "2026-10-18T21:14:14.380Z",
"published_at": "2026-10-18T21:29:36.244Z",
"run_id": 1792358069,
"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
}
]
}
}
}Rank the lenders of a place
The lenders of a state, a county, a ZIP or a list of ZIPs, ranked by loans, volume, open positions or newest recording. Each row has the lender, its loans, its volume, its first liens, its open book and its share.
Use it to see who lends in a place. A list of ZIPs is one place, and each count is a sum over the list. The loans are a dated slice: meta.build.states[].financing_as_of gives the date. tags keeps the hard-money lenders or the banks. A person-named lender is not served here.
A call costs 0 credits.
curl --request GET \
--url https://api.investorlift.com/v3/lenders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.investorlift.com/v3/lenders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.investorlift.com/v3/lenders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"rank": 1,
"lender": {
"org_id": "AZ:02332544",
"org_name": "DESERT FINANCIAL CREDIT UNION",
"from_registry": true,
"tags": [
"credit_union",
"institution"
]
},
"recorded_name": "DESERT FINANCIAL CU",
"n": 179,
"n_recordings": 179,
"volume": 17674065,
"n_first_lien": 155,
"n_heloc": 171,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.096443966,
"n_investor_loans": 9,
"n_investor_recordings": 9,
"n_investor_orgs": 11,
"n_deals_financed": 0,
"investor_share": 0.05027933,
"last_recorded_on": "2026-06-01",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
},
{
"rank": 2,
"lender": {
"org_id": "AZ:name:SECRETARY OF HOUSING URBAN DEVELOPMENT",
"org_name": "SECRETARY OF HOUSING AND URBAN DEVELOPMENT",
"from_registry": false,
"tags": [
"government",
"institution"
]
},
"recorded_name": "SECRETARY/HOUSING & URBAN DEV",
"n": 160,
"n_recordings": 160,
"volume": 4214042,
"n_first_lien": 124,
"n_heloc": 0,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.086206897,
"n_investor_loans": 0,
"n_investor_recordings": 0,
"n_investor_orgs": 0,
"n_deals_financed": 0,
"investor_share": 0,
"last_recorded_on": "2026-06-09",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
},
{
"rank": 3,
"lender": {
"org_id": "AZ:R17517033",
"org_name": "UNITED WHOLESALE MORTGAGE LLC",
"from_registry": true,
"tags": [
"institution"
]
},
"recorded_name": "UNITED WHOLESALE MORTGAGE",
"n": 155,
"n_recordings": 155,
"volume": 44749653,
"n_first_lien": 148,
"n_heloc": 4,
"n_construction": 0,
"n_open_liens": null,
"open_balance": null,
"share": 0.083512931,
"n_investor_loans": 2,
"n_investor_recordings": 2,
"n_investor_orgs": 2,
"n_deals_financed": 0,
"investor_share": 0.012903226,
"last_recorded_on": "2026-06-04",
"as_of": "2026-06-25",
"recordings_through": "2026-06-11"
}
],
"page": {
"next_cursor": "eyJ2IjoxLCJydW4iOiJ8bGVhbi1BWjE3OTIzNTgwNjktQ0ExNzkwMjE1MTkwLUZMMTc5MDI2MjY4Mi1UWDE3OTAyNDgyMTMiLCJxIjoiZmUzZmU5ZjAzOGJlMjYzYzkxZjRmZjMwMTRiYThjNTJlZmU5YWViNWQ4NzA1MWI2NTMyOGQxNTA3NjAyNTU0OSIsImsiOlsxNTUsNDQ3NDk2NTMsIkFaOlIxNzUxNzAzMyJdfQ",
"limit": 3,
"returned": 3
},
"meta": {
"generated_at": "2026-10-18T21:38:34.282Z",
"geometry": {
"kind": "place",
"lat": null,
"lng": null,
"radius_miles": null,
"bbox": null,
"property_id": null,
"address": null,
"zip": [
"85033"
],
"city": null
},
"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": "5ca22a59",
"built_at": "2026-10-18T21:14:14.380Z",
"published_at": "2026-10-18T21:29:36.244Z",
"run_id": 1792358069,
"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.
Query Parameters
The served state of the ranking, two letters. A ranking is a ranking in a place.
^[A-Z]{2}$One county by its 5-digit FIPS. Default: the whole state. A county the served state does not list answers 404: GET /v3/coverage lists them. county and zip together answer 400 geometry_conflict.
^[0-9]{5}$A place as a list of 5-digit ZIPs (comma list or repeated key), at most 60. Default: the whole state. One ZIP ranks its own bucket. Several rank the sum of their buckets, one row for each lender over the set. A ZIP with no parcel in the place index leaves the set, and a list with none answers 404. county and zip together answer 400 geometry_conflict.
1^\d{5}$The window of the ranking, anchored on financing_as_of of the state: all, 24m (the 730 days before), 12m (the 365 days before). Default 24m.
all, 24m, 12m Keep the lenders that carry every tag given (comma list or repeated key): government, bank, credit_union, trust, person, hard_money, institution. Default: every lender.
1A reading of the name of the lender, each by its rule in the build. government: a public body. bank: the bank, thrift and charter words. credit_union: a credit union. trust: a trust, an IRA, an estate or a seller carry-back. person: a name that reads as a person. hard_money: the hard-money vocabulary and brands. institution: the party-wide reading of an institutional word, by the rule tag_institution of the build. It reads a bank, mortgage, loan, lending, funding, finance or servicing word. It also reads a credit union, a GSE or HUD form, a public body, a title or escrow company and an association. It also reads a school, a hospital, a church, a club, an insurer, a pension or retirement plan, a securitization or loan trust and a REIT brand. It excludes FBO, custodian, IRA, seller financing, insurance trust and the iBuyer brands. A bank, a credit union, a public body and a hard-money REIT carry it beside their own tag. It never means a bank: a mortgage company and an investor lender carry it alike. A tag decides no row: a lender keeps its loans and gets a tag. The tags of an organization are the union of the tags of its spellings, less person when the organization reads as a company. The list can grow with the rules of the build: a client keeps an unknown tag.
government, bank, credit_union, trust, person, hard_money, institution Keep the lenders with at least this many loans in the place and the period. Default: 1.
1 <= x <= 9007199254740991Keep the lenders with at least this many loans to an investor borrower in the place and the period. Default: every lender. Refused with 422 fact_unavailable while the state has no investor counts.
1 <= x <= 9007199254740991The row order. loans_desc puts the most loans in the place first, then the largest volume. volume_desc puts the largest volume first, then the most loans. open_liens_desc puts the most open positions first, and needs period=all: the open book is counted on the all period alone. last_recorded_desc puts the newest recording first. investor_loans_desc puts the most recordings to an investor borrower first, then the most such loans: a blanket recording to one investor counts once. deals_financed_desc puts the most flagged purchases financed first, then the most loans. recordings_desc puts the most recordings first, then the most loans. A lender with none of the counted thing stays on the page after every lender with one, so rank keeps its meaning. The two investor sorts are refused with 422 fact_unavailable while the state has no investor counts. Every sort breaks a tie on the organization id. Default loans_desc.
loans_desc, volume_desc, open_liens_desc, last_recorded_desc, investor_loans_desc, deals_financed_desc, recordings_desc Page size, 1-500 (default 100).
1 <= x <= 500Opaque 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 - 4096Response
The lenders of the place in the order of the sort, the most loans first by default, one page. The loans are a dated slice. meta.build.states[].financing_as_of and recordings_through give the dates.
The lenders of the place in the order of the sort, the most loans first by default, one page. The loans are a dated slice. meta.build.states[].financing_as_of and recordings_through give the dates.
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 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?