US mortgage calculator and amortization API with 50-state property tax, PMI, and affordability data.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Maximum affordable home price from income, existing debt payments and available down payment, using the 28/36 qualifying ratios. Reports which of the two ratios is the binding constraint, which is the actionable part: a buyer limited by the back-end ratio can raise their budget by clearing debt, one limited by the front-end ratio cannot.
Household income before tax, in US dollars per year.
Cash available for the down payment, in US dollars. A dollar amount, not a percentage.
Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required.
Monthly HOA dues.
Loan term in years. Most US mortgages are 15 or 30.
Annual homeowners insurance premium.
Maximum total debt as a share of gross income. 36 is conservative; lenders often allow 45 and sometimes 50.
Existing minimum monthly debt payments: car loans, student loans, credit card minimums. Excludes housing.
Maximum housing cost as a share of gross income. 28 is the conservative standard.
Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average.
Annual nominal interest rate as a percentage, for example 6.5 for 6.5%.
Maximum affordable home price from income, existing debt payments and available down payment, using the 28/36 qualifying ratios. Reports which of the two ratios is the binding constraint, which is the actionable part: a buyer limited by the back-end ratio can raise their budget by clearing debt, one limited by the front-end ratio cannot.
| Argument | Type | Description |
|---|---|---|
| state | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
| monthlyHoa | number | Monthly HOA dues. |
| loanTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| annualInsurance | number | Annual homeowners insurance premium. |
| annualGrossIncome* | number | Household income before tax, in US dollars per year. |
| downPaymentAmount* | number | Cash available for the down payment, in US dollars. A dollar amount, not a percentage. |
| backEndRatioPercent | number | Maximum total debt as a share of gross income. 36 is conservative; lenders often allow 45 and sometimes 50. |
| monthlyDebtPayments | number | Existing minimum monthly debt payments: car loans, student loans, credit card minimums. Excludes housing. |
| frontEndRatioPercent | number | Maximum housing cost as a share of gross income. 28 is the conservative standard. |
| propertyTaxRatePercent | number | Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average. |
| annualInterestRatePercent | number | Annual nominal interest rate as a percentage, for example 6.5 for 6.5%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"annualGrossIncome",
"downPaymentAmount"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"monthlyHoa": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Monthly HOA dues."
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium."
},
"annualGrossIncome": {
"type": "number",
"description": "Household income before tax, in US dollars per year.",
"exclusiveMinimum": 0
},
"downPaymentAmount": {
"type": "number",
"minimum": 0,
"description": "Cash available for the down payment, in US dollars. A dollar amount, not a percentage."
},
"backEndRatioPercent": {
"type": "number",
"default": 36,
"maximum": 100,
"minimum": 1,
"description": "Maximum total debt as a share of gross income. 36 is conservative; lenders often allow 45 and sometimes 50."
},
"monthlyDebtPayments": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Existing minimum monthly debt payments: car loans, student loans, credit card minimums. Excludes housing."
},
"frontEndRatioPercent": {
"type": "number",
"default": 28,
"maximum": 100,
"minimum": 1,
"description": "Maximum housing cost as a share of gross income. 28 is the conservative standard."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
}
},
"description": "Maximum affordable home price from income, debts and available down payment."
}Payment-by-payment breakdown of how a loan is repaid, showing the split between principal and interest and the falling balance. Use granularity 'monthly' for the first years in detail, 'yearly' for a whole-term overview. Also reports how much sooner extra principal pays the loan off.
| Argument | Type | Description |
|---|---|---|
| state | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
| loanType | string | Loan programme. Affects mortgage insurance and upfront fees. |
| homePrice* | number | Purchase price of the home in US dollars. |
| monthlyHoa | number | Monthly homeowners association dues in US dollars. |
| granularity | string | Yearly returns one row per year; monthly returns one row per payment, up to 600 rows. |
| loanTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| annualInsurance | number | Annual homeowners insurance premium in US dollars. |
Full monthly housing cost for a US mortgage: principal and interest, property tax, homeowners insurance, mortgage insurance and HOA dues, plus lifetime totals and payoff timing. Pass a state name to use that state's average property tax rate. This is the right tool for 'what would my payment be on a $400,000 house'.
| Argument | Type | Description |
|---|---|---|
| state | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
| loanType | string | Loan programme. Affects mortgage insurance and upfront fees. |
| homePrice* | number | Purchase price of the home in US dollars. |
| monthlyHoa | number | Monthly homeowners association dues in US dollars. |
| loanTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| annualInsurance | number | Annual homeowners insurance premium in US dollars. |
| downPaymentPercent | number | Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount. |
Mortgage insurance for any US loan programme, including the upfront charges most calculators omit. Conventional: monthly PMI and the month it cancels at 80% and 78% loan-to-value. FHA: the 1.75% upfront premium, monthly MIP, and whether it runs for the life of the loan or ends after 11 years. VA: the funding fee, tiered by down payment and prior use, and waivers. USDA: guarantee and annual fees.
| Argument | Type | Description |
|---|---|---|
| loanType | string | Loan programme. Affects mortgage insurance and upfront fees. |
| homePrice* | number | Purchase price of the home in US dollars. |
| creditScore | integer | FHA only: sets the minimum down payment. 580+ qualifies for 3.5%. |
| loanTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| vaSubsequentUse | boolean | VA only: entitlement used before. |
| downPaymentPercent | number | Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount. |
| monthlyExtraPrincipal | number | Extra principal paid monthly. |
Annual and monthly property tax for a home, using a state's average effective rate. Also returns how that state ranks nationally and how its rate compares with the national average. For the mechanics behind the number — assessment basis, caps, exemptions, appeal deadlines — use get_state_mortgage_rules.
| Argument | Type | Description |
|---|---|---|
| state* | string | Full US state name, for example "Texas". |
| homePrice* | number | Home value in US dollars. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice",
"state"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\"."
},
"homePrice": {
"type": "number",
"description": "Home value in US dollars.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| closingCosts* | number | Total cost to close the refinance, in US dollars. |
| newTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| currentBalance* | number | Remaining principal on the existing loan. |
| financeClosingCosts | boolean | Roll closing costs into the new balance instead of paying cash. |
| newAnnualRatePercent* | number | Interest rate being offered. |
| currentAnnualRatePercent* | number | Interest rate on the existing loan. |
| currentRemainingTermMonths* | integer | Months still to run on the existing loan. |
Compares renting and buying on net wealth rather than on monthly payment, accounting for equity, appreciation, maintenance, selling costs, and the return a renter earns on money not spent on a down payment. Returns the year buying overtakes renting. The result is highly sensitive to the appreciation and investment-return assumptions, which are returned alongside it.
| Argument | Type | Description |
|---|---|---|
| state | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
| homePrice* | number | Purchase price of the home in US dollars. |
| monthlyHoa | number | Monthly HOA dues. |
| monthlyRent* | number | Current monthly rent for a comparable home. |
| loanTermYears | integer | Loan term in years. Most US mortgages are 15 or 30. |
| yearsToCompare | integer | Horizon of the comparison. |
| annualInsurance | number | Annual homeowners insurance premium. |
Compares two to five loan scenarios and reports which is cheapest by monthly payment and which by lifetime cost, separately, because they frequently are not the same loan. Use for 15-year versus 30-year, FHA versus conventional, competing lender quotes, or with and without discount points.
| Argument | Type | Description |
|---|---|---|
| scenarios* | array | Two to five loan scenarios to compare side by side. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scenarios"
],
"properties": {
"scenarios": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"homePrice"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"loanType": {
"enum": [
"conventional",
"fha",
"va",
"usda"
],
"type": "string",
"default": "conventional",
"description": "Loan programme. Affects mortgage insurance and upfront fees."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"monthlyHoa": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Monthly homeowners association dues in US dollars."
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium in US dollars."
},
"downPaymentPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"monthlyExtraPrincipal": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Additional principal paid each month. Shortens the loan rather than lowering the payment."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
}
},
"description": "Full monthly housing cost: principal, interest, taxes, insurance, PMI and HOA."
},
"label": {
"type": "string",
"minLength": 1,
"description": "Name for this option, for example \"30-year fixed\"."
}
}
},
"maxItems": 5,
"minItems": 2,
"description": "Two to five loan scenarios to compare side by side."
}
},
"description": "Compare loan options. Reports the cheapest by monthly payment and by lifetime cost separately, because they often differ."
}Line-by-line buyer closing costs — lender fees, title, appraisal, transfer taxes, prepaid escrow — plus total cash needed at the table including the down payment. Marks which items are worth shopping for and which are fixed by the county, and adds the FHA upfront premium, VA funding fee or USDA guarantee fee where they apply.
| Argument | Type | Description |
|---|---|---|
| state | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
| loanType | string | Loan programme. Affects mortgage insurance and upfront fees. |
| homePrice* | number | Purchase price of the home in US dollars. |
| escrowMonths | integer | Months of taxes collected up front to open the escrow account. |
| annualInsurance | number | Annual homeowners insurance premium. |
| vaSubsequentUse | boolean | VA only: entitlement has been used before. |
| downPaymentPercent | number | Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount. |
How property tax actually works in one state: how assessed value is derived, any statutory growth cap, the billing cycle, named exemptions such as homestead, the filing deadline, who hears appeals and the window to file, notable county variation, and a link to the state's own tax authority. Use this when the question is about mechanics or deadlines rather than a dollar amount.
| Argument | Type | Description |
|---|---|---|
| state* | string | Full US state name, for example "Texas". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
}
},
"description": "Property tax mechanics, exemptions, appeal windows and county variation for one state."
}Every US state with its average effective property tax rate, median home value and estimated annual tax. Sortable, so it answers 'which states have the highest property taxes' directly. Call this to discover valid state names for the other tools.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many states to return. |
| order | string | Sort direction. |
| sortBy | string | Ordering of the returned list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 50,
"minimum": 1,
"description": "How many states to return."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Sort direction."
},
"sortBy": {
"enum": [
"name",
"taxRate",
"medianHomeValue"
],
"type": "string",
"default": "name",
"description": "Ordering of the returned list."
}
},
"description": "All 50 states with average property tax rate, median home value and estimated annual tax."
}| downPaymentPercent |
| number |
| Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount. |
| monthlyExtraPrincipal | number | Additional principal paid each month. Shortens the loan rather than lowering the payment. |
| propertyTaxRatePercent | number | Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average. |
| annualInterestRatePercent | number | Annual nominal interest rate as a percentage, for example 6.5 for 6.5%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"loanType": {
"enum": [
"conventional",
"fha",
"va",
"usda"
],
"type": "string",
"default": "conventional",
"description": "Loan programme. Affects mortgage insurance and upfront fees."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"monthlyHoa": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Monthly homeowners association dues in US dollars."
},
"granularity": {
"enum": [
"yearly",
"monthly"
],
"type": "string",
"default": "yearly",
"description": "Yearly returns one row per year; monthly returns one row per payment, up to 600 rows."
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium in US dollars."
},
"downPaymentPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"monthlyExtraPrincipal": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Additional principal paid each month. Shortens the loan rather than lowering the payment."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
}
},
"description": "Amortization schedule showing how each payment splits between principal and interest."
}| monthlyExtraPrincipal |
| number |
| Additional principal paid each month. Shortens the loan rather than lowering the payment. |
| propertyTaxRatePercent | number | Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average. |
| annualInterestRatePercent | number | Annual nominal interest rate as a percentage, for example 6.5 for 6.5%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"loanType": {
"enum": [
"conventional",
"fha",
"va",
"usda"
],
"type": "string",
"default": "conventional",
"description": "Loan programme. Affects mortgage insurance and upfront fees."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"monthlyHoa": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Monthly homeowners association dues in US dollars."
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium in US dollars."
},
"downPaymentPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"monthlyExtraPrincipal": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Additional principal paid each month. Shortens the loan rather than lowering the payment."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
}
},
"description": "Full monthly housing cost: principal, interest, taxes, insurance, PMI and HOA."
}| vaExemptFromFundingFee |
| boolean |
| VA only: funding fee waived. |
| annualInterestRatePercent | number | Annual nominal interest rate as a percentage, for example 6.5 for 6.5%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice"
],
"properties": {
"loanType": {
"enum": [
"conventional",
"fha",
"va",
"usda"
],
"type": "string",
"default": "conventional",
"description": "Loan programme. Affects mortgage insurance and upfront fees."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"creditScore": {
"type": "integer",
"maximum": 850,
"minimum": 300,
"description": "FHA only: sets the minimum down payment. 580+ qualifies for 3.5%."
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"vaSubsequentUse": {
"type": "boolean",
"default": false,
"description": "VA only: entitlement used before."
},
"downPaymentPercent": {
"type": "number",
"default": 10,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"monthlyExtraPrincipal": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Extra principal paid monthly."
},
"vaExemptFromFundingFee": {
"type": "boolean",
"default": false,
"description": "VA only: funding fee waived."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
}
},
"description": "Mortgage insurance for any programme: conventional PMI with its cancellation point, FHA MIP and upfront premium, the VA funding fee, or USDA fees."
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"currentBalance",
"currentAnnualRatePercent",
"currentRemainingTermMonths",
"newAnnualRatePercent",
"closingCosts"
],
"properties": {
"closingCosts": {
"type": "number",
"minimum": 0,
"description": "Total cost to close the refinance, in US dollars."
},
"newTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"currentBalance": {
"type": "number",
"description": "Remaining principal on the existing loan.",
"exclusiveMinimum": 0
},
"financeClosingCosts": {
"type": "boolean",
"default": false,
"description": "Roll closing costs into the new balance instead of paying cash."
},
"newAnnualRatePercent": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Interest rate being offered."
},
"currentAnnualRatePercent": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Interest rate on the existing loan."
},
"currentRemainingTermMonths": {
"type": "integer",
"maximum": 600,
"description": "Months still to run on the existing loan.",
"exclusiveMinimum": 0
}
},
"description": "Refinance break-even in months, plus the effect on lifetime interest."
}| downPaymentPercent |
| number |
| Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount. |
| sellingCostPercent | number | Cost of selling, including agent commission. |
| propertyTaxRatePercent | number | Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average. |
| investmentReturnPercent | number | Return a renter earns on cash not tied up in a house. |
| annualMaintenancePercent | number | Annual upkeep as a percentage of home value. Typically 1 to 2. |
| annualInterestRatePercent | number | Annual nominal interest rate as a percentage, for example 6.5 for 6.5%. |
| annualRentIncreasePercent | number | Expected annual rent growth. |
| annualHomeAppreciationPercent | number | Expected annual home price growth. The answer is highly sensitive to this. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice",
"monthlyRent"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"monthlyHoa": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Monthly HOA dues."
},
"monthlyRent": {
"type": "number",
"description": "Current monthly rent for a comparable home.",
"exclusiveMinimum": 0
},
"loanTermYears": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Loan term in years. Most US mortgages are 15 or 30."
},
"yearsToCompare": {
"type": "integer",
"default": 30,
"maximum": 50,
"minimum": 1,
"description": "Horizon of the comparison."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium."
},
"downPaymentPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"sellingCostPercent": {
"type": "number",
"default": 6,
"maximum": 20,
"minimum": 0,
"description": "Cost of selling, including agent commission."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"investmentReturnPercent": {
"type": "number",
"default": 6,
"maximum": 30,
"minimum": 0,
"description": "Return a renter earns on cash not tied up in a house."
},
"annualMaintenancePercent": {
"type": "number",
"default": 1,
"maximum": 10,
"minimum": 0,
"description": "Annual upkeep as a percentage of home value. Typically 1 to 2."
},
"annualInterestRatePercent": {
"type": "number",
"default": 6.5,
"maximum": 30,
"minimum": 0,
"description": "Annual nominal interest rate as a percentage, for example 6.5 for 6.5%."
},
"annualRentIncreasePercent": {
"type": "number",
"default": 3,
"maximum": 20,
"minimum": -10,
"description": "Expected annual rent growth."
},
"annualHomeAppreciationPercent": {
"type": "number",
"default": 3,
"maximum": 20,
"minimum": -10,
"description": "Expected annual home price growth. The answer is highly sensitive to this."
}
},
"description": "Rent versus buy compared on net wealth, with the year buying pulls ahead."
}| transferTaxPercent |
| number |
| State and local transfer tax as a percentage of price. Varies enormously by state. |
| propertyTaxRatePercent | number | Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average. |
| vaExemptFromFundingFee | boolean | VA only: exempt from the funding fee, for example a service-connected disability rating. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"homePrice"
],
"properties": {
"state": {
"type": "string",
"minLength": 2,
"description": "Full US state name, for example \"Texas\". Used to look up the average property tax rate. Either this or propertyTaxRatePercent is required."
},
"loanType": {
"enum": [
"conventional",
"fha",
"va",
"usda"
],
"type": "string",
"default": "conventional",
"description": "Loan programme. Affects mortgage insurance and upfront fees."
},
"homePrice": {
"type": "number",
"maximum": 100000000,
"description": "Purchase price of the home in US dollars.",
"exclusiveMinimum": 0
},
"escrowMonths": {
"type": "integer",
"default": 3,
"maximum": 12,
"minimum": 0,
"description": "Months of taxes collected up front to open the escrow account."
},
"annualInsurance": {
"type": "number",
"default": 1800,
"minimum": 0,
"description": "Annual homeowners insurance premium."
},
"vaSubsequentUse": {
"type": "boolean",
"default": false,
"description": "VA only: entitlement has been used before."
},
"downPaymentPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percentage of the purchase price, 0 to 100. Not a dollar amount."
},
"transferTaxPercent": {
"type": "number",
"default": 0.4,
"maximum": 5,
"minimum": 0,
"description": "State and local transfer tax as a percentage of price. Varies enormously by state."
},
"propertyTaxRatePercent": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Annual property tax as a percentage of home value. Omit and pass `state` instead to use that state's average."
},
"vaExemptFromFundingFee": {
"type": "boolean",
"default": false,
"description": "VA only: exempt from the funding fee, for example a service-connected disability rating."
}
},
"description": "Itemised buyer closing costs and total cash needed at the table."
}