AS
Apify Store
/igolaizola/idealista-scraper
Idealista Scraper - Real Estate Data for Spain, Italy, Portugal
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 proper
liveasyncunknown~30s typical
real estateautomationidealista
$0.0011
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.0009 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /igolaizola/idealista-scraper for me.
Input
| Field | Type | Description |
|---|---|---|
| maxItems | integer | Maximum number of items to scrape (0 for unlimited). Large searches use the default iterator to continue past Idealista's 2500-result page window. default 50 |
| operation* | string (sale | rent) | Operation type to search (sale, rent) default "sale" |
| propertyType* | string (newDevelopments | homes | bedrooms | vacationRentals | garages | storageRooms) | Property type to search (newDevelopments, homes, bedrooms, vacationRentals, garages, storageRooms, offices, premises, transfers, lands, buildings) default "homes" |
| country* | string (es | pt | it) | Select your country default "es" |
| location | string | Location to search. Use a city name (e.g. Madrid), an Idealista Location ID (e.g. 0-EU-ES-28-07-001-079), or leave empty to scrape every province in the selected country. Ignored when Locations has at least one value. Use [Idealista Location Search Tool](https://igolaizola.github.io/idealista-scraper) to find a specific Location ID. default "" |
| locations | array | Locations to search for properties. When this list has at least one value, the actor searches each location in order instead of using Location. |
| postalCodes | array | Postal codes to search in order. Idealista resolves each one to a matching search area. Takes precedence over location, locations, and coordinates. maxItems applies globally. |
| latitude | number | Latitude of the center point for coordinate-based search. Use together with longitude. When set, coordinates take precedence over location and locations. |
| longitude | number | Longitude of the center point for coordinate-based search. Use together with latitude. |
| distanceKm | integer | Search radius around the latitude/longitude point, in kilometers. default 20 |
| propertyCodes | array | 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 [] |
| sortBy | string (relevance | closest | lowestPrice | highestPrice | mostRecent | leastRecent) | Sorting method for results default "mostRecent" |
| fetchDetails | boolean | 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 | boolean | 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 | string (0 | 500 | 550 | 600 | 650 | 700) | Minimum price of the property (0 for any) default "0" |
| maxPrice | string (0 | 500 | 550 | 600 | 650 | 700) | Maximum price of the property (0 for any) default "0" |
| minSize | string (0 | 60 | 80 | 100 | 120 | 140) | Minimum size of the property (0 for any) default "0" |
| maxSize | string (0 | 60 | 80 | 100 | 120 | 140) | Maximum size of the property (0 for any) default "0" |
| publicationDate | string ( | Y | T | W | M) | Publication date of the property default "" |
| rentalTypes | array | Rental usage type |
| bedrooms | array | Number of bedrooms |
| bathrooms | array | Number of bathrooms |
| homeType | array | Home types to search |
| condition | array | Condition types to search |
| propertyStatus | array | Status of the property |
| floor | array | Floor of the property |
| bankOffer | boolean | Whether the property is bank-owned default false |
| airConditioning | boolean | Whether the property has air conditioning default false |
| fittedWardrobes | boolean | Whether the property has fitted wardrobes default false |
| lift | boolean | Whether the property has a lift default false |
| balcony | boolean | Whether the property has a balcony default false |
| terrace | boolean | Whether the property has a terrace default false |
| exterior | boolean | Whether the property is exterior default false |
| garage | boolean | Whether the property has garage or parking space default false |
| garden | boolean | Whether the property has a garden default false |
| swimmingPool | boolean | Whether the property has a swimming pool default false |
| storageRoom | boolean | Whether the property has a storage room default false |
| accessible | boolean | Whether the property is an accessible property default false |
| seaViews | boolean | Whether the property has sea views default false |
| luxury | boolean | Whether the property is a luxury home default false |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/igolaizola/idealista-scraper","input":{"maxItems":3,"operation":"sale","propertyType":"homes","country":"es"},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /igolaizola/idealista-scraper -i '{"maxItems":3,"operation":"sale","propertyType":"homes","country":"es"}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/igolaizola/idealista-scraper", input: {"maxItems":3,"operation":"sale","propertyType":"homes","country":"es"}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.