idealista.it APIidealista.it ↗
Access Italian real estate listings from Idealista.it. Search properties for sale, rent, new construction, and mountain areas. Get full details and photos.
curl -X GET 'https://api.parse.bot/scraper/355fc7d9-12b3-4d7e-9a57-fcd5514d1f6f/search_properties_for_sale?location=milano-milano' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for residential properties for sale on Idealista.it. Returns paginated listings with price, size, room count, and description snippets. Use search_by_location_slug to resolve a city name to the required location slug.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| locationrequired | string | Location slug in format 'city-province' (e.g., 'milano-milano', 'roma-roma', 'napoli-napoli'). Use search_by_location_slug to find valid slugs. |
| max_price | integer | Maximum price filter in Euros. |
| min_price | integer | Minimum price filter in Euros. |
{
"type": "object",
"fields": {
"listings": "array of property listing objects with id, title, url, price, details, description_snippet, and thumbnail",
"total_count_text": "string with the total count and location description (e.g., '15.290 case in vendita a Milano')"
},
"sample": {
"data": {
"listings": [
{
"id": "35690247",
"url": "https://www.idealista.it/immobile/35690247/",
"price": "260.000€",
"title": "Bilocale in Via Luigi Soderini, 2, Soderini, Milano",
"details": {
"size": "52 m2",
"floor": "2º piano con ascensore",
"rooms": "2 locali"
},
"thumbnail": "https://img4.idealista.it/blur/480_360_mq/0/id.pro.it.image.master/bd/02/e3/799771552.jpg",
"description_snippet": "Appartamento 2 locali con balcone, Via Soderini - Milano..."
}
],
"total_count_text": "15.290 case in vendita a Milano"
},
"status": "success"
}
}About the idealista.it API
This API exposes 7 endpoints covering Idealista.it's Italian property market, including residential listings for sale and rent, new construction projects, and mountain properties. The get_property_details endpoint returns full descriptions, feature lists, and photo URLs for a single listing, while search_by_location_slug resolves city names to the location slugs required by all search endpoints.
Search and Filter Listings
The search_properties_for_sale and search_properties_for_rent endpoints accept a location string in city-province format (e.g., milano-milano, roma-roma) along with optional min_price and max_price filters in Euros. Both return paginated arrays of listing objects containing id, title, url, price, details, description_snippet, and thumbnail. The total_count_text field gives a human-readable count and location label (e.g., 15.290 case in vendita a Milano). Use the page parameter to step through results.
Resolving Location Slugs
Before calling any search endpoint, use search_by_location_slug with a plain city or area name such as Milano or Cortina. It returns an items array where each object includes label, url, location_id, category, and count. The url field from these results provides the slug to pass as the location parameter elsewhere.
Property Details and Photos
get_property_details accepts a numeric property_id and returns the full property record: title, price, description, features (an array of feature strings such as floor area and room count), location_text, and a photos array of image URLs. If only images are needed, get_property_photos returns just the photos array for that property ID, reducing payload size.
Specialty Search Endpoints
search_new_construction filters results to nuova costruzione listings in a given location. search_mountain_properties targets alpine and ski resort areas using mountain-specific slugs such as cortina-d-ampezzo-belluno or courmayeur-aosta. Both return the same listing object shape as the main search endpoints, making it straightforward to handle all result types with a single response parser.
- Aggregate for-sale and for-rent listings across multiple Italian cities into a single property search interface.
- Track asking price trends in a specific location by paginating
search_properties_for_salewithmin_price/max_pricefilters over time. - Build a new construction project finder using
search_new_constructionfor buyers interested in off-plan properties. - Populate listing detail pages with full descriptions, feature lists, and photo galleries via
get_property_details. - Create a mountain property portal for ski and alpine real estate using
search_mountain_propertieswith resort-area slugs. - Resolve user-typed city names to valid location slugs programmatically using
search_by_location_slugbefore passing them to search endpoints. - Build a property photo gallery viewer by calling
get_property_photosfor a batch of listing IDs.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Idealista have an official developer API?+
What does `get_property_details` return beyond what the search endpoints provide?+
description_snippet and a thumbnail. get_property_details returns the full description text, a features array listing specific attributes such as floor area and room configuration, a complete photos array with all image URLs, and a location_text field. It requires a numeric property_id from a prior search result.Does the API cover commercial properties, offices, or garages?+
How does pagination work across search endpoints?+
search_properties_for_sale and search_properties_for_rent endpoints accept an optional page integer. The total_count_text field in the response indicates the total number of matching listings for the query, which you can use to calculate how many pages are available. search_new_construction and search_mountain_properties do not currently expose a page parameter.Can I filter results by number of rooms or property size?+
min_price, max_price, and location only. Room count and size data appear in the details field of individual listing objects returned by search, and as part of the features array in get_property_details. You can fork this API on Parse and revise it to add room-count or size filtering if the source supports those parameters.