---
title: "Search properties"
url: "https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78/operations/searchProperties"
---

> Full API specification: https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78.md

# Search properties

`GET` `/properties`

Operation ID: `searchProperties`

Search the catalogue by text, destination, country, city, brand, star rating, amenities or distance. When `latitude`/`longitude` are given, results are sorted by distance and include `distance_km`.

## Query parameters

- `q` (string, optional) - Matches property name or city.
- `destination` (string, optional)
- `country` (string, optional) - ISO 3166-1 alpha-2.
- `city` (string, optional)
- `brand` (string, optional)
- `min_star_rating` (integer, optional)
- `amenities` (string, optional) - Comma-separated amenity codes; properties must have **all** of them.
- `latitude` (number, optional)
- `longitude` (number, optional)
- `radius_km` (number, optional) - Defaults to 25.
- `per_page` (integer, optional)
- `cursor` (string, optional) - Opaque cursor from `meta.next_cursor` / `links.next`.

## Responses

- `200` - A page of properties.
- `422` - Invalid input or a booking rule violation.
- `429` - Rate limit exceeded.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Kong Hotels Partner API
  version: 1.0.0
servers:
  - url: https://api.konghotels.cloud
    description: Kong Gateway
paths:
  /properties:
    get:
      tags:
        - Properties
      operationId: searchProperties
      summary: Search properties
      description: >
        Search the catalogue by text, destination, country, city, brand, star
        rating, amenities or

        distance. When `latitude`/`longitude` are given, results are sorted by
        distance and include

        `distance_km`.
      parameters:
        - name: q
          in: query
          description: Matches property name or city.
          schema:
            type: string
            maxLength: 100
        - name: destination
          in: query
          schema:
            type: string
            examples:
              - london
        - name: country
          in: query
          description: ISO 3166-1 alpha-2.
          schema:
            type: string
            minLength: 2
            maxLength: 2
            examples:
              - JP
        - name: city
          in: query
          schema:
            type: string
        - name: brand
          in: query
          schema:
            $ref: "#/components/schemas/BrandCode"
        - name: min_star_rating
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 5
        - name: amenities
          in: query
          description: Comma-separated amenity codes; properties must have **all** of them.
          schema:
            type: string
            examples:
              - spa,pool_indoor
        - name: latitude
          in: query
          schema:
            type: number
            minimum: -90
            maximum: 90
        - name: longitude
          in: query
          schema:
            type: number
            minimum: -180
            maximum: 180
        - name: radius_km
          in: query
          description: Defaults to 25.
          schema:
            type: number
            minimum: 0.1
            maximum: 500
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Cursor"
      responses:
        "200":
          description: A page of properties.
          headers:
            X-Request-ID:
              $ref: "#/components/headers/RequestId"
            X-RateLimit-Limit:
              $ref: "#/components/headers/RateLimitLimit"
            X-RateLimit-Remaining:
              $ref: "#/components/headers/RateLimitRemaining"
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/CursorPage"
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: "#/components/schemas/Property"
        "422":
          $ref: "#/components/responses/ValidationFailed"
        "429":
          $ref: "#/components/responses/RateLimited"
security:
  - KongKeyAuth: []
  - KongConsumer: []
components:
  schemas:
    BrandCode:
      type: string
      enum:
        - kong-summit
        - kong-tower
        - kong-lagoon
        - kong-canopy
        - kong-basecamp
    CursorPage:
      type: object
      properties:
        links:
          type: object
          properties:
            first:
              type:
                - string
                - "null"
            last:
              type:
                - string
                - "null"
            prev:
              type:
                - string
                - "null"
            next:
              type:
                - string
                - "null"
        meta:
          type: object
          properties:
            path:
              type: string
            per_page:
              type: integer
            next_cursor:
              type:
                - string
                - "null"
            prev_cursor:
              type:
                - string
                - "null"
    Property:
      type: object
      properties:
        code:
          type: string
          examples:
            - KTNYC
        name:
          type: string
          examples:
            - Kong Tower Manhattan
        brand:
          type: object
          properties:
            code:
              $ref: "#/components/schemas/BrandCode"
            name:
              type: string
              examples:
                - Kong Tower
            segment:
              type: string
              examples:
                - upper_upscale
        star_rating:
          type: integer
          minimum: 1
          maximum: 5
        destination_code:
          type: string
        description:
          type: string
        address:
          type: object
          properties:
            line1:
              type: string
            line2:
              type:
                - string
                - "null"
            city:
              type: string
            state_province:
              type:
                - string
                - "null"
            postal_code:
              type:
                - string
                - "null"
            country_code:
              type: string
        location:
          $ref: "#/components/schemas/Location"
        distance_km:
          type: number
          description: Only when searching by coordinates.
        contact:
          type: object
          properties:
            phone:
              type: string
            email:
              type: string
              format: email
        currency:
          type: string
          examples:
            - USD
        timezone:
          type: string
        check_in_time:
          type: string
          examples:
            - 16:00
        check_out_time:
          type: string
          examples:
            - 11:00
        review_score:
          type: number
          description: Average overall rating
          1–10.: null
        review_count:
          type: integer
        amenities:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                examples:
                  - rooftop_terrace
              name:
                type: string
              category:
                type: string
        hero_photo:
          $ref: "#/components/schemas/Photo"
        room_types:
          type: array
          description: Only on the property detail endpoint.
          items:
            $ref: "#/components/schemas/RoomType"
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
            room_types:
              type: string
              format: uri
            availability:
              type: string
              format: uri
    Location:
      type: object
      properties:
        latitude:
          type: number
        longitude:
          type: number
    Photo:
      type: object
      properties:
        url:
          type: string
          format: uri
        caption:
          type: string
        category:
          type: string
          examples:
            - exterior
            - lobby
            - room
            - pool
        room_type_code:
          type:
            - string
            - "null"
        width:
          type: integer
        height:
          type: integer
    RoomType:
      type: object
      properties:
        code:
          type: string
          examples:
            - TWRK
        name:
          type: string
          examples:
            - Tower King
        description:
          type: string
        occupancy:
          type: object
          description: Limits per room. Every room needs at least one adult.
          properties:
            max_occupancy:
              type: integer
            max_adults:
              type: integer
            max_children:
              type: integer
        bed_configuration:
          type: string
          examples:
            - 1 king
        size_sqm:
          type: integer
        view:
          type:
            - string
            - "null"
        is_accessible:
          type: boolean
        is_smoking:
          type: boolean
        amenities:
          type: array
          items:
            type: string
        photos:
          type: array
          items:
            $ref: "#/components/schemas/Photo"
    ValidationProblem:
      allOf:
        - $ref: "#/components/schemas/Problem"
        - type: object
          properties:
            errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
            restrictions:
              type: array
              items:
                type: string
    Problem:
      type: object
      description: RFC 9457 problem details. Extra members (e.g. `available_units`,
        `restrictions`, `reasons`) may be present.
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type: string
        request_id:
          type: string
      additionalProperties: true
  parameters:
    PerPage:
      name: per_page
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
    Cursor:
      name: cursor
      in: query
      description: Opaque cursor from `meta.next_cursor` / `links.next`.
      schema:
        type: string
  headers:
    RequestId:
      description: Correlation ID for support.
      schema:
        type: string
    RateLimitLimit:
      description: Requests allowed per minute in this bucket.
      schema:
        type: integer
    RateLimitRemaining:
      description: Requests left in the current window.
      schema:
        type: integer
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  responses:
    ValidationFailed:
      description: Invalid input or a booking rule violation.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/ValidationProblem"
          examples:
            validation:
              value:
                type: https://developers.konghotels.example/problems/validation-failed
                title: Validation failed
                status: 422
                detail: One or more fields are invalid.
                instance: /quotes
                request_id: 7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b
                errors:
                  check_out:
                    - The check out field must be a date after check in.
            bookingRule:
              value:
                type: https://developers.konghotels.example/problems/booking-rule-violation
                title: Booking rule violation
                status: 422
                detail: Rate plan ADV cannot be sold for these dates.
                instance: /quotes
                request_id: 8f7e6d5c-4b3a-4f2e-9d1c-0b9a8f7e6d5c
                restrictions:
                  - min_advance_purchase
    RateLimited:
      description: Rate limit exceeded.
      headers:
        Retry-After:
          $ref: "#/components/headers/RetryAfter"
        X-RateLimit-Limit:
          $ref: "#/components/headers/RateLimitLimit"
        X-RateLimit-Remaining:
          $ref: "#/components/headers/RateLimitRemaining"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://developers.konghotels.example/problems/rate-limited
            title: Too many requests
            status: 429
            detail: Rate limit exceeded. Retry after the number of seconds in the
              Retry-After header.
            instance: /availability
            request_id: 5b4a3f2e-1d0c-4b9a-8f7e-6d5c4b3a2f1e
  securitySchemes:
    KongKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: Your API key, validated by Kong Gateway. The header name depends on
        the gateway's key-auth configuration.
    KongConsumer:
      type: apiKey
      in: header
      name: X-Consumer-ID
      description: "**Local development only.** Simulates the consumer identity Kong
        Gateway injects after authentication."
```
