Idealista, Fotocasa & Supercasa Scraper — Spain & Portugal
Pricing
$0.10 / actor start
Idealista, Fotocasa & Supercasa Scraper — Spain & Portugal
Scrape rental listings or homes for sale from Idealista, Fotocasa, Milanuncios & Supercasa in one run. Filters by price, bedrooms, size. 14 areas incl. Málaga, Bilbao, Balearic & Canary Islands. 41 fields with €/m², publication date and cross-portal links.
Pricing
$0.10 / actor start
Rating
3.2
(2)
Developer
Casa Radar
Maintained by CommunityActor stats
2
Bookmarked
48
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Get only NEW rental listings or homes for sale in one run — Idealista + Fotocasa + Milanuncios for Spain, Idealista + Supercasa for Portugal — with cross-source deduplication.
📍 Coverage by country — please read before running
Sources are country-specific. The portals you receive depend on the city you scrape.
sources: ["all"]automatically picks the right portals for that city — you don't get every portal on every run.
City country Portals returned 🇪🇸 Spain — barcelona, madrid, sevilla, valencia, alicante, malaga, bilbao, baleares, tenerife, las-palmas (Canary Islands) Idealista + Fotocasa + Milanuncios 🇵🇹 Portugal — lisbon, porto, algarve, setubal Idealista + Supercasa Fotocasa and Milanuncios are Spain-only. Supercasa is Portugal-only. So a Spanish run will not include Supercasa, and a Portuguese run will not include Fotocasa/Milanuncios — this is by design, not a missing source.
Rent or sale — set operation to rent (default) or sale. Same cities, same portals, same fields. For sale, price is the asking price.
Filters — minPrice, maxPrice, minRooms, minSize, maxSize. All optional.
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
- Rent or sale —
operation: "sale"returns homes for sale from the same portals - Filters — price, bedrooms, size; Idealista and Supercasa apply them in their own search
- Price per m², publication date, and links to the same home on other portals in every result
- Up to 4 sources, 1 actor — 3 portals per Spanish city, 2 per Portuguese city (competitors sell each portal separately)
- Milanuncios included — Spain's largest classifieds site, in the same run
- 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
- 14 areas — Barcelona, Madrid, Sevilla, Valencia, Alicante, Málaga, Bilbao, Balearic Islands, Tenerife, Las Palmas (Canary Islands) + Lisbon, Porto, Algarve, Setúbal
- 41 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.
Rent and sale keep separate "already seen" lists. You can schedule a rent run and a sale run for the same city; one never hides listings from the other.
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 |
Publication date (publishedAt) | Rent only | Yes | Yes | No |
Price per m², alsoListedOn | Yes | Yes | Yes | Yes |
Input
| Field | Type | Default | Description |
|---|---|---|---|
city | string | barcelona | City to scrape |
operation | string | rent | rent = rental listings, sale = homes for sale |
minPrice / maxPrice | integer | — | Price range in EUR (monthly rent or asking price) |
minRooms | integer | — | At least this many bedrooms |
minSize / maxSize | integer | — | Size range in m² |
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,malaga,bilbao,baleares,tenerife,las-palmas→ Idealista + Fotocasa + Milanuncios - Portugal:
lisbon,porto,algarve,setubal→ Idealista + Supercasa
Province-level areas:
malaga= province of Málaga (Málaga city and the Costa del Sol: Marbella, Estepona, Fuengirola, …);bilbao= province of Bizkaia;baleares= Balearic Islands (Mallorca, Menorca, Ibiza, Formentera).Canary Islands are province-level:
tenerife= province of Santa Cruz de Tenerife (Tenerife, La Palma, La Gomera, El Hierro);las-palmas= province of Las Palmas (Gran Canaria, Fuerteventura, Lanzarote).
Output example
{"source": "idealista","operation": "rent","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","pricePerM2": 18,"publishedAt": "2026-11-11T09:41:00+00:00","alsoListedOn": [{"source": "fotocasa", "url": "https://www.fotocasa.es/es/alquiler/vivienda/barcelona-capital/183456789/d", "price": 1200}]}
Ready-made workflows
New homes in Google Sheets every hour
- Schedule this Actor every hour (Apify Console → Schedules),
onlyNew: true. - In n8n, Make or Zapier, use the Apify app: trigger "Actor run finished" → "Get dataset items".
- Add a Google Sheets "Append row" step. Each run adds only the new listings.
Telegram or email alert for a good deal
- Run with your filters, for example
{"city": "valencia", "maxPrice": 1200, "minRooms": 2}. - In n8n or Make, after "Get dataset items", send each item to Telegram, Slack or email.
- Use
pricePerM2to alert only on homes cheaper than the area average.
One API call, results in the response
curl -X POST "https://api.apify.com/v2/acts/friendly_keelboat~spain-portugal-real-estate/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"city": "lisbon", "operation": "sale", "maxPrice": 400000}'
Rent vs sale yield check — schedule a rent run and a sale run for the same city. Compare pricePerM2 of rentals and homes for sale by district to find areas with the best rental yield.
Use with AI agents (MCP)
This Actor works as a tool for AI agents through the Apify MCP server (Claude, ChatGPT, Cursor, n8n AI Agent and other MCP clients). Add the Actor friendly_keelboat/spain-portugal-real-estate to your MCP server, then ask in plain language:
- "Find 2-bedroom rentals in Valencia under €1,200 published today."
- "Show homes for sale in Lisbon under €400,000 and their price per m²."
- "Compare rental prices in Málaga and Alicante for 60–80 m² apartments."
The agent gets Spanish and Portuguese property listings — rental listings and homes for sale with prices, sizes, GPS and photos — from Idealista, Fotocasa, Milanuncios and Supercasa. It is a practical Idealista API alternative: no API key or approval from the portal is needed.
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 and for-sale listings for agents or investors
- Investment research — new homes for sale next to new rentals in the same city
- 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. The other portals' links and prices are in its alsoListedOn. 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.10 per run (pay per event, default memory). No monthly fees, no per-result charges. Run as often as you need.
| Usage | Cost/day | Cost/month |
|---|---|---|
| Every 4 hours | $0.60 | $18 |
| Every hour | $2.40 | $72 |
| Every 15 min | $9.60 | $288 |
You pay per run, not per result — cost is predictable.
Single-portal editions
Need only one portal? The same scraper is available per portal:
- Idealista Scraper — Spain & Portugal
- Fotocasa Scraper — Spain
- Milanuncios Real Estate Scraper — Spain
- Supercasa Scraper — Portugal
This multi-source Actor costs the same per run and returns all portals of the country at once, with cross-portal deduplication.
Feedback
Found a problem or need another city or field? Open an issue on the Issues tab. We read every issue.
If the Actor works well for you, please leave a review on the Reviews tab. It helps other users find it.