ToolAssay

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

CategoryMarket data
Provider hostsaylorinnovations.com
Networkseip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
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"
}

This page as JSON