> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anysite.io/llms.txt
> Use this file to discover all available pages before exploring further.

# /midland/estates/search

> Search Hong Kong residential estates (屋苑) indexed by Midland Realty. Filters cover free text, estate name matching and exclusion, explicit estate ids, whether phases are merged or listed separately, ownership class, curated themes, developer, the eight-level geography, street and MTR station with walking time, primary school net, universities, average price per gross or saleable area unit, building age, estate facility groups, special unit features and required nearby amenities, plus ordering by price, deal volume, deal value or building age. Each estate carries live sale and rental listing counts, total units and blocks, the developer, occupation date, the saleable-area price with month-on-month change, the last twelve monthly average prices, yearly deal count, amount and price change, the geography chain, coordinates, walkable amenities, the primary school net and whether the estate is a component of the Midland Property Price Index.

**Price:** 1 credit



## OpenAPI

````yaml /openapi/real-estate.json post /api/midland/estates/search
openapi: 3.1.0
info:
  title: Any Site API
  description: >+
    Any Site API provides programmatic access to data from LinkedIn, Instagram,
    Twitter, and other platforms.


    ## Authentication


    All API endpoints require an `access-token` header with a valid API token.
    Tokens can be created in the [dashboard](https://app.anysite.io/).


    ## Pricing


    Each endpoint has a credit cost listed in its description. Credits are
    deducted from your token balance per request.

  version: 0.0.1
servers: []
security:
  - AccessToken: []
paths:
  /api/midland/estates/search:
    post:
      tags:
        - /midland
      summary: /midland/estates/search
      description: >-
        Search Hong Kong residential estates (屋苑) indexed by Midland Realty.
        Filters cover free text, estate name matching and exclusion, explicit
        estate ids, whether phases are merged or listed separately, ownership
        class, curated themes, developer, the eight-level geography, street and
        MTR station with walking time, primary school net, universities, average
        price per gross or saleable area unit, building age, estate facility
        groups, special unit features and required nearby amenities, plus
        ordering by price, deal volume, deal value or building age. Each estate
        carries live sale and rental listing counts, total units and blocks, the
        developer, occupation date, the saleable-area price with month-on-month
        change, the last twelve monthly average prices, yearly deal count,
        amount and price change, the geography chain, coordinates, walkable
        amenities, the primary school net and whether the estate is a component
        of the Midland Property Price Index.


        **Price:** 1 credit
      operationId: __api_midland_estates_search_post
      parameters:
        - name: access-token
          in: header
          required: true
          schema:
            anyOf:
              - type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MidlandEstatesSearchPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MidlandEstateCard'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MidlandEstatesSearchPayload:
      properties:
        timeout:
          type: integer
          maximum: 1500
          minimum: 20
          default: 300
        lang:
          $ref: '#/components/schemas/MidlandLang'
          default: zh-hk
        unit:
          $ref: '#/components/schemas/MidlandUnit'
          default: feet
        currency:
          $ref: '#/components/schemas/MidlandCurrency'
          default: HKD
        min_building_age:
          anyOf:
            - type: integer
              maximum: 999
              minimum: 0
            - type: 'null'
        max_building_age:
          anyOf:
            - type: integer
              maximum: 999
              minimum: 0
            - type: 'null'
        count:
          type: integer
          maximum: 10000
          minimum: 1
        text:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        estate_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        exclude_estate_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        estate_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        exclude_estate_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        include_phases:
          anyOf:
            - type: boolean
            - type: 'null'
        property_types:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandEstateType'
              type: array
            - type: 'null'
        categories:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandEstateCategory'
              type: array
            - type: 'null'
        developer:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        sort:
          $ref: '#/components/schemas/MidlandEstateSort'
          default: default
        region_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        subregion_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        district_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        sm_district_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        combined_district_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        int_district_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        int_sm_district_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        street_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        mtr_ids:
          anyOf:
            - items:
                type: string
                minLength: 1
              type: array
            - type: 'null'
        walking_duration:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
        school_net:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        university_ids:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandUniversity'
              type: array
            - type: 'null'
        min_net_ft_price:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
        max_net_ft_price:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
        min_ft_price:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
        max_ft_price:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
        facility_groups:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandFacilityGroup'
              type: array
            - type: 'null'
        garden_features:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandEstateGardenFeature'
              type: array
            - type: 'null'
        nearby_facilities:
          anyOf:
            - items:
                $ref: '#/components/schemas/MidlandNearbyFacility'
              type: array
            - type: 'null'
      type: object
      required:
        - count
    MidlandEstateCard:
      properties:
        '@type':
          type: string
          default: MidlandEstateCard
        id:
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
        url:
          anyOf:
            - type: string
            - type: 'null'
        is_hos:
          anyOf:
            - type: boolean
            - type: 'null'
        developer:
          anyOf:
            - type: string
            - type: 'null'
        first_op_at:
          anyOf:
            - type: integer
            - type: 'null'
        image:
          anyOf:
            - type: string
            - type: 'null'
        sell_count:
          anyOf:
            - type: integer
            - type: 'null'
        rent_count:
          anyOf:
            - type: integer
            - type: 'null'
        total_unit_count:
          anyOf:
            - type: integer
            - type: 'null'
        total_block_count:
          anyOf:
            - type: integer
            - type: 'null'
        primary_school_net:
          anyOf:
            - type: string
            - type: 'null'
        is_index_component:
          anyOf:
            - type: boolean
            - type: 'null'
        index_net_ft_price:
          anyOf:
            - type: number
            - type: 'null'
        index_net_ft_price_change_percent:
          anyOf:
            - type: number
            - type: 'null'
        parent_estate_id:
          anyOf:
            - type: string
            - type: 'null'
        parent_estate_name:
          anyOf:
            - type: string
            - type: 'null'
        market_stat:
          anyOf:
            - $ref: '#/components/schemas/MidlandMarketStat'
            - type: 'null'
        monthly_prices:
          items:
            $ref: '#/components/schemas/MidlandEstateMonthlyPrice'
          type: array
          default: []
        yearly_transaction_count:
          anyOf:
            - type: integer
            - type: 'null'
        yearly_transaction_amount:
          anyOf:
            - type: number
            - type: 'null'
        yearly_net_ft_price:
          anyOf:
            - type: number
            - type: 'null'
        yearly_net_ft_price_change_percent:
          anyOf:
            - type: number
            - type: 'null'
        geo:
          anyOf:
            - $ref: '#/components/schemas/MidlandGeo'
            - type: 'null'
        location:
          anyOf:
            - $ref: '#/components/schemas/MidlandLocation'
            - type: 'null'
        amenities:
          items:
            $ref: '#/components/schemas/MidlandAmenity'
          type: array
          default: []
        sale_listings_url:
          anyOf:
            - type: string
            - type: 'null'
        rent_listings_url:
          anyOf:
            - type: string
            - type: 'null'
        transaction_history_url:
          anyOf:
            - type: string
            - type: 'null'
      type: object
      required:
        - id
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    MidlandLang:
      type: string
      enum:
        - zh-hk
        - zh-cn
        - en
    MidlandUnit:
      type: string
      enum:
        - feet
        - meter
    MidlandCurrency:
      type: string
      enum:
        - HKD
        - CNY
    MidlandEstateType:
      type: string
      enum:
        - private
        - hos
        - tps
    MidlandEstateCategory:
      type: string
      enum:
        - pet
        - university
        - northern_metro
        - above_mtr
    MidlandEstateSort:
      type: string
      enum:
        - default
        - tx_count_desc
        - tx_amount_desc
        - bldg_age
        - bldg_age_desc
        - net_ft_price
        - net_ft_price_desc
    MidlandUniversity:
      type: string
      enum:
        - U01
        - U02
        - U03
        - U04
        - U05
        - U06
        - U07
        - U08
        - U09
        - U10
        - U11
        - U12
        - U13
    MidlandFacilityGroup:
      type: string
      enum:
        - FM02
        - FM12
        - FM01
        - FM07
        - FM10
        - FM05
        - FM09
        - FM13
        - FM14
    MidlandEstateGardenFeature:
      type: string
      enum:
        - MISCF00067
    MidlandNearbyFacility:
      type: string
      enum:
        - carpark
        - mall
        - recreation
        - mtr
        - hospital
        - park
    MidlandMarketStat:
      properties:
        '@type':
          type: string
          default: MidlandMarketStat
        net_ft_price:
          anyOf:
            - type: number
            - type: 'null'
        previous_net_ft_price:
          anyOf:
            - type: number
            - type: 'null'
        net_ft_price_change_percent:
          anyOf:
            - type: number
            - type: 'null'
        ft_price:
          anyOf:
            - type: number
            - type: 'null'
        previous_ft_price:
          anyOf:
            - type: number
            - type: 'null'
        ft_price_change_percent:
          anyOf:
            - type: number
            - type: 'null'
        net_ft_rent:
          anyOf:
            - type: number
            - type: 'null'
        transaction_count:
          anyOf:
            - type: integer
            - type: 'null'
        transaction_amount:
          anyOf:
            - type: number
            - type: 'null'
      type: object
    MidlandEstateMonthlyPrice:
      properties:
        '@type':
          type: string
          default: MidlandEstateMonthlyPrice
        date_at:
          anyOf:
            - type: integer
            - type: 'null'
        avg_net_ft_price:
          anyOf:
            - type: number
            - type: 'null'
      type: object
    MidlandGeo:
      properties:
        '@type':
          type: string
          default: MidlandGeo
        region:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        subregion:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        sm_district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        combined_district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        int_district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        int_sm_district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
        lux_district:
          anyOf:
            - $ref: '#/components/schemas/MidlandRef'
            - type: 'null'
      type: object
    MidlandLocation:
      properties:
        '@type':
          type: string
          default: MidlandLocation
        latitude:
          anyOf:
            - type: number
            - type: 'null'
        longitude:
          anyOf:
            - type: number
            - type: 'null'
      type: object
    MidlandAmenity:
      properties:
        '@type':
          type: string
          default: MidlandAmenity
        type:
          anyOf:
            - type: string
            - type: 'null'
        name:
          anyOf:
            - type: string
            - type: 'null'
        walking_minutes:
          anyOf:
            - type: integer
            - type: 'null'
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
        input: {}
        ctx:
          type: object
      type: object
      required:
        - loc
        - msg
        - type
    MidlandRef:
      properties:
        '@type':
          type: string
          default: MidlandRef
        id:
          anyOf:
            - type: string
            - type: 'null'
        name:
          anyOf:
            - type: string
            - type: 'null'
      type: object
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: access-token
      description: API token from the dashboard

````