Home / Data downloads

Data downloads

The full LenderTracker dataset as CSV and JSON, with a guide to every field.

LenderTracker is an independent directory. We don't broker loans, don't take per-loan or per-lead fees, and don't rank lenders for pay. Terms change often: confirm everything with the lender. Full disclosure.

Last updated

Download the data

The full LenderTracker dataset is free to download. It has 66 records: 50 lenders with published terms and 16 lenders we’re watching that haven’t published terms yet. These are static files, so there’s no API key, account or signup. They’re updated whenever we re-check lenders (last check October 16, 2026).

FileFormatWhat’s in it
lenders.csvCSV (UTF-8)One row per lender with the summary fields below. Lists are joined with “; ”.
lenders.jsonJSON arrayEverything in the CSV, plus program details and dated terms from lender marketing emails.
llms-full.txtPlain textThe same dataset written out as readable text, one section per lender.
openapi.jsonOpenAPI 3.1Machine-readable description of the two data files and their fields.
/.well-known/api-catalogLinkset (RFC 9727)Standard index pointing to the files above.

How to read it

  • Every value comes from the lender’s own website or its own marketing emails. If a lender doesn’t publish a term, the field is empty (null). That means “not published,” not “no.” We never estimate.
  • Advertised rates are “starting at” floors, not quotes, and always come with the date they were published (as_of). Email figures older than 180 days are marked historical and aren’t current pricing.
  • State coverage counts only when the lender names the state. An empty states list means coverage is unknown.
  • No placement is paid. LenderTracker takes no per-loan or per-lead fees and doesn’t broker loans.
  • Terms change often. Confirm current terms with the lender in writing before relying on them. See how we collect data.
  • If you use the data, please credit LenderTracker with a link to lendertracker.com. Found an error? Report it.

Fields

FieldTypeMeaning
namestringLender name.
slugstringIdentifier. The lender’s page is /lenders/{slug}/.
listingstring|null“prospect” = a lender we watch that hasn’t published terms (no terms are shown). “full” = added from the lender’s own marketing emails with dated terms. Empty = tracked from the lender’s website.
websitestringLender’s website.
loan_typesarrayLoan types the lender offers: dscr, fix-flip, bridge, hard-money, ground-up, non-qm. In the CSV they are joined with “; ”.
channelstringHow the lender works with borrowers (for example “Direct to investors” or “Wholesale (through brokers)”), or “Not published”.
statesarray|nullTwo-letter codes of states the lender lists as served (DC included). Empty/null means the lender didn’t list states: coverage unknown.
confirmed_statesarrayStates the lender names in its own marketing emails. Absent or empty if none.
coverage_notestring|nullCoverage wording from the lender’s site, such as excluded states.
min_ficointeger|nullLowest minimum credit score the lender publishes for any program. Empty = not published.
max_purchase_ltvnumber|nullHighest published purchase loan-to-value, in percent. Empty = not published.
max_cashout_ltvnumber|nullHighest published cash-out loan-to-value, in percent. Empty = not published.
min_dscrnumber|string|nullLowest published debt service coverage ratio (for example 1.0) or a text note such as a no-ratio option. Empty = not published.
loan_mininteger|nullSmallest published loan amount, US dollars. Empty = not published.
loan_maxinteger|nullLargest published loan amount, US dollars. Empty = not published.
prepaystring|nullPrepayment penalty terms as published. Empty = not published.
strboolean|nullTrue if the lender says it finances short-term rentals; false if it says it doesn’t; empty = not stated.
foreign_nationalboolean|nullTrue if the lender publishes a foreign national program; empty = not stated.
notesstring|nullClarifications about the published terms.
source_urlsarrayLender pages the terms came from. In the CSV they are joined with “; ”.
date_checkedstring (date)Date we last checked the lender’s sources (YYYY-MM-DD).
data_completenessnumberShare of core fields the lender publishes, from 0 to 1.
productsarrayJSON only. Program-level terms as published text: type, loan_range, min_fico, max_ltv, leverage, min_dscr, prepay, notes.
email_termsarrayJSON only. Terms from the lender’s own marketing emails: key, label, value, as_of (date published), program, historical (true when older than 180 days: not current pricing). Advertised rates are “starting at” floors, not quotes.
field_asofobjectJSON only. For summary fields that came from a dated lender email, the date that figure was published.
email_first_seenstring (date)JSON only. Date of the first marketing email we saw from the lender.
email_last_seenstring (date)JSON only. Date of the most recent marketing email we saw from the lender.
originstringJSON only. Where the record came from: “website” or “email-sweep”.
terms_historicalbooleanJSON only. True when all of the lender’s email terms are older than 180 days.
_kindstringJSON only. Short note on how the record was added.

Disclosure

LenderTracker’s creator is a licensed mortgage loan originator (MLO) with Kenwood Mortgage Investments (doesn’t own it). Kenwood is in the dataset like every other lender, with no special placement. The creator also makes business-purpose private money loans; those lending entities aren’t listed. Full disclosure.