Rental property underwriting
Rental property underwriting: NOI, cap rate, monthly cash flow, cash-on-cash return, DSCR, gross rent multiplier and break-even occupancy from price and rent.
Answeringour last check, 2026-10-20
1 of 1checks answered this week
277 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
GET https://saylorinnovations.com/api/realestate/rental-analysis
| Category | Market data |
|---|---|
| Provider host | saylorinnovations.com |
| Networks | eip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-20 | valid payment request | 402 | $0.01 | 277 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"down_payment_percent": "20",
"insurance_annual": "1400",
"interest_rate_percent": "6.75",
"monthly_rent": "2400",
"price": "300000",
"property_tax_percent": "1.2"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"down_payment_percent": {
"description": "down payment in percent",
"type": "string"
},
"insurance_annual": {
"description": "optional yearly insurance, default 0.5% of price",
"type": "string"
},
"interest_rate_percent": {
"description": "mortgage rate in percent",
"type": "string"
},
"monthly_rent": {
"description": "expected monthly rent",
"type": "string"
},
"price": {
"description": "purchase price",
"type": "string"
},
"property_tax_percent": {
"description": "optional yearly tax as percent of price, default 1.1",
"type": "string"
}
},
"required": [
"price",
"down_payment_percent",
"interest_rate_percent",
"monthly_rent"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"annual_cash_flow": {
"description": "NOI minus debt service",
"type": "number"
},
"annual_debt_service": {
"description": "Twelve mortgage payments",
"type": "number"
},
"annual_operating_expenses": {
"description": "Tax, insurance, maintenance, management and HOA for a year",
"type": "number"
},
"breakeven_occupancy_percent": {
"description": "Occupancy needed to cover expenses and debt service",
"type": [
"number",
"null"
]
},
"cap_rate_percent": {
"description": "NOI divided by price, in percent",
"type": "number"
},
"cash_invested": {
"description": "Down payment plus closing costs and rehab",
"type": "number"
},
"cash_on_cash_return_percent": {
"description": "Annual cash flow divided by cash invested, in percent",
"type": [
"number",
"null"
]
},
"dscr": {
"description": "NOI divided by debt service; lenders usually want 1.25 or more",
"type": [
"number",
"null"
]
},
"effective_gross_income": {
"description": "Annual rent after vacancy",
"type": "number"
},
"expense_ratio_percent": {
"description": "Operating expenses as a percent of effective income",
"type": "number"
},
"gross_annual_rent": {
"description": "Rent at full occupancy for a year",
"type": "number"
},
"gross_rent_multiplier": {
"description": "Price divided by gross annual rent",
"type": [
"number",
"null"
]
},
"loan_amount": {
"description": "Mortgage principal after the down payment",
"type": "number"
},
"monthly_cash_flow": {
"description": "Annual cash flow divided by twelve",
"type": "number"
},
"monthly_mortgage_payment": {
"description": "Principal and interest payment",
"type": "number"
},
"net_operating_income": {
"description": "Income minus operating expenses, before debt service",
"type": "number"
},
"note": {
"description": "Plain-language caveat about how to read and use the result",
"type": "string"
},
"one_percent_rule_met": {
"description": "True when monthly rent is at least 1% of the price",
"type": "boolean"
},
"price": {
"description": "Purchase price used",
"type": "number"
},
"source": {
"description": "Where the data or formula comes from",
"type": "string"
},
"verdict": {
"description": "Plain-language summary of cash flow and coverage",
"type": "string"
}
},
"required": [
"cap_rate_percent",
"monthly_cash_flow"
],
"type": "object"
},
"type": {
"const": "json",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}