get_ property_ decision_ intelligence
Buyer affordability verdict for a specific home: indicative eligibility (FOIR/LTV/CIBIL), EMI, true cash-to-close, and regime-aware tax — one signal. Not a loan approval, offer, or financial advice.
Endpoint POST https://api.avnester.com/
Parameters
The most-used parameters. Full schema in the OpenAPI document.
monthlyNetIncomenumberrequired- Buyer monthly take-home income in INR.
listingIdstringoptional- An AVnester listingId. Provide this OR propertyValue+state.
propertyValuenumberoptional- Property price in INR (pan-India mode). Provide with state.
statestringoptional- Indian state for stamp duty. Required with propertyValue.
citystringoptional- City or town (manual mode), e.g. "Pune" — Maharashtra stamp duty depends on it, and it decides the GST metro carpet cap. Listing mode reads the listing's city.
localBodystringoptional- municipal_corporation | municipal_council | gram_panchayat. Where the property is, in a state that prices by it (MH, KA, WB, MP, HR): gram_panchayat (village), municipal_council (town) or municipal_corporation (city); overrides city. Omit when unknown (a corporation is priced, and said). Manual mode only.
isUrbanbooleanoptional- Urban (default) or rural (manual mode), where the state prices by location (MH, KA, WB, MP, HR); localBody or a recognised city decides instead.
buyerGenderstringoptional- male | female | joint. "female" (a woman), "joint" (a man and a woman together) or "male" (default; two women: female). Changes the price only where a state gives women a concession.
assetTypestringoptional- home | plot. Manual mode: "home" (a flat, villa or house) or "plot" (bare land). A plot is priced as a plot for stamp duty — a residential-only concession does not reach it — and gets a shorter loan tenure and no home-loan tax benefit.
firstSalebooleanoptional- True for the FIRST sale of a flat, from the builder (not the buyer's first home); false for a resale. Changes the duty only where a state has a first-sale rate (KA). Omit when unknown: a resale is priced, and said where it matters. Absent: isUnderConstruction true means a first sale; otherwise a resale is priced and the assumptions say so.
isUnderConstructionbooleanoptional- Under construction: GST applies, and the unit is priced as the builder's first sale unless firstSale says otherwise. Omitted: ready-to-move, no GST.
carpetAreaSqftnumberoptional- Carpet area in sq ft — decides the 1% affordable-housing GST rate (up to ₹45 lakh, and 646 sq ft in a GST metro city, 969 sq ft elsewhere).
savingsAvailablenumberoptional- Liquid cash for down payment + charges — enables the cash-gap calc.
cibilScorenumberoptional- CIBIL score (300–900). Omit → eligibility stays indicative.
existingMonthlyEmisnumberoptional- Total existing monthly EMIs in INR.
coApplicantMonthlyIncomenumberoptional- Co-applicant monthly income (joint affordability).
occupancyIntentstringoptional- self_occupied · let_out.
tenureYearsnumberoptional- Loan tenure in years. Defaults to 20.
Worked example
curl -X POST https://api.avnester.com/public/v1/get_property_decision_intelligence \
-H 'Content-Type: application/json' \
-d '{
"propertyValue": 6500000,
"state": "Tamil Nadu",
"monthlyNetIncome": 150000,
"savingsAvailable": 1500000,
"cibilScore": 760
}'{
"mode": "manual",
"verdict": { "signal": "STRETCH", "headline": "Approval likely, but you're ₹4,44,000 short on upfront cash.", "blockingLever": "down_payment_gap", "confidence": "indicative" },
"eligibility": { "eligibleLoan": 5200000, "bound": "ltv", "ltvPct": 80, "foirAtEligibleLoanPct": 30.1, "approvalLikelihood": "high", "notALoanApproval": true, "notAnOffer": true },
"emi": { "loanAmount": 5200000, "monthlyEmi": 45127 },
"affordability": {
"downPayment": 1300000, "stampDutyAndRegistration": 585000, "otherCharges": 59000,
"otherChargesBreakdown": { "loanProcessingFee": 39000, "legalFee": 10000, "technicalValuation": 10000, "gstUnderConstruction": 0 },
"totalCashToClose": 1944000, "downPaymentGap": 444000
},
"tax": { "recommendedRegime": "new", "netEffectiveAnnualBenefit": 0 },
"attribution": "AVnester",
"disclaimer": "..."
}Rate limits
OAuth (Developer)
30 / min
The same ceiling applies to every tool on a given plan, on both the MCP and REST transports; every plan’s is on Pricing. OAuth registration is free and self-serve. Calls made without signing in have their own per-IP limits — see the quickstart.
Common errors
400Provide exactly one of listingId / propertyValuePass either listingId OR propertyValue+state — not both, not neither.
400Invalid request bodyCheck required parameters and types. The error.message field will name the offending parameter.
429Rate limit exceededBack off until the time in the Retry-After header. Signed in with OAuth, the per-tool limit is counted per user instead of per address; a paid plan raises it.
429Daily call limit reached (calls without signing in)Retry-After counts to 00:00 UTC, and only calls that returned an answer count. Signed in, calls count against your plan instead of your IP address.
Next steps
- → Try get_property_decision_intelligence in the playground (no signup)
- → Register an OAuth client (free on the Developer plan)
- → Browse the other 10 tools
- → Full schema in the OpenAPI spec