> ## 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.

# /idealista/properties/search

> Search Idealista property listings in Portugal (idealista.pt) or Italy (idealista.it), for sale or to rent, across homes, land, garages, offices, buildings, storage rooms, commercial units and new developments. Narrows by dwelling sub-type, room and bathroom count, condition, energy band, storey, amenities, price range and floor area, and orders by price, price per m², area, storey, publication date or price cut. Returns listing cards with title, price with any recorded discount, price per m², area, rooms, storey, amenities, photos, the advertiser description and the selling agency.

**Price:** 1 credit

**⚠️ Common errors:** 412: No listings matched, or the location, zone or filter combination does not exist upstream — the commonest case is a filter that only the homes feed accepts, 422: A filter value does not exist on the selected country domain, is tied to the other operation, or a required field is missing



## OpenAPI

````yaml /openapi/real-estate.json post /api/idealista/properties/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/idealista/properties/search:
    post:
      tags:
        - /idealista
      summary: /idealista/properties/search
      description: >-
        Search Idealista property listings in Portugal (idealista.pt) or Italy
        (idealista.it), for sale or to rent, across homes, land, garages,
        offices, buildings, storage rooms, commercial units and new
        developments. Narrows by dwelling sub-type, room and bathroom count,
        condition, energy band, storey, amenities, price range and floor area,
        and orders by price, price per m², area, storey, publication date or
        price cut. Returns listing cards with title, price with any recorded
        discount, price per m², area, rooms, storey, amenities, photos, the
        advertiser description and the selling agency.


        **Price:** 1 credit


        **⚠️ Common errors:** 412: No listings matched, or the location, zone or
        filter combination does not exist upstream — the commonest case is a
        filter that only the homes feed accepts, 422: A filter value does not
        exist on the selected country domain, is tied to the other operation, or
        a required field is missing
      operationId: __api_idealista_properties_search_post
      parameters:
        - name: access-token
          in: header
          required: true
          schema:
            anyOf:
              - type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdealistaPropertiesSearchPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdealistaPropertyCard'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    IdealistaPropertiesSearchPayload:
      properties:
        timeout:
          type: integer
          maximum: 1500
          minimum: 20
          default: 300
        domain:
          $ref: '#/components/schemas/IdealistaDomain'
          default: pt
        location:
          type: string
          minLength: 1
        zone:
          anyOf:
            - type: string
            - type: 'null'
        operation:
          $ref: '#/components/schemas/IdealistaOperation'
          default: buy
        property_type:
          $ref: '#/components/schemas/IdealistaPropertyType'
          default: homes
        home_types:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaHomeType'
              type: array
            - type: 'null'
        rooms:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaRooms'
              type: array
            - type: 'null'
        bathrooms:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaBathrooms'
              type: array
            - type: 'null'
        condition:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaCondition'
              type: array
            - type: 'null'
        energy_rating:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaEnergyRating'
              type: array
            - type: 'null'
        floor:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaFloor'
              type: array
            - type: 'null'
        features:
          anyOf:
            - items:
                $ref: '#/components/schemas/IdealistaFeature'
              type: array
            - type: 'null'
        min_price:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        max_price:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        min_size:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        max_size:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        sort:
          $ref: '#/components/schemas/IdealistaSort'
          default: relevance
        count:
          type: integer
          maximum: 1800
          minimum: 1
      type: object
      required:
        - location
        - count
    IdealistaPropertyCard:
      properties:
        '@type':
          type: string
          default: IdealistaPropertyCard
        id:
          type: string
        url:
          anyOf:
            - type: string
            - type: 'null'
        listing_title:
          anyOf:
            - type: string
            - type: 'null'
        price:
          anyOf:
            - type: number
            - type: 'null'
        previous_price:
          anyOf:
            - type: number
            - type: 'null'
        price_drop_percent:
          anyOf:
            - type: integer
            - type: 'null'
        price_per_m2:
          anyOf:
            - type: number
            - type: 'null'
        surface:
          anyOf:
            - type: integer
            - type: 'null'
        room_count:
          anyOf:
            - type: integer
            - type: 'null'
        photo_count:
          anyOf:
            - type: integer
            - type: 'null'
        floor:
          anyOf:
            - type: string
            - type: 'null'
        has_elevator:
          anyOf:
            - type: boolean
            - type: 'null'
        has_parking:
          anyOf:
            - type: boolean
            - type: 'null'
        is_professional:
          anyOf:
            - type: boolean
            - type: 'null'
        highlight:
          anyOf:
            - type: string
            - type: 'null'
        tags:
          items:
            type: string
          type: array
          default: []
        features:
          items:
            type: string
          type: array
          default: []
        images:
          items:
            type: string
          type: array
          default: []
        agency:
          anyOf:
            - $ref: '#/components/schemas/IdealistaCardAgency'
            - type: 'null'
      type: object
      required:
        - id
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    IdealistaDomain:
      type: string
      enum:
        - pt
        - it
    IdealistaOperation:
      type: string
      enum:
        - buy
        - rent
    IdealistaPropertyType:
      type: string
      enum:
        - homes
        - land
        - garages
        - offices
        - buildings
        - storage_rooms
        - commercial
        - new_developments
        - rooms
    IdealistaHomeType:
      type: string
      enum:
        - pt_apartamentos
        - pt_apenas_apartamentos
        - pt_moradias
        - pt_moradias_em_banda
        - pt_moradias_geminadas
        - pt_moradias_independentes
        - pt_moradias_terreas
        - pt_duplex
        - pt_lofts
        - pt_aguas_furtadas
        - pt_casas_rusticas
        - pt_quintas
        - pt_solares_ou_palacetes
        - it_appartamenti
        - it_solo_appartamenti
        - it_attici
        - it_loft_open_space
        - it_mansarde
        - it_case_indipendenti
        - it_ville
        - it_ville_indipendenti
        - it_villette_a_schiera
        - it_rustici
        - it_casali_o_cascine
        - it_appartamenti_due_livelli
    IdealistaRooms:
      type: string
      enum:
        - pt_t0
        - pt_t1
        - pt_t2
        - pt_t3
        - pt_t4_or_more
        - it_monolocale
        - it_bilocale
        - it_trilocale
        - it_quadrilocale
        - it_5_locali_or_more
    IdealistaBathrooms:
      type: string
      enum:
        - one
        - two
        - three_or_more
    IdealistaCondition:
      type: string
      enum:
        - new_construction
        - good
        - to_renovate
    IdealistaEnergyRating:
      type: string
      enum:
        - high
        - medium
        - low
    IdealistaFloor:
      type: string
      enum:
        - top
        - intermediate
        - ground
    IdealistaFeature:
      type: string
      enum:
        - elevator
        - pool
        - garden
        - private_garden
        - terrace
        - balcony
        - terrace_or_balcony
        - parking
        - storage_room
        - air_conditioning
        - built_in_wardrobes
        - accessible
        - luxury
        - sea_view
        - floor_plan
        - virtual_tour
        - bank_owned
        - tenanted
        - judicial_auction
        - pets_allowed
        - furnished
    IdealistaSort:
      type: string
      enum:
        - relevance
        - price_asc
        - price_desc
        - newest
        - oldest
        - price_drop
        - price_per_m2_asc
        - price_per_m2_desc
        - size_asc
        - size_desc
        - floor_asc
        - floor_desc
    IdealistaCardAgency:
      properties:
        '@type':
          type: string
          default: IdealistaCardAgency
        name:
          anyOf:
            - type: string
            - type: 'null'
        url:
          anyOf:
            - type: string
            - type: 'null'
        image:
          anyOf:
            - type: string
            - 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
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: access-token
      description: API token from the dashboard

````