Lending
Loan Eligibility
POST
/api/marketplace/v1/loan-eligibilityFree planOverview
Instant loan eligibility using FOIR (Fixed Obligation to Income Ratio) — the same standard Indian banks and NBFCs use.
Use case
Pre-qualify borrowers before showing loan cards on any embedded lending or marketplace flow.
Authentication
All requests require the X-API-Key header. Sandbox and live keys share the same base URL — the platform routes based on the key prefix.
Base URL
https://api.loan4bank.com/v3
Auth header
X-API-Key: <YOUR_KEY>
Request parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| monthly_income | number | Required | Gross monthly income, ₹. | 120000 |
| monthly_expenses | number | Required | Regular monthly expenses, ₹. | 55000 |
| existing_emis | number | Required | Sum of active EMIs, ₹. | 18000 |
| employment_type | string | Optional | salaried | self_employed | business_owner. | "salaried" |
| annual_rate | number | Optional | Assumed loan interest %, default 11. | 10.75 |
| tenure_months | integer | Optional | Assumed tenure, default 60. | 60 |
Response schema
| Field | Type | Description |
|---|---|---|
| data.eligible_loan_amount | integer | Max loan sanction, ₹. |
| data.max_emi | integer | 50% FOIR-safe monthly EMI, ₹. |
| data.foir_pct | number | Fixed-obligation-to-income used. |
| data.assumptions | object | Rate + tenure used. |
Sample request & response
Request · cURL
curl -X POST 'https://api.loan4bank.com/v3/marketplace/v1/loan-eligibility' \
-H 'X-API-Key: <YOUR_KEY>' \
-H 'Content-Type: application/json' \
-d '{"monthly_income":120000,"monthly_expenses":55000,"existing_emis":18000,"employment_type":"salaried"}'Sample response
{
"status": "SUCCESS",
"message": "ok",
"data": {
"eligible_loan_amount": 1912000,
"max_emi": 42000,
"foir_pct": 50,
"assumptions": {
"annual_rate": 11,
"tenure_months": 60
}
}
}Want to hit this endpoint without leaving the docs? and use the in-modal runner — it's pre-loaded with this endpoint's sample body.
Error codes
| HTTP | Code | Fix |
|---|---|---|
| 400 | L4B-001 | Check the params table for the endpoint and re-send. |
| 401 | L4B-101 | Include the header on every request. |
| 401 | L4B-102 | Rotate via /developer/dashboard or grab a fresh sandbox key. |
| 402 | L4B-201 | Upgrade to the min plan shown in the endpoint's docs page. |
| 403 | L4B-301 | Toggle it on via `POST /developers/apis/toggle` or the dashboard. |
| 404 | L4B-401 | Verify the URL path and version prefix (`/v1/`). |
| 422 | L4B-421 | Check the response body for `detail` — it names the offending field. |
| 429 | L4B-491 | Backoff `Retry-After` seconds, or upgrade the plan. |
Rate limits by plan
| Plan | Monthly quota | Burst | Price |
|---|---|---|---|
| free | 100 calls | 10 / minute | ₹0 |
| starter | 5,000 calls | 60 / minute | ₹999 / month |
| growth | 25,000 calls | 240 / minute | ₹2,999 / month |
| enterprise | Unlimited | 1,200 / minute | Custom |
Changelog
See the platform changelog for version-level history covering this endpoint.