# RealtorBH public API

Base URL: `https://realtor.bh/api/v1`

## List properties

`GET /listings`

Optional query parameters:

- `modified_since`: ISO 8601 date/time.
- `per_page`: 1–100; default 25.
- `page`: pagination page.

Only publicly visible, non-withdrawn records are returned. Responses use RESO standard field names where represented locally and Laravel pagination metadata.

## Get one property

`GET /listings/{internal-id}`

Invisible records return 404. Public access is limited to 60 requests per minute per user/IP by default. For partner syndication, add authenticated Sanctum abilities, contractual field filters and a partner-specific rate limit before issuing tokens.

## Administrative APIs

No public write endpoint is exposed. MLS pull/push operations run through authenticated server-side jobs and commands so MLS credentials never reach the browser.
