Idealista $1💰 Search By URLs and Keywords
Pricing
from $1.00 / 1,000 results
Idealista $1💰 Search By URLs and Keywords
From $1/1K. Extract property listings from Idealista Spain, Italy, and Portugal. Get prices, sizes, rooms, coordinates, advertiser details, phone numbers, descriptions, photos, and 35+ fields per listing. Supports buy, rent, and rooms via filters or direct Idealista URLs. Blazing fast, reliable.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Idealista Scraper (Spain, Italy, Portugal)
Extract property listings from idealista across its three markets: idealista.com (Spain), idealista.it (Italy), and idealista.pt (Portugal). The scraper pulls prices, size, rooms, coordinates, advertiser and phone, full descriptions, photo galleries, and 35+ fields per listing. It supports buy, rent, and rooms, with a Search mode that builds URLs for you and a URL mode that scrapes any idealista search link you paste.
Why this scraper
- Three markets in one actor: Spain, Italy, and Portugal, selectable per run.
- 50+ fields per listing, including price per m2, energy rating, GPS coordinates, advertiser name and phone, construction year, the full description, and the complete photo gallery with no repeated images.
- Two modes: search by location, or paste idealista URLs directly (multi-URL supported, with forward pagination).
- Buy, rent, and room listings, plus price and bedroom filters (Search mode) that work the same in every market. In URL mode the pasted URL's own filters apply.
- Fast and cost-efficient: low memory footprint and quick runs keep large pulls cheap.
- Optional detail enrichment: turn it off for a faster, lean run, or on for the full record.
Data you get
Sample shape: values are illustrative placeholders, not from a live listing.
| Field | Example |
|---|---|
| id | "00000001" |
| url | "https://www.idealista.com/inmueble/00000001/" |
| market | "ES" |
| operation | "sale" |
| title | "Sample Flat in Example Street" |
| propertyType | "flat" |
| price | 450000 |
| priceText | "450.000 EUR" |
| pricePerM2 | 4736 |
| previousPrice | 480000 |
| priceDropped | true |
| currency | "EUR" |
| size | 95.0 |
| rooms | 3 |
| bathrooms | 2 |
| floor | "3rd floor with lift" |
| hasLift | true |
| hasTerrace | true |
| hasGarage | false |
| orientation | "South facing" |
| heating | "Central heating" |
| condition | "Second hand, good condition" |
| constructionYear | 1985 |
| energyConsumptionRating | "D" |
| energyEmissionsRating | "D" |
| reference | "REF-0001" |
| lastUpdatedText | "Listing updated on 1 January" |
| neighborhood | "Example District" |
| city | "Example City" |
| photoCount | 24 |
| isBranded | true |
| hasVideo | true |
| has3DTour | false |
| hasFloorPlan | true |
| description | "Full advertiser description text appears here when fetchDetails is on." |
| latitude | 40.0000 |
| longitude | -3.0000 |
| address | "Example District, Example City" |
| advertiserName | "Sample Agency" |
| advertiserType | "professional" |
| phone | "+34 000 000 000" |
| features | ["95 m2", "3 rooms", "2 bathrooms", "terrace"] |
| images | ["https://img4.idealista.com/blur/WEB_DETAIL/0/id.pro.es.image.master/00/00/00/000000000.jpg"] |
| imageCount | 24 |
| thumbnail | "https://img4.idealista.com/blur/591_420_mq/0/id.pro.es.image.master/00/00/00/000000000.jpg" |
| tags | ["price drop"] |
| source | "www.idealista.com" |
| scrapedAt | "2026-01-01T00:00:00.000000+00:00" |
How to use
Search Spain (Madrid), buy, lean run:
{"mode": "search","market": "es","operation": "sale","locations": ["madrid-madrid"],"maxPages": 3,"maxListings": 90,"fetchDetails": false,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "ES" }}
Search with price and bedroom filters, full detail:
{"mode": "search","market": "es","operation": "sale","locations": ["barcelona-barcelona"],"minPrice": 200000,"maxPrice": 500000,"minBedrooms": 3,"fetchDetails": true,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "ES" }}
Search Italy (rent in Rome):
{"mode": "search","market": "it","operation": "rent","locations": ["roma-roma"],"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "IT" }}
URL mode (paste idealista search links, multiple supported):
{"mode": "url","urls": ["https://www.idealista.com/venta-viviendas/madrid-madrid/","https://www.idealista.pt/comprar-casas/lisboa/"],"maxPages": 2,"fetchDetails": true}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | string | "search" | "search" or "url". |
| market | string | "es" | Market for Search mode: es, it, or pt. URL mode infers it per URL. |
| operation | string | "sale" | sale, rent, or room (Search mode). |
| locations | array | ["madrid-madrid"] | idealista location slugs (Search mode). |
| urls | array | (example) | idealista search URLs (URL mode). |
| minPrice | integer | (none) | Minimum price. Search mode only. |
| maxPrice | integer | (none) | Maximum price. Search mode only. |
| minBedrooms | integer | (none) | Minimum rooms. Search mode only. |
| maxBedrooms | integer | (none) | Maximum rooms. Search mode only. |
| maxPages | integer | 60 | Pages per search (30 per page). 60 is idealista's per-search ceiling (~1,800 listings); runs are also bounded by maxListings. |
| maxListings | integer | 100 | Total listings cap across all searches. 0 means unlimited. |
| maxConcurrency | integer | 6 | Parallel detail fetches (1 to 12) when detail pages are on. |
| fetchDetails | boolean | true | Open detail pages for coordinates, advertiser, phone, full description, and photos. |
| proxy | object | Residential | Proxy configuration. Residential in the listing's country is recommended. |
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape — the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record — not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Output example
Sample shape: values are illustrative placeholders, not from a live listing.
{"id": "00000001","url": "https://www.idealista.com/inmueble/00000001/","market": "ES","operation": "sale","title": "Sample Flat in Example Street","propertyType": "flat","price": 450000,"priceText": "450.000 EUR","pricePerM2": 4736,"previousPrice": 480000,"priceDropped": true,"currency": "EUR","size": 95.0,"rooms": 3,"bathrooms": 2,"floor": "3rd floor with lift","hasLift": true,"hasTerrace": true,"orientation": "South facing","heating": "Central heating","condition": "Second hand, good condition","constructionYear": 1985,"energyConsumptionRating": "D","energyEmissionsRating": "D","reference": "REF-0001","lastUpdatedText": "Listing updated on 1 January","description": "Full advertiser description text appears here when fetchDetails is on.","latitude": 40.0000,"longitude": -3.0000,"address": "Example District, Example City","neighborhood": "Example District","city": "Example City","photoCount": 24,"isBranded": true,"hasVideo": true,"has3DTour": false,"hasFloorPlan": true,"advertiserName": "Sample Agency","advertiserType": "professional","phone": "+34 000 000 000","features": ["95 m2", "3 rooms", "2 bathrooms", "terrace"],"images": ["https://img4.idealista.com/blur/WEB_DETAIL/0/id.pro.es.image.master/00/00/00/000000000.jpg"],"imageCount": 24,"source": "www.idealista.com","scrapedAt": "2026-01-01T00:00:00.000000+00:00"}
Plan requirements
idealista serves listings only to residential connections in the listing's country, so a residential proxy is required for reliable results. On Apify, residential proxy access is included from the Starter plan upward. The actor defaults the proxy country to your chosen market. Free-tier accounts without residential access will likely receive zero results; add residential proxy credit and re-run.
