Idealista Portugal Scraper
Pricing
from $2.00 / 1,000 listings
Idealista Portugal Scraper
Scrape Portugal real estate listings from idealista.pt: price, price per m², typology, area, floor, agency and more. Fails loudly instead of returning an empty dataset.
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
João Caldeira
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Get property listings from idealista.pt search results as clean, typed data: price, price per m², typology, area, floor, lift, agency, description and more. For sale and for rent, any location, any filters.
What you can count on
- Loud failures. If a run can't get your data, it ends as Failed and says why. It never finishes green with an empty dataset.
- No silent gaps. idealista only serves the first 60 pages (1,800 listings) of a search. If your search is bigger, the run tells you how many listings you got and how to split the search to get the rest.
- Stable output. Field names don't change between versions. New fields may be added; existing ones are never renamed or removed.
How to use it
- Go to idealista.pt and set up your search: location, sale or rent, price range, typology, sort order.
- Copy the URL from your browser.
- Paste it into Search URLs. You can add several.
- Set Max listings and run.
Works with any idealista.pt search results page, for example:
https://www.idealista.pt/comprar-casas/lisboa/https://www.idealista.pt/arrendar-casas/porto/https://www.idealista.pt/comprar-casas/lisboa/com-preco-max_400000,t2/?ordem=atualizado-deschttps://www.idealista.pt/comprar-terrenos/setubal-distrito/
Searches with more than 1,800 listings
idealista won't show more than 60 pages for a single search. If your search is bigger, the run will finish with a note saying how many listings you got out of the total. Split the search into narrower ones, for example by price range (com-preco-max_300000, then com-preco-min_300000,preco-max_500000), and add each as a separate URL. Listings that appear in more than one search are only returned once.
Output
One record per listing:
{"id": "35043634","url": "https://www.idealista.pt/imovel/35043634/","title": "Apartamento T2 na Rua de Campo de Ourique s/n, Amoreiras, Campo de Ourique","propertyType": "Apartamento","address": "Rua de Campo de Ourique s/n, Amoreiras, Campo de Ourique","operation": "sale","category": "casas","price": 469000,"priceUnit": "total","currency": "EUR","pricePerM2": 7817,"typology": "T2","rooms": 2,"areaM2": 60,"floor": "1º andar sem elevador","hasLift": false,"otherDetails": [],"publishedAgo": null,"highlight": "T2 com Terraço a Estrear em Campo de Ourique","description": "Se procura um apartamento com carácter, conforto e uma localização privilegiada…","tags": ["Renovado"],"isNewDevelopment": false,"ribbon": null,"isProfessional": true,"agency": "Century 21 Le Quartier","imageCount": 30,"imageUrl": "https://img4.idealista.pt/blur/591_420_mq/0/id.pro.pt.image.master/f1/d9/d2/320089049.jpg","media": ["HOME_STAGING", "MAP", "PLAN", "VIDEO", "VIRTUAL_TOUR_360", "VIRTUAL_TOUR_3D"],"country": "PT","searchUrl": "https://www.idealista.pt/comprar-casas/lisboa/","page": 1,"scrapedAt": "2026-09-14T21:40:00+00:00"}
| Field | Notes |
|---|---|
price | Number in EUR. For rentals it's the monthly rent and priceUnit is "month". |
pricePerM2 | As shown by idealista. Usually present for sales, not for rentals. |
typology, rooms | "T2" and 2. |
areaM2 | Gross area as shown on the results page. |
floor, hasLift | Raw floor text, plus true/false when idealista says whether there's a lift. |
publishedAgo | Freshness marker idealista shows on recent listings, e.g. "1 hora". |
isProfessional, agency | Whether it's an agency listing, and the agency name when shown. |
A run summary is saved to the key-value store under OUTPUT: listing count, duplicates skipped, listings per search, and any problems or notes.
Proxies
idealista blocks most datacenter IPs. Use Apify residential proxies with country Portugal (the default).
Data and privacy
This Actor collects what idealista shows publicly on search results pages. It does not collect phone numbers or the names of private sellers. If you process the data, you're responsible for complying with GDPR and idealista's terms.
Coming next
Spain and Italy, and optional detail pages (full description, coordinates, energy certificate). Open an issue if you need one of these, and it moves up the list.