Idealista API Scraper
Pricing
Pay per event + usage
Idealista API Scraper
Scrape Idealista real-estate listings (ES/IT/PT/FR) directly from the Idealista mobile API — price, size, rooms, location, coordinates, property type, URL and the seller/agency CONTACT (commercial name + phone number).
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Idealista Property Scraper – Homes for Sale & Rent 🏠
Scrape real-estate listings from Idealista — the leading property portal in Spain, Italy and Portugal — as clean, structured data. For any city, area or neighbourhood this Idealista scraper returns every listing with its price, size, rooms, address, geolocation, photos and listing URL, plus price-drop history and advertiser info. It talks directly to Idealista's private mobile API (reversed from the Idealista Android app) and authenticates itself, so there's no Idealista account, no login, and no API key — just enter a location and run.
Perfect for building property-market datasets, price-analytics tools, real-estate lead lists, investment research and comparables — get Idealista listing data in seconds instead of maintaining a fragile browser scraper.
What you can scrape
- 🏠 Property listings — every home for sale or rent in an area: price, €/m², size, rooms, bathrooms, floor, lift, address, district, municipality, province, latitude/longitude.
- 📉 Price history — former price and price-drop percentage where a listing has been reduced.
- 🖼️ Photos & media — thumbnail plus the full photo gallery URLs and photo count.
- 🏢 Advertiser — agency / private-seller name and contact phone where published.
- 📝 Full detail (optional) — the complete description, features and extended data per listing.
- 🗺️ Location codes (FREE) — look up Idealista's hierarchical location codes for any place name
(Provincia → Municipio → Distrito → Barrio), each with its listing count, so you can target a
search precisely via
locationIds. This mode is free — no per-row charge.
Key features
| Feature | Details |
|---|---|
| Data source | Idealista mobile API — the same feed the Idealista app uses |
| Markets | 🇪🇸 Spain, 🇮🇹 Italy, 🇵🇹 Portugal |
| Auth | None — self-authenticating, no account, no cookies, no API key |
| Search by | Place name (auto-resolved), coordinates + radius, or raw location IDs |
| Filters | Sale/rent, property type, price, size, bedrooms, free text |
| Export | JSON, CSV, Excel, HTML, or via the Apify API |
Popular use cases
- Real-estate market analytics — build datasets of asking prices, €/m² and inventory by area over time.
- Investment & comparables research — pull all listings in a district to value a property against the market.
- Lead generation — collect for-sale-by-agency and private listings with contact details.
- Price-drop monitoring — track reductions across an area to spot motivated sellers.
- Property-portal & aggregator feeds — power a search widget or a "new listings" alert.
Input
Set mode to search (default, scrapes listings) or locations (free — look up location codes).
Location codes (free) — get the code tree/list for a place name, then reuse the location_id
values in a search:
{ "mode": "locations", "country": "es", "location": "Madrid" }
Search by a plain place name (resolved via Idealista's own location search):
{"country": "es","operation": "sale","location": "Madrid","propertyType": "homes","priceMax": 500000,"maxItems": 100,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Notes |
|---|---|
country | Market: es (Spain), it (Italy), pt (Portugal) |
operation | sale or rent |
location | A place name — city, area or neighbourhood (e.g. Madrid, Malasaña) |
locationIds | Advanced: Idealista locationIds to search directly |
center | Radius search around a coordinate, e.g. 40.4168,-3.7038 |
propertyType | homes, flats, houses, premises, offices, garages, lands, … |
priceMin / priceMax / sizeMin / sizeMax / bedrooms | Optional filters |
includeDetails | Fetch each listing's full detail page (billed separately) |
maxItems | Cap rows (0 = all pages) |
proxyConfiguration | Apify Proxy (default) — recommended |
Output
One clean row per listing — export as JSON, CSV or Excel:
{"id": "106542145","url": "https://www.idealista.com/inmueble/106542145/","operation": "sale","property_type": "flat","price": 1850000,"currency": "€","price_by_area": 14800,"former_price": 1950000,"price_drop_pct": 5,"size_m2": 125,"rooms": 2,"bathrooms": 2,"floor": "5","has_lift": true,"address": "Calle de Velázquez","neighborhood": "Recoletos","district": "Barrio de Salamanca","municipality": "Madrid","province": "Madrid","latitude": 40.4256,"longitude": -3.6844,"num_photos": 30,"photos": ["https://img.idealista.com/…"],"advertiser": "Example Real Estate","phone": "+34..."}
Why this Idealista scraper
- No account, no cookies, no API key — it authenticates itself against the mobile API.
- Search the way a human does — type a place name and it resolves the location for you.
- Rich, structured rows — price, €/m², price drops, geo, photos and advertiser, ready for analysis.
- All three markets — Spain, Italy and Portugal from one actor.
Pricing
Pay-per-event, so you only pay for the data you pull:
- $0.001 per listing
- $0.001 per listing when full detail enrichment is enabled (
includeDetails) - Location codes (
mode: locations) are free — no per-row charge
FAQ
Do I need an Idealista account or API key? No. The actor authenticates itself against Idealista's mobile API — there's nothing to sign up for.
Which countries are covered?
Spain, Italy and Portugal — set country to es, it or pt.
Can I search by neighbourhood, not just city?
Yes — any place name Idealista recognises is resolved automatically, or search around a coordinate
with center.
Can I export to CSV or Excel? Yes — JSON, CSV, Excel, HTML, or straight from the Apify API and dataset.
Disclaimer
This is an unofficial tool and is not affiliated with, endorsed by, or sponsored by Idealista. It returns read-only public listing data (no accounts, no messaging). All trademarks belong to their respective owners; use the scraped data responsibly and in line with applicable terms and laws.