Plugins

Scrape idealista property listings (Spain, Italy, Portugal)

Searches idealista (idealista.com, idealista.it, idealista.pt) for location - or takes any idealista search url - and returns the listings as JSON: id, url, title, price + currency (+ pricePeriod for rentals), originalPrice and priceDropPercent after a price cut, pricePerM2, area, rooms, floor, lift, exterior, parking, description, tags, images, imageCount, multimedia (plan, video, 3D tour), agency and professional. Filter by operation (sale / rent), property_type, price and size ranges, rooms, bathrooms and features, order with sort, and collect up to max_results across pages (30 per page; idealista shows at most 60 pages per search). A search with no match answers 200 with an empty listings. Billed one unit per page fetched (pagesFetched).

post/realestate/idealista

Request

  • Base URL: https://api.scrapeunblocker.com
  • URL: https://api.scrapeunblocker.com/realestate/idealista
  • Auth: API key in header x-scrapeunblocker-key

Query parameters

urlstring nullable

Any idealista search URL (idealista.com, idealista.it or idealista.pt) with its filters, e.g. https://www.idealista.com/alquiler-viviendas/barcelona-barcelona/con-precio-hasta_2000,de-dos-dormitorios/. Overrides location and the filter parameters.

locationstring nullable

Location as idealista writes it in its URLs: a municipality ('madrid-madrid', 'barcelona-barcelona', 'milano-milano', 'lisboa'), a district ('madrid/centro', 'lisboa/arroios') or a province ('malaga-provincia'). Required unless url is given.

countrystring

es, it, pt (idealista.com / .it / .pt).

operationstring

sale or rent.

property_typestring

One of: homes, new_homes, offices, premises, garages, lands, storage, buildings, rooms.

min_priceinteger nullable

Minimum price in EUR (monthly rent with operation=rent).

max_priceinteger nullable

Maximum price in EUR.

min_sizeinteger nullable

Minimum area in m².

max_sizeinteger nullable

Maximum area in m².

roomsstring nullable

Comma-separated room counts: bedrooms in Spain (0 = studio ... 4 = four or more) and Portugal (T0 ... T4+), total rooms in Italy (1 ... 5 = five or more). E.g. '2,3'.

bathroomsstring nullable

Comma-separated 1, 2, 3 (3 = three or more).

featuresstring nullable

Comma-separated: lift, terrace, balcony, garage, pool, garden, air_conditioning, storage_room, fitted_wardrobes, accessible, luxury, new_construction, good_condition, to_renovate.

sortstring

One of: relevance, price_asc, price_desc, newest, oldest, size_asc, size_desc, price_per_m2_asc, price_per_m2_desc, biggest_drop.

pageinteger nullable

1-based results page to start from (30 listings per page, at most 60). Use the nextPage of a previous response to continue.

max_resultsinteger

How many listings to collect across pages (1-300); each page fetched is one billed unit.

proxy_countrystring nullable

Proxy country the request is sent from (ISO-2). Leave blank for the exit chosen for the site.

Response

JSON with a listings array, totalResults and nextPage.

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.