Idealista, Fotocasa & Supercasa Scraper — Spain & Portugal avatar

Idealista, Fotocasa & Supercasa Scraper — Spain & Portugal

Pricing

$0.10 / actor start

Go to Apify Store
Idealista, Fotocasa & Supercasa Scraper — Spain & Portugal

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

Casa Radar

Maintained by Community

Actor stats

2

Bookmarked

48

Total users

2

Monthly active users

2 days ago

Last modified

Features

Limited permissions

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 countryPortals returned
🇪🇸 Spain — barcelona, madrid, sevilla, valencia, alicante, malaga, bilbao, baleares, tenerife, las-palmas (Canary Islands)Idealista + Fotocasa + Milanuncios
🇵🇹 Portugal — lisbon, porto, algarve, setubalIdealista + 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

  1. First run: scrapes all listings, saves their IDs
  2. Next runs: scrapes listings, filters out already-seen ones, returns only new
  3. 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

PortalCountriesDataNotes
IdealistaSpain, PortugalFull listing: GPS, photos, 40+ features, phone, agencyMost complete data
FotocasaSpainProperty details, extras, agency, phoneSpain only
MilanunciosSpainClassifieds with geo, photos, attributesNo phone/agency phone
SupercasaPortugalListings with GPS, features, description, phonePortugal only

Field availability by source

FieldIdealistaFotocasaMilanunciosSupercasa
Price, title, URLYesYesYesYes
GPS coordinatesYesYesYesYes
PhotosYesYesYesYes
Rooms, bathroomsYesYesYesYes
Size m²YesYesYesYes
FloorYesYesYesNo
DistrictYesYesNoYes
AddressYesYesNoNo
DescriptionYesYesYesYes
Agency nameYesYesYesYes
PhoneYesYesNoYes
Elevator, parking, ACYesYesNoYes
FurnishedYesYesNoYes
Terrace, pool, gardenYesYesNoYes
Energy ratingYesNoYesYes
Penthouse/duplex/studioYesNoNoNo
Publication date (publishedAt)Rent onlyYesYesNo
Price per m², alsoListedOnYesYesYesYes

Input

FieldTypeDefaultDescription
citystringbarcelonaCity to scrape
operationstringrentrent = rental listings, sale = homes for sale
minPrice / maxPriceinteger—Price range in EUR (monthly rent or asking price)
minRoomsinteger—At least this many bedrooms
minSize / maxSizeinteger—Size range in m²
sourcesarray["all"]Portals: all, idealista, fotocasa, milanuncios, supercasa
maxItemsinteger50Max listings per source (1-200)
onlyNewbooleantrueReturn only new listings (not seen before)
proxyUrlstringnullCustom 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

  1. Schedule this Actor every hour (Apify Console → Schedules), onlyNew: true.
  2. In n8n, Make or Zapier, use the Apify app: trigger "Actor run finished" → "Get dataset items".
  3. Add a Google Sheets "Append row" step. Each run adds only the new listings.

Telegram or email alert for a good deal

  1. Run with your filters, for example {"city": "valencia", "maxPrice": 1200, "minRooms": 2}.
  2. In n8n or Make, after "Get dataset items", send each item to Telegram, Slack or email.
  3. Use pricePerM2 to 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:

  1. Set schedule (recommended: every 1-4 hours)
  2. Set onlyNew: true (default)
  3. Connect webhook or use Dataset API to get results
  4. 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.

UsageCost/dayCost/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:

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.

⌂ 换网址