Scoring

Underwrite a property

Send one address to get its valuation, maximum allowable offer and supporting sales.

Send the address

Save your API key, the credential that identifies you, in INVESTORLIFT_API_KEY. Your account is the record that owns your keys and the money you add. The API keys guide explains how to create one.

Send the property's full street address to POST /v1/predict. Set your client timeout to at least 30 seconds. These examples use the default options.

curl https://api.investorliftdata.com/v1/predict \ --request POST --max-time 30 \ --header "Authorization: Bearer $INVESTORLIFT_API_KEY" \ --header "Content-Type: application/json" \ --data '{"address": "1026 N Beckley Ave, Dallas, TX 75203"}'

Choose optional inputs

OptionWhat it changes
conditionSets a repair bracket; omitted means turn_key, with no repairs. Tear-downs are refused.
rehab_budgetSupplies your repair budget in whole dollars instead of the condition bracket.
target_marginSets the profit margin as a fraction of the repaired value.
overridesSupplies six supported property facts in place of the county record.

Use your own numbers explains limits, precedence and factual overrides. The reference lists the accepted inputs.

Read the answer

Show the full response (145 lines)
JSONFull response
{ "comps": [ { "sqft": 2080, "lotsize": 6500, "bedrooms": 6, "bathrooms": 2, "sale_date": "2024-12-03", "sale_price": 246641, "year_built": 1945, "address_zip": "75203", "property_id": "00000000000000000000000000000001", "address_city": "Dallas", "address_state": "TX", "property_type": "Single Family", "address_street": "523 N Marsalis Ave", "distance_miles": 0.4, "similarity_rank": 1, "price_per_square_foot": 119 }, { "sqft": 1400, "lotsize": 7025, "bedrooms": 3, "bathrooms": 1, "sale_date": "2026-05-08", "sale_price": 234999, "year_built": 1930, "address_zip": "75203", "property_id": "00000000000000000000000000000001", "address_city": "Dallas", "address_state": "TX", "property_type": "Single Family", "address_street": "102 E 5th St", "distance_miles": 0.09, "similarity_rank": 2, "price_per_square_foot": 168 }, { "sqft": 1787, "lotsize": 6678, "bedrooms": 4, "bathrooms": 2, "sale_date": "2025-03-05", "sale_price": 503139, "year_built": 1945, "address_zip": "75208", "property_id": "00000000000000000000000000000001", "address_city": "Dallas", "address_state": "TX", "property_type": "Single Family", "address_street": "818 Elsbeth St", "distance_miles": 0.24, "similarity_rank": 3, "price_per_square_foot": 282 } ], "comp_band": { "low": 388634, "high": 942020, "median": 571412 }, "cost_stack": { "loan": 331200, "points": 6624, "interest": 6533, "hold_days": 60, "down_payment": 82800, "closing_costs": 29562, "target_profit": 114282 }, "rehab_budget": 0, "target_margin": 0.2, "valuation_mean": 1016099, "subject_property": { "facts": { "bathrooms": { "value": 2, "source": "county-record" }, "year_built": { "value": 1935, "source": "county-record" }, "square_feet": { "value": 2047, "source": "county-record" }, "property_type": { "value": "Single Family", "source": "county-record" }, "lot_size_square_feet": { "value": 7100, "source": "county-record" } }, "address": { "zip": "75203", "city": "Dallas", "state": "TX", "street": "1026 N Beckley Ave" }, "property_id": "00000000000000000000000000000001", "address_quality": { "code": "zip-confirmed", "statement": "The house number matched exactly one county record, and that record sits in the same ZIP code your address resolved to. Check the address and property facts in this block before relying on these numbers." }, "outside_model_range": { "flagged": false, "reasons": [] } }, "as_is_similar_band": { "basis": "all-comparable-sales", "statement": "Too few comparable sales passed the size, age and recency filter this service applies to state a similar-sales range, so this price-per-square-foot range covers every comparable sale below that carries a usable sale price and square footage. `qualifying_sales` is how many passed the filter and fell short.", "qualifying_sales": 1, "price_per_square_foot": { "low": 190, "high": 460, "median": 279 } }, "rehab_adjusted_arv": 571000, "max_allowable_offer": { "amount": 414000, "clamped": false }, "valuation_quantiles": { "0.02": 191787, "0.10": 345336, "0.20": 476815, "0.30": 598093, "0.40": 733771, "0.50": 878872, "0.60": 1110818, "0.70": 1417051, "0.80": 1988162, "0.90": 3615373, "0.98": 15505619 }, "effective_sample_size": 51.04950714111328, "model_estimate_available": true, "pricing_model_arv_estimate": 1417000 }

Read these five headline members in order:

MemberWhat to read
subject_propertyCheck the resolved house, its facts and their sources.
comp_bandRead the value range implied by recorded comparable sales.
rehab_budgetCheck the repair budget actually used.
max_allowable_offerRead the investor's purchase ceiling alongside max_allowable_offer.clamped.
cost_stackRead the costs and target profit behind that ceiling.

When max_allowable_offer.clamped is true, no purchase price clears the target margin. Do not show the amount as an offer.

Successful answers always include subject_property and model_estimate_available. Other members can be absent; the five headline members are not all required. Without comp_band, the repaired value, target margin, maximum allowable offer and cost stack are absent.

The captured answer above uses only the address, with a zero repair budget and the default margin. Its three displayed comparable sales are a retained sample; their count does not reconstruct every aggregate.

Next steps

Last modified on