ISO matching API · Version 1.2
One API. The whole lender desk.
Search the lender index, inspect sourced buy boxes, and return explainable deal matches. Registration is free for email-verified ISOs and brokers.
Works with your stack
Compatible with the systems your ISO already runs.
Send deal criteria from your CRM and return ranked lender matches to the same record. Connect directly through the REST API or route requests with Zapier and Make.
Compatibility means API-ready. LenderList accepts HTTPS JSON requests and returns JSON responses that these systems can store, display, or route. Platform-specific setup and permissions vary; marketplace-native apps are not implied.
Free registration
Trust earns the key.
API access is built for ISOs, brokers, and commercial-finance technology teams. Registration is free and requires email verification—not ownership of a lender profile.
Create an ISO account
Add your name, company, title, and work email. No lender-page claim is required.
Verify your email
Use the one-time verification link sent to your inbox. Links expire after 20 minutes.
Copy your key
Your production key is displayed once and stored only as a one-way hash.
Your account remains separate from lender ownership, ranking, reviews, and claimed-profile administration.
Live explorer
Send a real request.
This form calls the production API with your key. The key stays in this form and is not stored by the page.
Enter the key issued after verifying your free ISO account, then run the example.
Endpoint map
Four routes. Clear jobs.
Every response carries an API version, request ID, generation time, and index freshness object.
/api/v1/status
Check availability, lender counts, criteria coverage, refresh timestamps, and current free-tier limits.
/api/v1/lenders
Search by name and filter by paper grade or criteria availability. Cursor pagination supports the full index.
/api/v1/lenders/{slug}
Retrieve one public profile with structured criteria, paper grades, source links, and profile freshness.
/api/v1/matches
Rank filtered lender candidates and return the reason, score, criteria, and every resolved or unknown check.
Quickstart
One request to production.
Send your key as a Bearer token. Use the nested request shape for new integrations; the original flat request remains supported.
curl -X POST https://lender-list.com/api/v1/matches \
-H "Authorization: Bearer $LENDER_LIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"deal": {
"amount": 125000,
"revenue": 68400,
"credit": 650,
"tibMonths": 24,
"position": 2,
"state": "FL",
"industry": "Restaurant"
},
"filters": { "scope": "all", "criteriaOnly": false },
"options": {
"limit": 10,
"includeOutside": false
}
}'
const response = await fetch(
"https://lender-list.com/api/v1/matches",
{
method: "POST",
headers: {
"Authorization": `Bearer ${LENDER_LIST_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
deal: {
amount: 125000,
revenue: 68400,
credit: 650,
tibMonths: 24,
position: 2,
state: "FL",
industry: "Restaurant"
},
filters: { scope: "all", criteriaOnly: false },
options: { limit: 10, includeOutside: false }
})
}
);
const result = await response.json();
{
"deal": {
"amount": 125000,
"revenue": 68400,
"credit": 650,
"tibMonths": 24,
"position": 2,
"state": "FL",
"industry": "Restaurant"
},
"filters": { "scope": "all", "criteriaOnly": false },
"options": { "limit": 10, "includeOutside": false }
}
Match request
Use every fact you have.
Fields are validated with explicit ranges. Missing facts stay unknown instead of being silently defaulted.
| Deal field | Type / range | Compared against |
|---|---|---|
| amount | number · $0–$100M | Maximum funding amount |
| revenue | number · monthly | Minimum monthly revenue |
| credit | number · 300–850 | Minimum credit score |
| tibMonths | number · 0–1,200 | Minimum time in business |
| adb | number · dollars | Minimum average daily balance |
| depositCount | number · monthly | Minimum monthly deposits |
| nsfs | number · 0–100 | Maximum NSF / negative days |
| position | number · 1–10 | Maximum funding position |
| ownership | percent · 0–100 | Minimum ownership |
| termMonths | number · 1–120 | Minimum and maximum term |
| state | string | Restricted-state list |
| industry | string or SIC | Industry restrictions |
Control the lender pool
Set scope to all or favorites, then optionally use paperGrades, criteriaOnly, includeSlugs, and excludeSlugs.
Control the response
limit up to 50, includeOutside, includeChecks, and includeCriteria.
Response model
Know why every lender ranked.
Exact criteria and discovery refresh times, source state, index size, and criteria coverage.
Evaluated and returned totals plus fit, review, limited, and outside counts before pagination.
A plain-language explanation identifies the first failure, unresolved fields, or complete criteria fit.
Each sourced threshold reports pass, fail, or unknown with actual and threshold values where available.
Criteria fit
No sourced hard rule failed and enough criteria resolved.
Needs review
No hard failure, but facts or lender rules remain unresolved.
Limited criteria
The profile is real but lacks a usable structured buy box.
Outside criteria
At least one supplied fact failed a sourced rule.
Directory API
Page through the full index.
The directory returns an opaque nextCursor. Pass it back unchanged; do not build offsets yourself.
Use scope=all for the complete index or scope=favorites for the authenticated ISO account’s saved list. Search with q, add optional filters, then follow the returned cursor until it becomes null.
Operational contract
Freshness and failure are explicit.
Every request is traceable. Every invalid field is named. Every free-tier response says when the limit resets.
- X-Request-IDUnique identifier mirrored in the JSON body for support and logging.
- X-API-VersionCurrent response contract version; breaking changes use a new URL version.
- X-Data-Refreshed-AtCriteria refresh time available without parsing the body.
- AuthorizationBearer API key issued to an email-verified ISO account.
- RateLimit-*Per-key limit, remaining requests, and seconds until reset.
- Structured errorsStable error code, readable message, and field-level validation details.
- No PII neededDo not send merchant names, contacts, statements, account data, or documents.
Lender buy boxes change. The API proves the age and source state of the index so your application can decide when direct confirmation is required.