> ## Documentation Index
> Fetch the complete documentation index at: https://developer.lofty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# search_listings

> Published listings by agent or office. Read-only at this layer.

<Info>**READ** · 2 operations · never changes data</Info>

Published listings by agent or office. Read-only at this layer — listing creation and maintenance isn't part of this API surface.

```js theme={null}
// scope=agent/office: JSON response.
search_listings({
  scope: "agent" | "office",
  filters?: { userId, listingId, mlsListingIds, street, limit, agentListings, officeListings,
              buildingName, buildingAddress, showCondition }
})

// scope=published: type is required, one of LuxVT / AptCom / AllOnMarket.
search_listings({ scope: "published", type })
```

<Note>
  `scope=published` returns that feed's own XML verbatim, not JSON — unlike `scope=agent`/
  `scope=office`, both of which return JSON. This is intentional: the underlying feed is an
  XML-only syndication export (`teamId`-scoped, not a global dump), and there's no plan to
  convert it to JSON — parse it as XML.
</Note>
