LLM-powered room-by-room renovation cost breakdown
POST /api/properties/renovation-cost-breakdown/
5 credits
What it returns
An itemized room-by-room renovation cost breakdown powered by a multimodal LLM analyzing the property's images plus its size/feature metadata. Returns per-room scope, material/labor split, and total cost — significantly more detailed than the top-level renovation-cost aggregate.
When to use it
- Generate detailed scope-of-work documents from photos.
- Underwrite specific renovation strategies.
- Show investor clients exactly where the money goes.
Pricing
5 credits.
Request
Provide ONE input mode:
- property_id — we pull the listing images and metadata for it.
- property_address — we resolve the property server-side.
- Your own photos — the full property object (address, total_sqft, bedrooms, bathrooms) plus an images array of URLs, or a multipart/form-data upload with repeated images file fields (JPEG/PNG/WebP) alongside property_id/property_address.
At most 30 images are analyzed per request; extras are ignored. Analyses of your own photos are private: they always run fresh, are never served from or written to the shared per-property cache, and never change the property's stored condition.
FAQ
Can I send my own photos?
Yes, two ways: a JSON images array of http(s) URLs, or a multipart/form-data upload with repeated images file fields (JPEG/PNG/WebP). Pair them with the property object (or property_id/property_address). At most 30 images are analyzed per request; extras are ignored. Your photos stay private — the analysis always runs fresh and never touches the shared per-property cache or the property's stored condition.
Can I force a fresh LLM analysis (bypass cache)?
Yes — set force_refresh: true in the request body. Bypasses the per-property cache.
What LLM is used?
A multimodal model tuned for construction-cost estimation. Outputs are in domain terms (rooms, materials, line-items) and stable across model swaps.
Responses
200400— Bad request — a required parameter is missing or failed validation. Costs 0 credits.401— Authentication failed — missing or invalid API key. Costs 0 credits.402— Payment required — no active subscription or insufficient credit balance. Costs 0 credits.404— Not found — the address could not be confidently matched to a single property. The body includes a did_you_mean array of suggested addresses (each with an mpr_id) to show the user and retry with; an empty array means no close match. Costs 0 credits.502
More in AI-Powered Analysis
- Composite full property report — everything aggregated —
GET /api/properties/full-report/
The most comprehensive property analysis endpoint — aggregates 11 internal sources into a single response with 292 data fields. - AI-derived property condition score from listing photos —
GET /api/properties/property-condition/
An AI condition assessment for a US residential property — overall condition category (Excellent/Good/Fair/Poor), confidence score, per-room breakdown when photos are available, and any flags (water damage, deferred maintenance signals). - Property condition analysis with your own photos —
POST /api/properties/property-condition-custom-photos/
An overall property-condition rating and confidence score, combining a database lookup with AI vision analysis of property photos you supply. - AI-powered square-footage breakdown by floor —
GET /api/properties/sqft-per-floor/
Per-floor square-footage distribution for a US residential property, derived from a multi-stage AI analysis (photo/room detection, architectural-style inference, and multi-method validation). - Comparable sold properties (comps) for a subject property —
GET /api/properties/comps/
A ranked list of comparable sold properties within a search radius of the subject — each comp scored on similarity (size, beds/baths, year built, distance, condition delta) with the sale price and date. - Local market outlook (buyer's/balanced/seller's) for a ZIP —
GET /api/properties/market-outlook/
A composite Market Outlook score (0-100) classifying a ZIP code as a buyer's market (<40), balanced (40-60), or seller's market (>60). - Solar potential + AI roof condition for a property —
GET /api/solar/analysis/
Two coupled analyses in one call: