Get Listing Detail
Returns the public details of one listing by MLS number, with its photos in order. Agent-only fields are never included.
/v1/listings/:listingIdAuthentication
?key=pk_…Public key in the `key` query parameter. No OAuth, no secret.
Edge cache: no-store
Path Parameters
listingIdstringThe MLS number (`ListingId`) of the listing.
Query Parameters
keystringThe site's public key (pk_…). It selects the account. Safe to ship to the browser.
originatingSystemKeystringThe MLS feed the listing belongs to (`OriginatingSystemKey` of a search row). Send it when you have it: the same number can exist in two feeds.
viewenum`sheet` adds the extra public fields of the printable MLS sheet.
detaildetailsheetdetailLocaleenumAdds `detail`: the same listing formatted for display (labels, prices, fact groups, MLS compliance text) in this language. Unknown values fall back to English. Also fills `data.Localized` in that language.
enesbritrufrsrdecnplrotrlocalestringAdds `data.Localized` with the remarks and feature lists in this language: `en`, `es`, `br`, `pt`, `it`, `ru`, `fr`, `sr`, `de`, `cn`, `zh`, `pl`, `ro`, `tr` or `ar`. Defaults to `detailLocale`.
Responses
application/jsonmessagestring`Listing Found`.
dataobjectThe listing with its RESO fields and `photos`, an ordered list of photo URLs. `Localized` is added when a language is requested.
detailobjectOnly with `detailLocale`: `{ id, feed, title, address, price, estimatedPayment, beds, baths, livingArea, status, forSale, remarks, highlights, photos, coordinates, facts, compliance }`.
Errors
401Missing or invalid public key.403The account is not active. The body also has `code: "TENANT_INACTIVE"`.404Listing not found: it does not exist, belongs to a feed the account does not have, or the account has no MLS data feed.500Internal Server Error.Notes
- MLS compliance: an account without a data feed never sees another MLS's listings, so the answer is 404. When the MLS hides the address, the street fields are removed.
- The answer is not edge-cached. Cache it on your side.
- Show `detail.compliance` (the courtesy line and the MLS disclaimer) on every listing page.
- Agent-only fields come from `GET /v1/listings/:listingId/private`.
curl --request GET \--url "https://api.pandaidx.com/v1/listings/A11855701?key={{public_key}}&originatingSystemKey=miamire"
{"message": "Listing Found","data": {"_id": "6710a1b2c3d4e5f600000101","ListingId": "A11855701","OriginatingSystemKey": "miamire","OriginatingSystemName": "MIAMI Association of REALTORS","StandardStatus": "Active","PropertyType": "Residential","PropertySubType": "Condominium","ListPrice": 725000,"PreviousListPrice": 749000,"BedroomsTotal": 2,"BathroomsTotalInteger": 2,"LivingArea": 1180,"YearBuilt": 2016,"StreetNumber": "1200","StreetName": "Brickell Bay Dr","UnitNumber": "2504","City": "Miami","StateOrProvince": "FL","PostalCode": "33131","UnparsedAddress": "1200 Brickell Bay Dr #2504, Miami, FL 33131","BuildingName": "Bay Harbor Towers","PublicRemarks": "Bright corner unit with bay views and floor-to-ceiling windows.","ListOfficeName": "Example Realty Group","DaysOnMarket": 18,"AssociationFee": 1150,"WaterfrontYN": true,"InternetAddressDisplayYN": true,"Location": {"coordinates": [-80.1892,25.7651]},"photos": ["https://example.com/photos/A11855701/1.jpg","https://example.com/photos/A11855701/2.jpg"]}}