Skip to main content
Early access: while the developer tier is in beta, the API serves this route to Investorlift’s team and trusted partners. Investorlift will restrict the route further before it opens to every key.
One row of GET /v1/lenders/{id}/rankings: one place or one calendar month, and what one lender did there over the window the request named. A place is a ZIP, a city, a county or an H3 cell. The ranking row is one lender inside one place. The bucket is one place inside one lender.

Read a bucket

  • key names the bucket: the ZIP, the city, the county FIPS, the H3 index as hex, or the month as YYYY-MM.
  • n is every instrument of any kind the lender recorded in the bucket over the window. The API counts each instrument once across the open-lien and recorded-history tables. volume sums the priced ones. It counts a blanket loan once and leaves out amounts above $5,000,000. That is the same rule as every volume on the Lender object.
  • rank is the lender’s position among every lender of the market in the same bucket and window, by n, with ties by volume then id. Persons below the person gate and placeholder names hold a slot. share is n over every lender’s instruments in the bucket. On a month bucket, the pair equals the profile’s by_month[] rank and share for that month, computed the same way. On a month the lender recorded nothing in, rank is null and share is 0. The month series fills in such a month so that the series is complete.
  • n_purchase_money is the count of instruments among n that financed a purchase. n_investor is the count of those whose borrower resolves to a registered investor. Both are null where no deed link exists for the market.
  • partial is true when the bucket is the slice month or the slice year, a window that ends after recordings_through. The bucket is the slice month when its key is that month, or when period=YYYY-MM names that month. The bucket is the slice year when period=YYYY names that year. floor is true on a calendar-year bucket before history_floor_year. The history keeps five slots per parcel, so those years are a floor, never a count.
Every bucket is dated: as_of is the registry’s slice date, and meta.dated[] on the response names the lenders and financing blocks. A bucket carries no name and no address. The lender is the path id.

One place, month or cell the lender lent in over the period. The bucket carries its count, volume, purchase-money and investor counts, and its rank and share among every lender there.

key
string
required

The bucket, by group_by. A ZIP is 5 digits. A city is upper case as the parcel table writes it. A county is its 5-digit FIPS. A cell is an H3 hex string, for example 8848eba59dfffff. A month is a calendar month, YYYY-MM.

n
integer
required

Instruments recorded in the bucket over the period with this lender as lender of record. The count takes each instrument once across the open-lien and recorded-history tables. 0 on a month of the span in which the lender recorded nothing.

Required range: -9007199254740991 <= x <= 9007199254740991
volume
integer
required

Sum of the loan amounts of the priced instruments in the bucket over the period, whole dollars. The sum counts a blanket group once and leaves out amounts above $5,000,000. 0 when none carries a price.

Required range: -9007199254740991 <= x <= 9007199254740991
n_purchase_money
integer | null
required

Of n, the instruments whose purpose is PURCHASE. A PURCHASE has a priced deed on the parcel in the 45 days up to the recording. Null while the market has no deed link (purchase_measured false).

Required range: -9007199254740991 <= x <= 9007199254740991
n_investor
integer | null
required

Of n, the instruments whose borrower resolves to a registered investor. Null while the market has no borrower match.

Required range: -9007199254740991 <= x <= 9007199254740991
rank
integer | null
required

The lender's rank by n in the bucket over the period among every lender active there. The ranking takes every class, persons below the gate and placeholders included. It breaks ties by volume, then by id. Null on a month of the span with n 0.

Required range: -9007199254740991 <= x <= 9007199254740991
share
number | null
required

n over every lender's instruments in the bucket over the period, 0 to 1. The denominator counts every lender. 0 on a month with n 0.

partial
boolean
required

True when the bucket's window ends after recordings_through. That is the slice month, as a month bucket or as period YYYY-MM, and the slice year, as period YYYY. Recordings in the slice stop on recordings_through.

floor
boolean
required

True on a calendar-year period before history_floor_year. The recorded history keeps five slots per parcel and pushes older mortgages out, so the count is a floor.

as_of
string
required

The slice date, YYYY-MM-DD. The API measures the counts at it. Dated: see meta.dated[].

dated
boolean
required

True while the datasets are not in the current delivery, so the row is a snapshot at as_of.