Idealista Property Search Scraper avatar

Idealista Property Search Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Idealista Property Search Scraper

Idealista Property Search Scraper

Search Idealista listings with prices, size, rooms, photos, location, and links. Batch location searches and page through property results across supported European markets.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

Search Idealista by location, operation, and property type. Collect listing IDs, prices, sizes, rooms, locations, coordinates, photo totals, and links across pages.

What data can you extract?

FieldTypeDescription
propertyCodeStringUnique Idealista code identifying this property listing.
thumbnailStringPreview image URL for the Idealista property.
numPhotosIntegerNumber of property photos attached to the listing.
priceIntegerAdvertised sale or rent price in the listing currency.
propertyTypeStringIdealista property category, such as a home, room, or office.
operationStringWhether the listing advertises a sale or rental.
sizeIntegerAdvertised property area in square metres when reported.
roomsIntegerNumber of rooms reported in the property listing.
bathroomsIntegerNumber of bathrooms reported in the property listing.
municipalityStringMunicipality where Idealista places the property.
provinceStringProvince containing the property listing.
countryStringCountry associated with this Idealista result.
locationIdStringIdealista location code for the listing area.
latitudeNumberLatitude of the property location in decimal degrees.
longitudeNumberLongitude of the property location in decimal degrees.
urlStringPublic Idealista page URL for this property.
descriptionStringListing summary describing the property and its features.
input_location_idStringIdealista location code searched for this result set.
scraped_atStringUTC date and time when this property listing was collected.

Use cases

  • Property investors can compare listing prices, areas, and room counts by location.
  • Housing analysts can track supply across Idealista markets.
  • Real-estate teams can collect listing links and photos for property shortlists.

How to use

  1. Add a location ID to location_ids for each area.
  2. Choose country, operation, and property type, then add filters.
  3. Set maxPages and maxResults, then export listing rows.
{
"location_ids": [
{
"location_id": "0-EU-ES-28-07-001-079"
}
],
"country": "es",
"operation": "sale",
"property_type": "homes",
"maxResults": 20,
"maxPages": 2
}

Input

FieldTypeRequiredDescription
location_idsArray<object>YesIdealista location IDs to search.
location_ids[].location_idstringYes per entryIdealista location id such as 0-EU-ES-28.
location_ids[].countrystringNoMarket: es, it, pt, or fr. Default es.
location_ids[].operationstringNosale or rent. Room stock uses bedrooms + rent.
location_ids[].property_typestringNohomes, newDevelopments, bedrooms, offices, premises, transfers, buildings, storageRooms, garages, vacationRentals, luxury, or lands.
location_ids[].centerstringNolat,lon for near-me search.
location_ids[].distanceintegerNoRadius in meters when using center.
location_ids[].max_itemsintegerNoPage size honored by origin, 1-5.
location_ids[].num_pageintegerNo1-based page number.
location_ids[].orderstringNoSort direction or ordering mode for property results.
location_ids[].sortstringNoListing sort mode, such as price or publication date.
location_ids[].qualitystringNoFilter results by listing quality when supported.
location_ids[].gallerybooleanNoFilter for listings that include gallery photos.
location_ids[].localestringNoLanguage and regional formatting for the listing search.
location_ids[].microsite_short_namestringNoAnonymous agency stock filter, for example clikalia.
location_ids[].chaletbooleanNoApply-filter key. Send true on homes.
location_ids[].current_occupation_typestringNofree, bareOwnership, tenanted, illegallyOccupied, or viager.
location_ids[].auctionstringNoIT only: onlyAuctions or excludeAuctions.
location_ids[].home_typestringNoIdealista home subtype, such as an apartment or house.
location_ids[].bank_offerstringNoFilter listings associated with a bank offer.
location_ids[].advertiser_typestringNoFilter results by advertiser category.
location_ids[].min_priceintegerNoMinimum asking price for a property listing.
location_ids[].max_priceintegerNoMaximum asking price for a property listing.
location_ids[].min_sizeintegerNoMinimum property area in square metres.
location_ids[].max_sizeintegerNoMaximum property area in square metres.
location_ids[].min_roomsintegerNoMinimum room count for a property listing.
location_ids[].max_roomsintegerNoMaximum room count for a property listing.
location_ids[].shapestringNoGeographic search shape used to restrict Idealista results.
countrystringYesMarket: es, it, pt, or fr. Default es.
operationstringYessale or rent. Room stock uses bedrooms + rent.
property_typestringYeshomes, newDevelopments, bedrooms, offices, premises, transfers, buildings, storageRooms, garages, vacationRentals, luxury, or lands.
centerstringNolat,lon for near-me search.
distanceintegerNoRadius in meters when using center.
max_itemsintegerNoPage size honored by origin, 1-5.
num_pageintegerNo1-based page number.
orderstringNoSort direction or ordering mode for property results.
sortstringNoListing sort mode, such as price or publication date.
qualitystringNoFilter results by listing quality when supported.
gallerybooleanNoFilter for listings that include gallery photos.
localestringNoLanguage and regional formatting for the listing search.
microsite_short_namestringNoAnonymous agency stock filter, for example clikalia.
chaletbooleanNoApply-filter key. Send true on homes.
current_occupation_typestringNofree, bareOwnership, tenanted, illegallyOccupied, or viager.
auctionstringNoIT only: onlyAuctions or excludeAuctions.
home_typestringNoIdealista home subtype, such as an apartment or house.
bank_offerstringNoFilter listings associated with a bank offer.
advertiser_typestringNoFilter results by advertiser category.
min_priceintegerNoMinimum asking price for a property listing.
max_priceintegerNoMaximum asking price for a property listing.
min_sizeintegerNoMinimum property area in square metres.
max_sizeintegerNoMaximum property area in square metres.
min_roomsintegerNoMinimum room count for a property listing.
max_roomsintegerNoMaximum room count for a property listing.
shapestringNoGeographic search shape used to restrict Idealista results.
maxResultsintegerNoMaximum dataset items to save across this entire run.
maxPagesintegerNoMaximum pages to request for each batch entry.

Output example

{
"propertyCode": "10000001",
"thumbnail": "https://images.unsplash.com/photo-1600607687939-ce8a6c25118c",
"numPhotos": 8,
"price": 250000,
"propertyType": "flat",
"operation": "sale",
"size": 75,
"rooms": 3,
"bathrooms": 1,
"municipality": "Madrid",
"province": "Madrid",
"country": "Spain",
"locationId": "0-EU-ES-28",
"latitude": 40.4,
"longitude": -3.7,
"url": "https://www.idealista.com/en/inmueble/10000001/",
"description": "Bright three-room apartment with a balcony near public transport.",
"input_location_id": "0-EU-ES-28-07-001-079",
"scraped_at": "2026-10-01T12:00:00Z"
}

Pricing

$0.30 per 1,000 results. Apify saves one dataset item per result and applies the Actor’s per-result price to saved items.

Pagination follows the source response. Set maxPages per batch entry and maxResults across the run.

FAQ

Rules depend on the source, location, data type, and intended use. Check applicable laws and source terms, and make sure your workflow follows privacy and data protection requirements.

What limits apply?

Submit up to 100 batch entries per run. Use maxResults to cap saved items and maxPages to limit pages for each entry. Results also depend on source availability and your Scrappa API plan.

Can I start runs through the Apify API?

Yes. Send a POST request to https://api.apify.com/v2/acts/thescrappa~idealista-search-scraper/runs with your Actor input, or use an Apify client library. Read the output from the run dataset.

Can I connect the results to other tools?

Yes. Apify integrations and APIs can pass dataset results to Make, Zapier, n8n, Google Sheets, and other data workflows.

What happens when one input fails?

The Actor logs a short source error and continues with the remaining entries. Transient rate limits and gateway errors are retried; if every entry fails, the run reports an error.

How does pagination stop?

Collection stops when the source reports no next page, the reported page does not advance, or your configured limits are reached.