Skip to main content

Base URL

All API requests use the following base URL:
https://borough.qwady.com/v1

Authentication

Include your API key in the Authorization header:
Authorization: Bearer BOROUGH_...
Free-tier endpoints (search, areas) work without authentication but are subject to stricter rate limits. See Authentication for details.

Response format

Every endpoint returns a consistent JSON envelope:
{
  "data": { ... },
  "meta": {
    "dataAge": "2m",
    "source": "cache",
    "freshnessThreshold": "30m",
    "refreshTriggered": false
  }
}
Paginated endpoints include additional fields in meta:
{
  "data": [ ... ],
  "meta": {
    "total": 342,
    "page": 1,
    "perPage": 25,
    "dataAge": "5m",
    "source": "cache",
    "links": {
      "self": "/v1/search/rentals?page=1&perPage=25",
      "first": "/v1/search/rentals?page=1&perPage=25",
      "last": "/v1/search/rentals?page=14&perPage=25",
      "next": "/v1/search/rentals?page=2&perPage=25"
    }
  }
}

Endpoint groups

Error handling

All errors follow a consistent format. See Errors for the full reference.
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Listing not found",
    "status": 404
  }
}