Data & Analytics

PMI-removal / equity-timeline projection

For low-down-payment borrowers (starting LTV > 80%): projects the month/date PMI can be cancelled (80% LTV) and is auto-terminated (78% LTV) on the original amortization schedule, the total PMI paid until then, and the extra monthly principal needed to reach 80% LTV sooner. Reuses the same amortization + PMI logic as /v1/monthly-cost. When no rate is supplied, the current best market rate for the state is resolved via the decision engine. LTV is based strictly on the original purchase price (no appreciation in v1).

Authentication required: Pass your API key in the X-API-Key header.

post/v1/pmi-removal

Request

  • Base URL: https://api.rateapi.dev
  • URL: https://api.rateapi.dev/v1/pmi-removal
  • Auth: API key in header X-API-Key

Request body

home_pricenumber

Purchase/appraised price in dollars. Required unless loan_amount is given.

down_paymentnumber

Cash down payment in dollars. Default 0.

loan_amountnumber

Optional explicit loan amount; overrides home_price - down_payment.

ratenumber

Annual interest rate (percent). If omitted, best market rate for the state is used.

term_monthsinteger

Loan term in months. Default 360.

statestring

2-letter US state code for the market-rate lookup. Default CA.

pmi_ratenumber

Annual PMI as % of loan balance. Default 0.5.

credit_scoreinteger

Optional borrower credit score used for the market-rate lookup.

extra_monthly_paymentnumber

Optional extra monthly principal to model faster PMI cancellation. Default 0.

Example request

{
  "home_price": 500000,
  "down_payment": 50000,
  "rate": 6.5,
  "term_months": 360,
  "state": "CA",
  "pmi_rate": 0.5,
  "credit_score": 740,
  "extra_monthly_payment": 200
}

Response

PMI-removal timeline, total PMI paid, and acceleration scenarios.

home_pricestring

Purchase price the schedule was computed from, formatted as a US dollar string.

loan_amountstring

Loan amount in US dollars.

down_paymentstring

Down payment in US dollars.

starting_ltvstring

Loan-to-value ratio at origination, formatted as a percentage string.

rate_usedstring

The rate the calculation was run at, as an annual percentage.

rate_source'provided' | 'market' | 'fallback'

Where the rate used in this calculation came from: provided if the caller supplied it, market if it was taken from live offers, fallback if neither was available and a default was used.

monthly_pistring

Monthly principal and interest, formatted as a US dollar string.

monthly_pmi_initialstring

Monthly private mortgage insurance at the start, formatted as a US dollar string.

pmi_appliesboolean

True when the loan-to-value ratio is high enough to require private mortgage insurance. When false the rest of the response is empty.

pmi_dropobject

When PMI comes off: the month the borrower may request cancellation at 80% loan-to-value, and the month the servicer must terminate it automatically at 78%.

total_pmi_paidstring

Everything paid in PMI before it comes off, formatted as a US dollar string.

with_extra_paymentobject nullable

How much sooner PMI comes off if the borrower pays extra principal, or null when no extra payment was supplied.

extra_neededobject[]

How much extra monthly principal it would take to reach 80% loan-to-value within 12 and within 24 months.

assumed_defaultsobject

Values filled in where the caller supplied none, so the result is reproducible.

next_actionsobject[]

Other endpoints or tools that are the natural next step from this result.

disclosuresstring[]

Statements that must be shown to a consumer alongside this result.

Changes

No recorded changes to this operation across all 1 revision of this API.