Listings widget
Show your brokerage's listings on your own website. A brokerage admin creates the key and names the sites in Console, Website widget.
- Rule
- What shows
- What it means
- Your brokerage's homes that are Active or Pending and publicly marketed, newest change first, up to 60.
- Rule
- What never shows
- What it means
- Members only and Coming Soon homes, closed or withdrawn homes, and anything in a sandbox.
- Rule
- Allowed domains
- What it means
- Up to 10 per key: example.com, www.example.com, or *.example.com for its subdomains. Naming example.com also allows www.example.com, and the other way round. Shared suffixes such as *.co.uk or *.github.io are refused. https only; localhost works while building.
- Rule
- The key
- What it means
- Public by design: it sits in your page source and reads only what you already market. Revoke it in the console and every site using it stops.
- Rule
- Photos
- What it means
- Signed links that stop working as soon as a home leaves the public feed.
- Rule
- Each home
- What it means
- Links to its official listing page on ListOnce, in a new tab.
- Rule
- Rate limits
- What it means
- 120 requests a minute per visitor address, 3,000 a minute per key. Over that, 429 for the rest of the minute.
Script
Draws a card grid that fits the width of its container, inside a shadow root so the styles of your page and ours stay apart. Put the div where the listings go; more than one div per page works.
<div data-listonce-widget="olw_xxxxxxxxxxxxxxxxxxxxxxxx"></div> <script src="https://listonce.io/widget.js" async></script>
Iframe
For site builders that do not allow scripts. The widget sends frame-ancestors with your allowed domains, so browsers refuse to show it on any other site.
<iframe src="https://listonce.io/w/olw_xxxxxxxxxxxxxxxxxxxxxxxx" title="Our listings" loading="lazy" style="width:100%;height:760px;border:0"></iframe>
JSON
The script reads GET /api/widget/listings?key=…. It answers only browser pages on an allowed domain: CORS echoes your origin once it is on the list, and a request with neither Origin nor Referer gets 403. A script outside a browser can send any Origin it likes, so these checks stop other websites, not scrapers; the key only ever reads homes you already market publicly. For anything beyond the widget, use the API with a key of your own.
{
"brokerage": "Northgate Homes Group",
"listings": [
{
"key": "OL-5RB2NH",
"status": "Active",
"price": 512000,
"street": "1902 Mesquite Bend",
"city": "Phoenix",
"state": "AZ",
"zip": "85022",
"beds": 3,
"baths": 2,
"sqft": 1760,
"tint": 0,
"photo": "https://listonce.io/m/OLP-XXXXXXXXXX.jpg?a=p&e=...&s=...",
"url": "https://listonce.io/l/OL-5RB2NH"
}
]
}- Status
- 403
- When
- The page is not on the key's allowed domains
- Status
- 404
- When
- No such key, or it was revoked
- Status
- 429
- When
- Over a rate limit; try again next minute