Docs
Sites APIProperties

List properties

The website's enabled properties as cards, in the website's order unless sorted. The same card the manifest carries. On a property website this is the one property. Sort keys: `name`, `order`. Tags: `site`, plus `property:{id}` and `inventory:{id}` for each property on the page. When a rent filter is used, anything whose price the property's display settings would hide is left out of the results, so a filter can never reveal a hidden price.

GET/api/sites/v1/properties

The website's enabled properties as cards, in the website's order unless sorted. The same card the manifest carries. On a property website this is the one property. Sort keys: name, order. Tags: site, plus property:{id} and inventory:{id} for each property on the page. When a rent filter is used, anything whose price the property's display settings would hide is left out of the results, so a filter can never reveal a hidden price.

Authorization

websiteToken
AuthorizationBearer <token>

A Sanctum token scoped to one website.

In: header

Query Parameters

q?string

Name contains.

group?string

Group id. Cascades to the group's descendants. Unknown id is a 404.

city?string

Exact, case-insensitive.

state?string

Exact, case-insensitive.

available?boolean

Only properties with (true) or without (false) an available unit.

beds?string

Bedroom counts, comma-separated. Matches a property with an enabled floor plan of that size.

min_rent?number

Budget floor. Matches a property with an available unit at or above it.

max_rent?number

Budget ceiling. Matches a property with an available unit at or below it.

near?string

latitude,longitude. A bounding box, not a great-circle radius.

radius?number

Kilometres for near. Default 25.

sort?string

Sort key, - prefix for descending, comma-separated for several. Allowed keys are listed per endpoint.

page?integer
Range1 <= value
Default1
per_page?integer
Range1 <= value <= 200
Default50

Header Parameters

X-Resi-Website?string

Website id. Overrides Host resolution for builds running where Host is meaningless. The token must still be scoped to this website.

If-None-Match?string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/sites/v1/properties"
{  "data": [    {      "id": "string",      "slug": "string",      "name": "string",      "path": "string",      "address": {        "street": "string",        "street_2": "string",        "city": "string",        "county": "string",        "state": "string",        "postal_code": "string",        "country": "string",        "formatted": "string"      },      "location": {        "lat": 0,        "lng": 0      },      "timezone": "string",      "image": {        "id": "string",        "url": "string",        "thumb_url": "string",        "title": "string",        "caption": "string",        "alt_text": "string",        "tags": [          "string"        ]      },      "phone": "string",      "rating": {        "average": 0,        "count": 0      },      "tags": [        "string"      ],      "units_count": 0,      "available_units_count": 0,      "floor_plans_count": 0,      "rent": {        "min": 0,        "max": 0,        "base_min": 0,        "base_max": 0      },      "pricing_display": {        "mode": "string",        "hidden_price_label": "string",        "no_availability_price_label": "string",        "no_price_label": "string",        "total_price_label": "string"      }    }  ],  "meta": {    "pagination": {      "total": 0,      "page": 0,      "per_page": 0,      "last_page": 0    },    "cache": {      "tags": [        "string"      ],      "ttl": 0    }  }}