---
title: "Evaluate a refinance"
method: POST
path: "/api/v1/calculate-refinance"
tags: ["calculations"]
---

# Evaluate a refinance

`POST /api/v1/calculate-refinance`

## Request

- Base URL: `https://www.usmortgagecalc.com`
- URL: `https://www.usmortgagecalc.com/api/v1/calculate-refinance`
- Auth: none declared

Whether refinancing is worth it: the new payment, monthly saving, and how many months it takes to recover closing costs. Also compares lifetime interest, which catches the common trap where a lower payment costs more overall because the term was reset.

## Request body

- object: Refinance break-even in months, plus the effect on lifetime interest.
  - `currentBalance` number, required: Remaining principal on the existing loan.
  - `currentAnnualRatePercent` number, required: Interest rate on the existing loan.
  - `currentRemainingTermMonths` integer, required: Months still to run on the existing loan.
  - `newAnnualRatePercent` number, required: Interest rate being offered.
  - `newTermYears` integer: Loan term in years. Most US mortgages are 15 or 30.
  - `closingCosts` number, required: Total cost to close the refinance, in US dollars.
  - `financeClosingCosts` boolean: Roll closing costs into the new balance instead of paying cash.

## Response `200`

Calculation result.

- object
  - `data` object: The calculation result.
  - `meta` object
    - `operation` string
    - `computedAt` string, date-time

## Other responses

- `400`: Input failed validation. The message names the offending field.
- `429`: Rate limit exceeded. Retry after the interval in Retry-After.

---

[API](https://skmtc.dev/usmortgagecalc/apis/us-mortgage-calculator-api.md) · [All operations](https://skmtc.dev/usmortgagecalc/apis/us-mortgage-calculator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usmortgagecalc/apis/us-mortgage-calculator-api/revisions/4439848058a8?raw)
