{
  "openapi": "3.0.1",
  "info": {
    "title": "Idealista Scraper - Real Estate Data for Spain, Italy, Portugal",
    "description": "Extract real estate data from Spain, Italy, and Portugal on idealista.com, including pricing, property features, and contact information. Scrape listings for residential, office, and commercial properties available for sale or rent.",
    "version": "0.0",
    "x-build-id": "KY90wPsA8wJepaK3P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/igolaizola~idealista-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-igolaizola-idealista-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/igolaizola~idealista-scraper/runs": {
      "post": {
        "operationId": "runs-sync-igolaizola-idealista-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/igolaizola~idealista-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-igolaizola-idealista-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "operation",
          "propertyType",
          "country",
          "location"
        ],
        "properties": {
          "maxItems": {
            "title": "Max Items (recommended ≤ 2500)",
            "type": "integer",
            "description": "Maximum number of items to scrape (0 for unlimited). If you choose more than 2500, the location will be automatically be divided into sub-locations. This will affect the ordering as properties will be grouped by sub-locations.",
            "default": 50
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Operation type to search (sale, rent)",
            "default": "sale"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "homes",
              "newDevelopments",
              "offices",
              "premises",
              "garages",
              "lands",
              "storageRooms",
              "buildings",
              "bedrooms"
            ],
            "type": "string",
            "description": "Property type to search (homes, newDevelopments, offices, premises, garages, lands, storageRooms, buildings, bedrooms)",
            "default": "homes"
          },
          "country": {
            "title": "Country",
            "enum": [
              "es",
              "pt",
              "it"
            ],
            "type": "string",
            "description": "Select your country",
            "default": "es"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location to search, it can be a city name (e.g. Madrid) or an Idealista Location ID (e.g. 0-EU-ES-28-07-001-079). For the location, you can use the city name or the Idealista Location ID. Use [Idealista Location Search Tool](https://igolaizola.github.io/idealista-scraper) to find the specific Location ID you need.",
            "default": "0-EU-ES-28-07-001-079"
          },
          "propertyCodes": {
            "title": "Property Codes",
            "type": "array",
            "description": "List of Idealista property codes to fetch directly. When set, location and all filters are ignored. Each result will include '_details' (always) and '_stats' if fetchStats is enabled.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "closest",
              "lowestPrice",
              "highestPrice",
              "mostRecent",
              "leastRecent",
              "highestPriceReduction",
              "lowestPriceM2",
              "highestPriceM2",
              "biggest",
              "smallest",
              "highestFloors",
              "lowestFloors"
            ],
            "type": "string",
            "description": "Sorting method for results",
            "default": "mostRecent"
          },
          "fetchDetails": {
            "title": "Fetch details (1 extra request per property, x50 times slower!)",
            "type": "boolean",
            "description": "Whether to fetch detailed information for each property. Each property will have an extra field '_details' in the results. This field is still in beta, use it with caution.",
            "default": false
          },
          "fetchStats": {
            "title": "Fetch stats (1 extra request per property, x50 times slower!)",
            "type": "boolean",
            "description": "Whether to fetch statistics for each property. Each property will have an extra field '_stats' in the results. This field is still in beta, use it with caution.",
            "default": false
          },
          "minPrice": {
            "title": "Min Price",
            "enum": [
              "0",
              "500",
              "550",
              "600",
              "650",
              "700",
              "750",
              "800",
              "850",
              "900",
              "950",
              "1000",
              "1100",
              "1200",
              "1300",
              "1400",
              "1500",
              "1600",
              "1700",
              "1800",
              "1900",
              "2000",
              "2100",
              "2400",
              "2700",
              "3000",
              "50000",
              "75000",
              "100000",
              "125000",
              "150000",
              "175000",
              "200000",
              "225000",
              "250000",
              "275000",
              "300000",
              "325000",
              "350000",
              "375000",
              "400000",
              "425000",
              "450000",
              "475000",
              "500000",
              "550000",
              "600000",
              "650000",
              "700000",
              "750000",
              "800000",
              "850000",
              "900000",
              "950000",
              "1000000",
              "1100000",
              "1200000",
              "1300000",
              "1400000",
              "1500000",
              "1600000",
              "1700000",
              "1800000",
              "1900000",
              "2000000",
              "2250000",
              "2500000",
              "2750000",
              "3000000",
              "3500000",
              "4000000"
            ],
            "type": "string",
            "description": "Minimum price of the property (0 for any)",
            "default": "0"
          },
          "maxPrice": {
            "title": "Max Price",
            "enum": [
              "0",
              "500",
              "550",
              "600",
              "650",
              "700",
              "750",
              "800",
              "850",
              "900",
              "950",
              "1000",
              "1100",
              "1200",
              "1300",
              "1400",
              "1500",
              "1600",
              "1700",
              "1800",
              "1900",
              "2000",
              "2100",
              "2400",
              "2700",
              "3000",
              "50000",
              "75000",
              "100000",
              "125000",
              "150000",
              "175000",
              "200000",
              "225000",
              "250000",
              "275000",
              "300000",
              "325000",
              "350000",
              "375000",
              "400000",
              "425000",
              "450000",
              "475000",
              "500000",
              "550000",
              "600000",
              "650000",
              "700000",
              "750000",
              "800000",
              "850000",
              "900000",
              "950000",
              "1000000",
              "1100000",
              "1200000",
              "1300000",
              "1400000",
              "1500000",
              "1600000",
              "1700000",
              "1800000",
              "1900000",
              "2000000",
              "2250000",
              "2500000",
              "2750000",
              "3000000",
              "3500000",
              "4000000"
            ],
            "type": "string",
            "description": "Maximum price of the property (0 for any)",
            "default": "0"
          },
          "minSize": {
            "title": "Min Size",
            "enum": [
              "0",
              "60",
              "80",
              "100",
              "120",
              "140",
              "160",
              "180",
              "200",
              "220",
              "240",
              "260",
              "280",
              "300"
            ],
            "type": "string",
            "description": "Minimum size of the property (0 for any)",
            "default": "0"
          },
          "maxSize": {
            "title": "Max Size",
            "enum": [
              "0",
              "60",
              "80",
              "100",
              "120",
              "140",
              "160",
              "180",
              "200",
              "220",
              "240",
              "260",
              "280",
              "300"
            ],
            "type": "string",
            "description": "Maximum size of the property (0 for any)",
            "default": "0"
          },
          "publicationDate": {
            "title": "Publication Date",
            "enum": [
              "",
              "Y",
              "T",
              "W",
              "M"
            ],
            "type": "string",
            "description": "Publication date of the property",
            "default": ""
          },
          "rentalTypes": {
            "title": "Rental types (only for rent, leave empty for any)",
            "type": "array",
            "description": "Rental usage type",
            "items": {
              "type": "string",
              "enum": [
                "longTerm",
                "seasonal"
              ],
              "enumTitles": [
                "Long-term residential",
                "Short-term"
              ]
            }
          },
          "bedrooms": {
            "title": "Bedrooms (leave empty for any)",
            "type": "array",
            "description": "Number of bedrooms",
            "items": {
              "type": "string",
              "enum": [
                "studio",
                "1",
                "2",
                "3",
                "4"
              ],
              "enumTitles": [
                "Studio",
                "1 bedroom",
                "2 bedrooms",
                "3 bedrooms",
                "4 bedrooms or more"
              ]
            }
          },
          "bathrooms": {
            "title": "Bathrooms (leave empty for any)",
            "type": "array",
            "description": "Number of bathrooms",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3"
              ],
              "enumTitles": [
                "1 bathroom",
                "2 bathrooms",
                "3 bathrooms or more"
              ]
            }
          },
          "homeType": {
            "title": "Home types (leave empty for any)",
            "type": "array",
            "description": "Home types to search",
            "items": {
              "type": "string",
              "enum": [
                "flat",
                "penthouse",
                "duplex",
                "detachedHouse",
                "semiDetachedHouse",
                "terracedHouse",
                "countryHouse",
                "apartment",
                "villa",
                "loft"
              ],
              "enumTitles": [
                "Flat",
                "Penthouse",
                "Duplex",
                "Detached house",
                "Semi-detached house",
                "Terraced house",
                "Country house",
                "Apartment",
                "Villa",
                "Loft"
              ]
            }
          },
          "condition": {
            "title": "Condition (leave empty for any)",
            "type": "array",
            "description": "Condition types to search",
            "items": {
              "type": "string",
              "enum": [
                "newDevelopment",
                "good",
                "renew"
              ],
              "enumTitles": [
                "New homes",
                "Good condition",
                "Needs renovation"
              ]
            }
          },
          "propertyStatus": {
            "title": "Property status (leave empty for any)",
            "type": "array",
            "description": "Status of the property",
            "items": {
              "type": "string",
              "enum": [
                "bareOwnership",
                "tenanted",
                "illegallyOccupied",
                "free"
              ],
              "enumTitles": [
                "Bare ownership",
                "Rented, with tenants",
                "Illegally occupied",
                "Available, without any of the above"
              ]
            }
          },
          "floor": {
            "title": "Floor",
            "type": "array",
            "description": "Floor of the property",
            "items": {
              "type": "string",
              "enum": [
                "topFloor",
                "intermediateFloor",
                "groundFloor"
              ],
              "enumTitles": [
                "Top floor",
                "Middle floors",
                "Ground floor"
              ]
            }
          },
          "airConditioning": {
            "title": "Air conditioning",
            "type": "boolean",
            "description": "Whether the property has air conditioning",
            "default": false
          },
          "fittedWardrobes": {
            "title": "Fitted wardrobes",
            "type": "boolean",
            "description": "Whether the property has fitted wardrobes",
            "default": false
          },
          "lift": {
            "title": "Lift",
            "type": "boolean",
            "description": "Whether the property has a lift",
            "default": false
          },
          "balcony": {
            "title": "Balcony",
            "type": "boolean",
            "description": "Whether the property has a balcony",
            "default": false
          },
          "terrace": {
            "title": "Terrace",
            "type": "boolean",
            "description": "Whether the property has a terrace",
            "default": false
          },
          "exterior": {
            "title": "Exterior",
            "type": "boolean",
            "description": "Whether the property is exterior",
            "default": false
          },
          "garage": {
            "title": "Garage or parking space",
            "type": "boolean",
            "description": "Whether the property has garage or parking space",
            "default": false
          },
          "garden": {
            "title": "Garden",
            "type": "boolean",
            "description": "Whether the property has a garden",
            "default": false
          },
          "swimmingPool": {
            "title": "Swimming pool",
            "type": "boolean",
            "description": "Whether the property has a swimming pool",
            "default": false
          },
          "storageRoom": {
            "title": "Storage room",
            "type": "boolean",
            "description": "Whether the property has a storage room",
            "default": false
          },
          "accessible": {
            "title": "Accessible",
            "type": "boolean",
            "description": "Whether the property is an accessible property",
            "default": false
          },
          "seaViews": {
            "title": "Sea views",
            "type": "boolean",
            "description": "Whether the property has sea views",
            "default": false
          },
          "luxury": {
            "title": "Luxury home",
            "type": "boolean",
            "description": "Whether the property is a luxury home",
            "default": false
          },
          "plan": {
            "title": "Floor plan",
            "type": "boolean",
            "description": "Whether the property has a floor plan",
            "default": false
          },
          "virtualTour": {
            "title": "Virtual tour",
            "type": "boolean",
            "description": "Whether the property has a virtual tour",
            "default": false
          },
          "agency": {
            "title": "Agency slug (from URL)",
            "type": "string",
            "description": "Filter properties by agency. Use the slug from the agency page URL, e.g., engel-volkers in https://www.idealista.com/pro/engel-volkers/.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies to be used."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}