Skip to main content
GET
Rank one lender by month, ZIP, city, county or cell

Authorizations

Authorization
string
header
required

API key from the developer console (starts with zpka_). Create one at https://developers.investorlift.com/get-a-key.

Path Parameters

id
string
required

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
string

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.

Required string length: 1 - 16
group_by
enum<string>
required

The buckets that cut a lender's rankings. With month, the buckets are the market-wide calendar months, one row per month of the span, every month present. With zip, 5-digit ZIP codes. With city, city names in upper case, as the parcel table writes them. With county, 5-digit FIPS codes. With cell, H3 hexagons at the resolution res gives, 8 by default.

Available options:
month,
zip,
city,
county,
cell
res
enum<string>

H3 cell resolution with group_by=cell: 8 (the default) or 7. Resolution 8 has cells of about 0.3 square miles and resolution 7 of about 2 square miles. With any other group_by the API answers 400 validation_error, code res_without_cell.

Available options:
7,
8
period
string
default:24m

The period the buckets cover: 24m (the default), 12m, all, a calendar year YYYY, or a month YYYY-MM. YYYY is a year from 2002 to the slice year, and YYYY-MM is one of the 36 months up to the slice month. With group_by=cell it is a window alone. With group_by=month it is a span of months, every month present: all is the 36, 24m and 12m the last 24 and 12. Under group_by=month, YYYY is its months and YYYY-MM is that month. For any other value, or under group_by=month a year with none of the 36, the API answers 400 validation_error, code period_not_served.

Pattern: ^(12m|24m|all|\d{4}|\d{4}-(0[1-9]|1[0-2]))$
min_n
integer
default:10

Keep only buckets where the lender's own n is at least this, default 10. The ranked-first counts of the profile use the same floor. 1 lists every bucket it lent in. The filter does not apply to group_by=month, whose span the API serves whole with every month present.

Required range: 1 <= x <= 9007199254740991
limit
integer
default:100

Page size, 1-500 (default 100).

Required range: 1 <= x <= 500
cursor
string

Opaque 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.

Required string length: 1 - 4096
require_current
enum<string>
default:false

true 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.

Available options:
true,
false

Response

The lender's buckets of one kind over the period, one page.

The lender's buckets of one kind over the period, one page.

data
object[]
required

The rows of this page.

page
object
required

Pagination: the page size, the rows returned and the cursor for the next page. Paged lists carry no total. The summary block does.

meta
object
required

Response metadata: when the API produced it, which markets it covers, and how fresh they are.