Spain Property Tracker: Fotocasa, Habitaclia, pisos.com
Pricing
from $1.50 / 1,000 listing scrapeds
Spain Property Tracker: Fotocasa, Habitaclia, pisos.com
Get homes for sale or rent from Fotocasa, Habitaclia and pisos.com in one clean list. The same home on many portals is merged. Monitor mode tells you what is new, what dropped in price and what was removed.
Pricing
from $1.50 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
APIzilla
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Spain Property Tracker do?
Spain Property Tracker gets homes for sale or rent from three big Spanish portals in one run:
- Fotocasa
- Habitaclia
- pisos.com
- Idealista (beta, off by default)
You get one clean list with the same fields for every portal. When the same home is on more than one portal, you get it once. The cheapest copy is the main one, and the others are listed in alsoListedOn.
Turn on monitor mode and run it on a schedule. Each run tells you which homes are new, which dropped or rose in price, which were removed and which came back.
Why use it?
- One list, not three. No need to check each portal by hand.
- No duplicates. The same flat on Fotocasa and Habitaclia shows up once.
- Price alerts. See price drops the day they happen.
- Days on market. See how long a home has been listed. Old listings are often open to offers.
- Price per m2. Compare homes and areas fast.
It is useful for buyers, renters, real estate agents, investors and market analysts.
What data do you get?
| Field | Example |
|---|---|
| Price, price per m2 | 595000, 10084.75 |
| Size, rooms, bathrooms, floor | 59, 1, 1, "2" |
| Address, city, province, postcode | "Carrer d'Exemple, 1", "Barcelona" |
| Latitude and longitude | 41.38, 2.17 |
| Agency name, private seller or not | "Agencia Ejemplo", false |
| Up to 5 photos | image URLs |
| Features | elevator, terrace, parking |
| Description | only with "Include details" |
| First seen, last seen, days on market | dates and a number |
| Price history | list of date and price |
| Change type | new, price_drop, price_rise, removed, back, unchanged |
| Other portals with the same home | portal, URL, price |
How to use it
- Open the Actor and go to the Input tab.
- Add one or more searches. You can type a city, or paste a search URL from a portal.
- Pick the portals.
- Click Start.
- Open the Output tab, or download the data as JSON, CSV or Excel.
To get alerts, turn on Monitor changes, then create a schedule (for example once a day) with the same input. Use the "Changes" view of the dataset, or connect the dataset to email, Slack or a webhook with Apify integrations.
How much does it cost?
This Actor uses pay per event pricing. You only pay for results. Failed pages cost nothing.
| Event | When you pay | Price per 1,000 |
|---|---|---|
listing-scraped | Once per unique home in the results | $1.50 |
browser-listing | Once per saved home that comes from Idealista (on top of listing-scraped) | $4.00 |
listing-details | Once per home, only when Include details is on | $1.00 |
change-event | Once per change (new, price drop, price rise, removed, back), only in monitor mode | $0.50 |
apify-actor-start | When a run starts, set by Apify. One event per GB of memory | $1.25 (about $0.005 per run at the default 4 GB) |
Why is Idealista more expensive? Idealista blocks simple scrapers. We need a real browser and a home proxy for it. That costs us more, so a home from Idealista has an extra browser-listing charge. A home that is also on Idealista but comes from a cheaper portal does not pay it.
A removed home only costs a change-event. Unchanged homes do not cost a change-event.
You can set a maximum cost per run. The Actor checks the total price of all events for a home before it saves it. If they do not all fit, it stops. You never pay for a home that was not saved.
To keep costs low, leave Include details off, keep Max listings per portal small, and turn off the beta portal if you do not need it.
The Pricing tab shows the exact prices.
Input
A search can be a city:
{"searches": [{ "location": "Barcelona", "operation": "sale", "propertyType": "homes", "maxPrice": 600000, "minRooms": 2, "minSize": 60 }],"portals": ["fotocasa", "habitaclia", "pisos"],"maxListingsPerPortal": 200,"includeDetails": false,"monitor": true}
Or a URL copied from a portal after you set your filters there:
{"searches": ["https://www.pisos.com/venta/pisos-madrid_capital/"]}
Main options:
searches: cities or portal URLs.operationissaleorrent.propertyTypeishomes(default),any,flat,house,penthouse,duplex,studio,room,office,commercial,garageorland.portals:fotocasa,habitaclia,pisos,idealista(beta).maxListingsPerPortal: stop after this many homes per portal. Default 200.includeDetails: add full description and more features.monitor: remember homes between runs and mark changes.monitorId: optional name for the saved history. Keep it the same to keep the history after you edit the searches.proxyConfiguration: Apify proxy settings.
Cities that work by name: Madrid, Barcelona, Valencia, Sevilla, Malaga, Zaragoza, Bilbao, Alicante, Palma, Marbella, Sitges. For other places, paste a search URL from the portal.
Output
One item per home. Example (shortened, made up data):
{"id": "3f2a9c1b7d4e5f60","country": "ES","portal": "fotocasa","portalListingId": "100000001","url": "https://www.fotocasa.es/es/comprar/vivienda/barcelona-capital/100000001/d","alsoListedOn": [{ "portal": "habitaclia", "url": "https://www.habitaclia.com/...", "price": 599000 }],"title": "Piso en Carrer d'Exemple","operation": "sale","propertyType": "flat","price": 595000,"currency": "EUR","pricePerM2": 10084.75,"sizeM2": 59,"rooms": 1,"bedrooms": 1,"bathrooms": 1,"floor": null,"address": "Carrer d'Exemple, 1, Barri Gotic","city": "Barcelona","region": "Barcelona","postcode": "08002","lat": 41.38,"lng": 2.17,"agencyName": "Agencia Ejemplo","isPrivateSeller": false,"images": ["https://..."],"features": ["elevator", "air_conditioner"],"firstSeenAt": "2026-10-01T08:00:00.000Z","lastSeenAt": "2026-10-22T08:00:00.000Z","daysOnMarket": 21,"priceHistory": [{ "date": "2026-10-01", "price": 620000 }, { "date": "2026-10-15", "price": 595000 }],"changeType": "price_drop","scrapedAt": "2026-10-22T08:00:00.000Z"}
A short run summary is saved in the key-value store as OUTPUT. It shows pages, listings and blocks per portal.
Tips
- Start small. Try
maxListingsPerPortal: 20first. - In monitor mode, a home is only marked
removedwhen its portal was read fully in that run. If a portal hit the limit or a page failed, nothing is marked removed. So set the limit high enough for your search. - Narrow searches (city plus price and rooms) are faster and cheaper.
- Fotocasa and Habitaclia often hide the exact location. Duplicates are then found by street and number. Homes without a street number are not merged.
Idealista (beta)
Idealista has strong bot protection. Plain requests are blocked, even with a residential proxy. So the Actor opens Idealista in a real browser (Firefox), with a residential proxy in Spain, one page at a time, like a normal visitor. Listing pages are read from the same browser, so they are fast and cheap. This is slower than the other portals and costs a bit more. The Actor does not solve captchas. If Idealista asks for one, Idealista is skipped and the run summary says so. Idealista often hides the exact map position, so many Idealista homes have no coordinates. Idealista is off by default. You can turn off the browser with "Use a real browser for the beta portal".
FAQ
Is it legal to scrape property portals? This Actor only collects public listing data that anyone can see without logging in. It does not collect phone numbers or emails. Listings can still contain personal data, for example a private seller's name. Personal data is protected by GDPR in the European Union and by other laws. Do not use personal data unless you have a legitimate reason. If you are not sure, ask a lawyer.
Why do I get fewer homes than the portal shows?
The limit maxListingsPerPortal stops early. Some filters (rooms, size, type) are applied after reading the page, so portals may return homes that are then skipped.
Something does not work. Please open an issue on the Issues tab with your input. Portals change their pages often and we fix them fast.