Rental property investment calculator
Rental property investment calculator. Full multi-year deal analysis for a rental property deal: mortgage, per-category rent/expense growth, a sale scenario, IRR, and cumulative totals over the holding period, alongside the first-year NOI/cap-rate/cash-on-cash snapshot.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
267 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://x402.outpimp.com/rentalPropertyCalculator
| Category | Everything else |
|---|---|
| Provider host | x402.outpimp.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.01 | 267 ms |
Example input (from the provider)
{
"body": {
"annualInsurance": 0,
"annualMaintenance": 0,
"annualPropertyTaxes": 0,
"closingCosts": 0,
"downPaymentPercent": 0.2,
"hoaAnnualIncrease": 0,
"holdingLengthYears": 2,
"insuranceAnnualIncrease": 0,
"interestRate": 0,
"loanTermYears": 10,
"maintenanceAnnualIncrease": 0,
"monthlyHOA": 0,
"monthlyRent": 2000,
"otherAnnualExpenses": 0,
"otherAnnualIncrease": 0,
"propertyManagementFeeRate": 0,
"purchasePrice": 200000,
"rehabCosts": 0,
"rentAnnualIncrease": 0,
"saleExpensesRate": 0,
"salePrice": 200000,
"taxesAnnualIncrease": 0,
"vacancyRate": 0
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"annualInsurance": {
"description": "Annual landlord insurance in the first year.",
"type": "number"
},
"annualMaintenance": {
"description": "Annual maintenance budget in the first year.",
"type": "number"
},
"annualPropertyTaxes": {
"description": "Annual property taxes in the first year.",
"type": "number"
},
"closingCosts": {
"default": 0,
"description": "Closing costs. Default 0.",
"type": "number"
},
"downPaymentPercent": {
"description": "Down payment as a fraction of purchase price (0-1). Use 1 for an all-cash purchase.",
"type": "number"
},
"hoaAnnualIncrease": {
"default": 0.03,
"description": "Annual HOA fee growth rate, as a fraction. Default 0.03.",
"type": "number"
},
"holdingLengthYears": {
"description": "Number of years you plan to hold the property before selling (1-50).",
"type": "number"
},
"insuranceAnnualIncrease": {
"default": 0.03,
"description": "Annual insurance growth rate, as a fraction. Default 0.03.",
"type": "number"
},
"interestRate": {
"description": "Annual mortgage interest rate, as a fraction. Ignored if downPaymentPercent is 1.",
"type": "number"
},
"loanTermYears": {
"description": "Loan term in years (1-50). Ignored if downPaymentPercent is 1.",
"type": "number"
},
"maintenanceAnnualIncrease": {
"default": 0.03,
"description": "Annual maintenance cost growth rate, as a fraction. Default 0.03.",
"type": "number"
},
"monthlyHOA": {
"default": 0,
"description": "Monthly HOA fee. Default 0.",
"type": "number"
},
"monthlyRent": {
"description": "Total monthly rent collected, before vacancy/management fee.",
"type": "number"
},
"otherAnnualExpenses": {
"default": 0,
"description": "Other annual operating expenses in the first year. Default 0.",
"type": "number"
},
"otherAnnualIncrease": {
"default": 0.03,
"description": "Annual growth rate for other expenses, as a fraction. Default 0.03.",
"type": "number"
},
"propertyManagementFeeRate": {
"default": 0.1,
"description": "Property management fee, as a fraction of gross rent (0-1). Default 0.10.",
"type": "number"
},
"purchasePrice": {
"description": "Property purchase price.",
"type": "number"
},
"rehabCosts": {
"default": 0,
"description": "Upfront rehab/improvement costs. Default 0.",
"type": "number"
},
"rentAnnualIncrease": {
"default": 0.03,
"description": "Annual rent growth rate, as a fraction. Default 0.03.",
"type": "number"
},
"saleExpensesRate": {
"default": 0.09,
"description": "Sale costs (agent commission, closing costs, etc.), as a fraction of sale price (0-1). Default 0.09.",
"type": "number"
},
"salePrice": {
"description": "Expected sale price at the end of the holding period.",
"type": "number"
},
"taxesAnnualIncrease": {
"default": 0.03,
"description": "Annual property tax growth rate, as a fraction. Default 0.03.",
"type": "number"
},
"vacancyRate": {
"default": 0.08,
"description": "Expected vacancy rate, as a fraction (0-1). Default 0.08.",
"type": "number"
}
},
"required": [
"purchasePrice",
"downPaymentPercent",
"interestRate",
"loanTermYears",
"monthlyRent",
"annualPropertyTaxes",
"annualInsurance",
"annualMaintenance",
"salePrice",
"holdingLengthYears"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}