Home Valuation
Estimates a home's value from closed sales in the account's own MLS feeds. Send a `placeId` for an address or a `listingId` for a listing. A city or ZIP place returns a market overview instead.
/v1/home-valuationAuthentication
?key=pk_…Public key in the `key` query parameter. No OAuth, no secret.
Edge cache: public, max-age=300, s-maxage=3600, stale-while-revalidate=86400
Query Parameters
keystringThe site's public key (pk_…). It selects the account. Safe to ship to the browser.
listingIdstringMLS number of a listing the feeds hold. When present it wins over `placeId`, and `unit` is ignored.
placeIdstringPlace ID from `GET /v1/places/autocomplete`. Required when `listingId` is not sent.
unitstringUnit typed by the visitor, up to 16 characters of letters, digits, `#` and `-`.
sqftnumberLiving area in square feet, for a home the MLS has no record of.
bedsnumberBedrooms, for a home the MLS has no record of.
bathsnumberBathrooms, for a home the MLS has no record of.
typestringProperty subtype hint, for example `Condominium`.
Responses
application/jsonplaceobject | nullThe resolved Google place (`kind`, street, unit, city, ZIP, `coordinates` as [lng, lat], `formattedAddress`). Null for `listingId` requests.
valuationobject`kind` is `address` for one home or `area` for a city or ZIP overview. `estimate` is null when `reason` is set: `no-record`, `unit-required`, `not-enough-comps` or `missing-living-area`.
Errors
400Neither `placeId` nor `listingId` was sent, or `listingId`, `placeId` or `unit` has an invalid format.401Missing or invalid public key.403The account is not active. The body also has `code: "TENANT_INACTIVE"`.404The place or listing could not be resolved, or the account has no MLS data feed. A place lookup can fail once, so retry it once.429Too many requests. The limit is 60 per minute per visitor IP and account. `Retry-After` is 60 seconds.500Internal Server Error.Notes
- The estimate is a comparable-sales model over closed sales of the account's MLS feeds. It is not a third-party valuation and not an appraisal.
- Answers are cached for an hour per address. `comps` holds up to 12 comparables for an address.
curl --request GET \--url "https://api.pandaidx.com/v1/home-valuation?key={{public_key}}&listingId=A11855701"
{"place": null,"valuation": {"kind": "address","address": "1200 Brickell Bay Dr #2504, Miami, FL 33131","subject": {"listingId": "A11855701","address": "1200 Brickell Bay Dr","unitNumber": "2504","city": "Miami","kind": "condo","livingArea": 1180,"bedrooms": 2,"bathrooms": 2,"saleHistory": [{"listingId": "A10234567","closePrice": 610000,"closeDate": "2021-06-15"}],"standardStatus": "Active","listPrice": 725000},"estimate": {"value": 705000,"low": 668000,"high": 742000,"pricePerSf": 597,"confidence": "medium","compsUsed": 7},"market": {"scope": "building","label": "Bay Harbor Towers","months": 12,"sales": 23,"medianPricePerSf": 590,"p25PricePerSf": 540,"p75PricePerSf": 640,"trend": [{"period": "2026-Q2","medianPricePerSf": 588,"sales": 6}],"histogram": [{"binStart": 500,"binEnd": 550,"count": 4}]},"comps": [{"listingId": "A11602345","address": "1200 Brickell Bay Dr","unitNumber": "2204","closePrice": 698000,"closeDate": "2026-05-02","livingArea": 1180,"pricePerSf": 592,"distanceM": 0,"sameLine": true,"weight": 0.91}],"generatedAt": "2026-10-14T15:30:00.000Z"}}