Data & Analytics

Refinance break-even analysis

Given a current loan (balance, term, rate), finds the best qualifying market refinance offer and computes monthly savings, lifetime savings, closing costs, break-even months, net lifetime savings, and whether refinancing is worth it. The break-even logic lives here as the single source of truth; the MCP refinance_break_even tool and the consumer app call this route.

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

post/v1/refinance-break-even

Request

  • Base URL: https://api.rateapi.dev
  • URL: https://api.rateapi.dev/v1/refinance-break-even
  • Auth: API key in header X-API-Key

Request body

statestring required

2-letter US state code

product_type'auto_loan' | 'mortgage' | 'heloc' | 'personal_loan' | 'student_loan' required

Loan or deposit product this applies to.

balancenumber required

Outstanding loan balance to refinance

term_monthsinteger required

Remaining (or new) term in months

current_ratenumber required

Current loan interest rate (percent)

closing_costsnumber

Optional refinance closing costs. Defaults to 0.

credit_scoreinteger

Optional borrower credit score used to qualify market offers.

Example request

{
  "state": "CA",
  "product_type": "mortgage",
  "balance": 400000,
  "term_months": 360,
  "current_rate": 7.25,
  "closing_costs": 4000,
  "credit_score": 740
}

Response

Break-even analysis. When no market offer beats the current rate, only current_rate, closing_costs, break_even_months (null), refinance_worth_it (false), and reason are populated.

statestring

Two-letter US state code.

product_typestring

Loan or deposit product this applies to.

current_ratestring

The rate the borrower pays today, formatted as a percentage string.

best_market_ratestring

The best rate available to refinance into, formatted as a percentage string.

best_lenderstring

Credit union offering that rate.

current_monthly_paymentstring

What the borrower pays today, formatted as a US dollar string.

new_monthly_paymentstring

What they would pay after refinancing, formatted as a US dollar string.

monthly_savingsstring

Monthly payment reduction in US dollars.

lifetime_savingsstring

Total payment reduction over the full term, in US dollars.

closing_costsstring

Cost of doing the refinance, formatted as a US dollar string.

break_even_monthsinteger nullable

ceil(closing_costs / monthly_savings) when savings>0 & costs>0; 0 when costs==0; null otherwise.

net_lifetime_savingsstring

Lifetime saving after closing costs, formatted as a US dollar string.

refinance_worth_itboolean

True when the net lifetime saving is positive and the break-even lands inside the time the borrower expects to hold the loan.

reasonstring

Why refinancing is not worth it. Present only when refinance_worth_it is false.

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.