Spain Portugal Real Estate Scraper
Pricing
from $0.05 / actor start
Spain Portugal Real Estate Scraper
Scrape Idealista, Fotocasa, Milanuncios & Supercasa in one run. 9 cities, 70+ fields, cross-source deduplication. The only Milanuncios scraper on Apify.
Pricing
from $0.05 / actor start
Rating
5.0
(1)
Developer
Casa Radar
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Spain & Portugal Real Estate Multi-Source Scraper
Get only NEW rental listings from 4 portals in one run: Idealista, Fotocasa, Milanuncios, and Supercasa.
Incremental mode — tracks what you've already seen. Schedule it every 15 min or every 4 hours — get only fresh listings every time. No duplicates, no re-processing.
Key features
- Only new listings — tracks seen IDs between runs, returns only what's new
- 4 sources, 1 actor — competitors sell each portal separately
- Milanuncios — the only scraper on Apify for Spain's largest classifieds
- Cross-source dedup — same apartment on Idealista and Fotocasa = one result
- Smart scheduling — after each run, tells you the optimal interval based on listing flow
- 9 cities — Barcelona, Madrid, Sevilla, Valencia, Alicante + Lisbon, Porto, Algarve, Setúbal
- 70+ fields — price, GPS, photos, rooms, floor, elevator, AC, parking, terrace, pool, energy rating, agency
How incremental mode works
- First run: scrapes all listings, saves their IDs
- Next runs: scrapes listings, filters out already-seen ones, returns only new
- Each run shows: "5 new listings. Average: 8.2 new/hour. Recommended: run every 15 minutes"
Set onlyNew: false to get all listings without filtering.
Supported portals
| Portal | Countries | Data | Notes |
|---|---|---|---|
| Idealista | Spain, Portugal | Full listing: GPS, photos, 40+ features, phone, agency | Most complete data |
| Fotocasa | Spain | Property details, extras, agency, phone | Spain only |
| Milanuncios | Spain | Classifieds with geo, photos, attributes | No phone/agency phone |
| Supercasa | Portugal | Listings with GPS, features, description, phone | Portugal only |
Field availability by source
| Field | Idealista | Fotocasa | Milanuncios | Supercasa |
|---|---|---|---|---|
| Price, title, URL | Yes | Yes | Yes | Yes |
| GPS coordinates | Yes | Yes | Yes | Yes |
| Photos | Yes | Yes | Yes | Yes |
| Rooms, bathrooms | Yes | Yes | Yes | Yes |
| Size m² | Yes | Yes | Yes | Yes |
| Floor | Yes | Yes | Yes | No |
| District | Yes | Yes | No | Yes |
| Address | Yes | Yes | No | No |
| Description | Yes | Yes | Yes | Yes |
| Agency name | Yes | Yes | Yes | Yes |
| Phone | Yes | Yes | No | Yes |
| Elevator, parking, AC | Yes | Yes | No | Yes |
| Furnished | Yes | Yes | No | Yes |
| Terrace, pool, garden | Yes | Yes | No | Yes |
| Energy rating | Yes | No | Yes | Yes |
| Penthouse/duplex/studio | Yes | No | No | No |
Input
| Field | Type | Default | Description |
|---|---|---|---|
city | string | barcelona | City to scrape |
sources | array | ["all"] | Portals: all, idealista, fotocasa, milanuncios, supercasa |
maxItems | integer | 50 | Max listings per source (1-200) |
onlyNew | boolean | true | Return only new listings (not seen before) |
proxyUrl | string | null | Custom proxy (uses built-in proxy by default) |
Cities
- Spain:
barcelona,madrid,sevilla,valencia,alicante→ Idealista + Fotocasa + Milanuncios - Portugal:
lisbon,porto,algarve,setubal→ Idealista + Supercasa
Output example
{"source": "idealista","sourceId": "34567890","url": "https://www.idealista.com/inmueble/34567890/","title": "Piso en alquiler en calle de Mallorca, Eixample","price": 1200,"currency": "EUR","rooms": 2,"bathrooms": 1,"sizeM2": 65.0,"floor": "4","hasElevator": true,"description": "Luminoso piso reformado...","photos": ["https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/12/34/56/photo1.webp","https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/78/90/ab/photo2.webp"],"district": "Eixample","address": "Carrer de Mallorca, 200","neighborhood": "Dreta de l'Eixample","latitude": 41.3950,"longitude": 2.1734,"city": "barcelona","country": "es","agencyName": "Inmobiliaria Barcelona SL","phone": "934567890","contactType": "professional","isFurnished": true,"hasParking": false,"hasTerrace": true,"hasBalcony": false,"hasGarden": false,"hasPool": false,"hasAC": true,"hasStorage": false,"petsAllowed": null,"energyRating": "c","isPenthouse": false,"isDuplex": false,"isStudio": false,"status": "good"}
Use cases
- Real-time alerts — schedule every 15 min, get new listings via webhook or API
- Market research — compare prices across portals and cities
- Lead generation — fresh rental listings for agents or investors
- Price monitoring — track new listings and price changes
- Data pipelines — feed into your CRM, database, or analytics
Cross-source deduplication
Same property on multiple portals? You get one result. Matching criteria:
- GPS coordinates within ~100m
- Same number of rooms
- Price within ±5%
- Size within ±10% (when available)
Scheduling
Best used with Apify Scheduler:
- Set schedule (recommended: every 1-4 hours)
- Set
onlyNew: true(default) - Connect webhook or use Dataset API to get results
- Each run returns only fresh listings
After each run, the Actor shows the optimal interval:
"5 new listings. Average: 8.2 new/hour. Recommended: run every 15 minutes"
Pricing
$0.05 per run (pay per event). No monthly fees, no per-result charges. Run as often as you need.
| Usage | Cost/day | Cost/month |
|---|---|---|
| Every 4 hours | $0.30 | $9 |
| Every hour | $1.20 | $36 |
| Every 15 min | $4.80 | $144 |
You pay per run, not per result — cost is predictable.