Docs navigation
analyze_deal FREE
The core tool: a full underwrite of one property under one strategy. Returns the 0β100 deal score, the strategy's headline metrics (the same ones the REIzer analyzer screens show), stress-test scenarios with verdicts, break-even thresholds, and a shareable 30-day report_url.
| Argument | Description | |
|---|---|---|
strategy | required | One of ltr, str, brrr, multifamily, flip, newc. |
inputs | required | Deal inputs in camelCase engine keys. Minimum: price plus the income driver (see the strategy table below). Rates and percents are fractions β 0.0675, never 6.75. Omitted operating inputs get documented defaults, and the response lists them under assumptions.estimated_fields. |
analyze_deal({
"strategy": "ltr",
"inputs": { "price": 285000, "marketRent": 3100,
"downPct": 0.25, "rate": 0.0675, "term": 30,
"closing": 6000, "vacancyPct": 0.05,
"taxes": 3200, "insurance": 1500,
"mgmtPct": 0.08, "maintPct": 0.05, "capexPct": 0.05 }
}){
"score": 96, "verdict": "Strong",
"metrics": { "monthly_cash_flow": 636.85, "dscr": 1.4594,
"cap_rate": 0.0852, "cash_on_cash": 0.0989, β¦ },
"stress": [ 7 scenarios, each with a verdict ],
"thresholds": { "break_even_rent": 2282.47, "max_rate": 0.0878, β¦ },
"summary": "Strong (96/100). $637/mo cash flow, DSCR 1.46, β¦",
"report_url": "https://reizer.io/report.html?id=β¦"
}best_use FREE
One property, every angle. Send a superset of inputs; REIzer runs every strategy the property qualifies for and ranks them by score. Strategies missing their required inputs are listed under skipped with the reason.
| Argument | Description | |
|---|---|---|
inputs | required | One property's inputs across strategies β e.g. price, marketRent, adr + occupancy, rehabBudget, arv, units. |
"best_use": "ltr" "ranked": 1. ltr 91 Strong 2. str 77 Strong 3. brrr 29 Weak 4. flip 5 Weak "skipped": multifamily, newc (missing unit / land inputs)
solve_max_offer FREE
Works backwards: instead of "is this price good?", it answers "what's the most I can pay?" β a binary search over the real engine, not a rule-of-thumb formula. Each strategy has sensible default targets; override any of them.
| Argument | Description | |
|---|---|---|
strategy | required | Strategy to solve under. |
inputs | required | Deal inputs. price is optional β the asking price or ARV anchors the price-derived defaults. |
targets | optional | Target overrides, e.g. {"monthlyCF": 400, "cocReturn": 0.08}. Rentals default to cash-on-cash β₯ 8%, DSCR β₯ 1.2, cash flow β₯ $0; flips to after-tax margin β₯ 10% and annualized ROI β₯ 15%; BRRRR adds capital recovery β₯ 80%. |
// same inputs as above, with targets { monthlyCF: 400, cocReturn: 0.08 } "mao": 303657 "binding_constraint": { "label": "cash-on-cash return", "target": 0.08 } "metrics_at_mao": { "monthlyCF": 546.10, "dscr": 1.3697, "cocReturn": 0.08 } "ceilings_per_target": { "cocReturn": 303657, "dscr": 346599, "monthlyCF": 333691 }
list_strategies FREE
Machine-readable discovery: every strategy with its required and optional inputs and their meanings. AI clients call this first when unsure what a strategy needs β no arguments.
pull_comps API KEY
Real comparables from licensed data β the same feed as the in-app comps panel. Returns comparable sales (with a value estimate and range), rental comps (with a rent estimate), and ZIP-level market stats. Counts against the account's monthly property-comp allowance.
| Argument | Description | |
|---|---|---|
street | required | Street address incl. house number, e.g. "812 7th St SE". |
city | required | City name. |
state | required | Two-letter state, e.g. "TX". |
zip | optional | ZIP code β disambiguates the address when a street name repeats in a metro. |
saleCount | optional | Comparable sales to return (default 10). |
rentCount | optional | Rental comps to return (default 10). |
{
"sales": { "value", "valueRange": {low, high}, "medianPrice", "medianPpsf",
"rows": [ {address, beds, baths, sqft, yearBuilt, price,
pricePerSqft, saleDate, distanceMi, β¦} ] },
"rentals": { "rent", "rentRange", "medianRent", "rows": [ β¦ ] },
"market": { "zip", "saleMedianPrice", "saleMedianDom", "saleYoyChange",
"rentMedianPrice", "rentYoyChange", "saleHistory", β¦ }
}str_market_data API KEY
Short-term-rental market performance for a location: nearby STR listings with ADR, occupancy, and revenue quartiles. Needs coordinates β your AI geocodes the address first. Counts against the monthly STR-comp allowance.
| Argument | Description | |
|---|---|---|
latitude | required | Subject latitude. |
longitude | required | Subject longitude. |
bedrooms | optional | Bedrooms filter (default 2). |
baths | optional | Bathrooms filter. |
guests | optional | Guest-capacity filter. |
Strategy input cheat-sheet
What analyze_deal minimally needs per strategy (everything else defaults, labeled in the response):
| Strategy | Required inputs | Analyzes |
|---|---|---|
ltr | price, marketRent | Long-term rental: cash flow, DSCR, cap rate, 10-yr projection |
str | price, adr, occupancy | Short-term rental: revenue, break-even occupancy, levers |
brrr | price, rehabBudget, marketRent, arv | BRRRR: refi scenarios, capital recovery, post-refi cash flow |
multifamily | price, units | Rent-roll driven: NOI, value-add lift, per-unit economics |
flip | price, rehabBudget, arv | Fix-n-flip: after-tax profit, 70% rule, break-even sale |
newc | landPrice, livingSqft, buildPsf, btsArv | New construction: build-to-sell vs build-to-rent head-to-head |