Idealista: scrapers and the official API, compared
Spain, Portugal and Italy property sale and rental listings with agency contacts.
Short answer
For most Idealista jobs, start with Idealista Search Listings Price & Feature Scraper: it covers 5 of 7 core fields (address, price, bathrooms, area and 1 more) at $0.99 per 1,000 results on Apify's Free plan. The top published score for Idealista goes to Idealista Scraper by blackfalcondata (93 of 100), a Store tool from another publisher, listed for reference.
From published Store listings, output schemas and the official documentation. Checked 2026-11-12. How the ranking works.Idealista Search Listings Price & Feature Scraper: inputs, code and costOpen in Apify Store
Route map
Each line is one way to get Idealista data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.
- 1 Idealista Search Listings Price & Feature Scraper 14 output fields, pay per event 5 of 7 core fields
$0.99 / 1K - + 7 other Store tools, combined Reference only 6 of 7 core fields
from $0.49 / 1K - API Idealista API for professionals Partner only fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Catalogue Actors for Idealista
Idealista Search Listings Price & Feature Scraper
Pull real estate search-result listings from Idealista for Spain, Italy, and Portugal: price, size, rooms, address, thumbnail, feature flags, and…
Field matrix: who returns what
Every tool with a published output schema, against the 7 fields most Idealista jobs need. A dot means the field name appears in the schema; rows can still leave it empty.
| Tool | address | price | bedrooms | bathrooms | area | agency | url | Fields |
|---|---|---|---|---|---|---|---|---|
| Idealista Search Listings Price & Feature Scraper | ● | ● | – | ● | ● | – | ● | 5/7 |
| Idealista ScraperReference only, by blackfalcondata | ● | ● | – | ● | ● | ● | ● | 6/7 |
| Idealista ScraperReference only, by igolaizola | ● | ● | – | ● | ● | – | ● | 5/7 |
| Idealista Scraper API Any Search URL, No Result Cap & FranceReference only, by dz_omar | ● | ● | – | ● | ● | – | ● | 5/7 |
| Idealista Scraper: Extract Rent & Sale ListingsReference only, by burbn | ● | ● | – | ● | ● | – | ● | 5/7 |
| Idealista ScraperReference only, by dz_omar | ● | ● | – | ● | ● | – | ● | 5/7 |
| Idealista Data, API & ScraperReference only, by sian.agency | ● | ● | – | ● | ● | ● | ● | 6/7 |
| Idealista Agency ScraperReference only, by igolaizola | ● | – | – | – | – | – | ● | 2/7 |
| Tools returning it | 8 | 7 | 0 | 7 | 7 | 2 | 8 |
Field dictionary: the exact keys
The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every Idealista Actor by field.
| Core field | Idealista Search Listings… |
|---|---|
| address | address |
| price | price |
| bedrooms | – |
| bathrooms | bathrooms |
| area | size |
| agency | – |
| url | url |
Download this comparison: CSV · JSON (every tool with a published schema, matching keys per core field, price and score).
All 9 tools, scored
Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 85 | Idealista Search Listings Price & Feature Scraper Catalogue Actor, pay per event | address, price, bathrooms | 14 | $0.99 | 100% of 20 runs | Oct 2026 |
Other Store tools, for reference
Scored with the same published formula and listed for comparison only; this site does not link or recommend them.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 93 | Idealista Scraper Reference only, by blackfalcondata | address, price, bathrooms | 120 | $0.49 | 100% of 5,747 runs | Nov 2026 |
| 91 | Idealista Scraper Reference only, by igolaizola | address, price, bathrooms | 21 | $0.90 | 100% of 81,505 runs | Nov 2026 |
| 89 | Idealista Scraper API Any Search URL, No Result Cap & France Reference only, by dz_omar | address, price, bathrooms | 30 | $3.00 | 98% of 13,870 runs | Oct 2026 |
| 83 | Idealista Scraper: Extract Rent & Sale Listings Reference only, by burbn | address, price, bathrooms | 36 | $5.00 | 100% of 462 runs | Apr 2026 |
| 76 | Idealista Scraper Reference only, by dz_omar | address, price, bathrooms | 43 | not listed | 100% of 62 runs | Aug 2026 |
| 75 | Idealista Scraper +/1K Spain Italy Portugal France Emails Reference only, by memo23 | No published schema | – | $1.00 | 99% of 18,540 runs | Nov 2026 |
| 73 | Idealista Data, API & Scraper Reference only, by sian.agency | address, price, bathrooms | 93 | $30 | 90% of 669 runs | Oct 2026 |
| 68 | Idealista Agency Scraper Reference only, by igolaizola | contactInfo.address.streetName, agencyWebUrl, shortName | 15 | $10 | 90% of 84 runs | Oct 2026 |
What to check before you choose
Teams use Idealista data to compare property asking prices, examine features and monitor listing changes across Spain, Portugal and Italy. Keep country coverage and sale or rental scope explicit when building a comparison dataset.
The professional API route suits approved customers working within its access conditions. A public listing scraper fits research on visible listings when its documented geographic coverage and output fields match the task.
Checklist
- Confirm support for the intended country and listing type.
- Check definitions before mapping rooms to bedrooms or size to area. The published field descriptions leave those meanings unspecified.
- Confirm agency coverage separately from phone. The published schema includes phone but does not list agency.
Where the data is incomplete
The published schema includes priceDropPercent and updatedAt, but neither field has a detailed definition.
The tool publishes address and municipality. Agency identification is also absent from the field list, even though agency is a reference requirement.
Official API route
Idealista API for professionals
Idealista publishes a professional API for approved real-estate customers, focused on property data and listings.
Price. Professional access; rates are not a general public rate card.
Limits. Account approval and usage conditions apply.
Terms and personal data
Keep scraping to public listings and follow Idealista's terms, including the usage conditions attached to any approved API access. Review permitted reuse before sharing listing or contact data. This is general information, not legal advice.
Read Idealista's terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.
How to start
- Open the recommended Idealista tool and confirm its documented support for the intended country, location and sale or rental search.
- Collect a small set of listings using the supported input format, then compare returned records with their source pages.
- Review price, address, url and the meanings of property measurements, then save the dataset for comparison with later collections.
Call Idealista Search Listings Price & Feature Scraper from code
The example input uses the Actor's published defaults; set your own Idealista query before you run it. You need an Apify API token.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"location": "roma-roma",
"operation": "sale",
"propertyType": "homes",
"country": "it",
"propertySubtype": "any",
"rooms": "any",
"bathrooms": "any",
"condition": "any",
"hasLift": False,
"hasTerrace": False,
"hasPool": False,
"hasGarden": False,
"hasGarage": False,
"hasStorageRoom": False,
"hasAirConditioning": False,
"hasBalcony": False,
"isNewDevelopment": False,
"isBankOwned": False,
"isAuction": False,
"isLuxury": False,
"hasSeaViews": False,
"isAccessible": False,
"sortBy": "relevance",
"onlyPriceDrops": False,
"onlyPrivateOwners": False,
"fetchDetails": False,
"maxDetails": 3,
"maxItems": 3,
"partitionLargeSearches": False
}
run = client.actor("vexaloom-labs/idealista-search-listings-price-and-feature").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"location": "roma-roma",
"operation": "sale",
"propertyType": "homes",
"country": "it",
"propertySubtype": "any",
"rooms": "any",
"bathrooms": "any",
"condition": "any",
"hasLift": false,
"hasTerrace": false,
"hasPool": false,
"hasGarden": false,
"hasGarage": false,
"hasStorageRoom": false,
"hasAirConditioning": false,
"hasBalcony": false,
"isNewDevelopment": false,
"isBankOwned": false,
"isAuction": false,
"isLuxury": false,
"hasSeaViews": false,
"isAccessible": false,
"sortBy": "relevance",
"onlyPriceDrops": false,
"onlyPrivateOwners": false,
"fetchDetails": false,
"maxDetails": 3,
"maxItems": 3,
"partitionLargeSearches": false
};
const run = await client.actor("vexaloom-labs/idealista-search-listings-price-and-feature").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~idealista-search-listings-price-and-feature/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","location":"roma-roma","operation":"sale","propertyType":"homes","country":"it","propertySubtype":"any","rooms":"any","bathrooms":"any","condition":"any","hasLift":false,"hasTerrace":false,"hasPool":false,"hasGarden":false,"hasGarage":false,"hasStorageRoom":false,"hasAirConditioning":false,"hasBalcony":false,"isNewDevelopment":false,"isBankOwned":false,"isAuction":false,"isLuxury":false,"hasSeaViews":false,"isAccessible":false,"sortBy":"relevance","onlyPriceDrops":false,"onlyPrivateOwners":false,"fetchDetails":false,"maxDetails":3,"maxItems":3,"partitionLargeSearches":false}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/idealista-search-listings-price-and-feature",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
Questions people ask
Can any user access the professional API?
The published data describes access for approved professional customers. Check eligibility and usage conditions before making the API a dependency.
Does rooms mean bedrooms?
The published schema lists rooms without a detailed definition. Verify its meaning against source listings before mapping it to bedrooms.
Can priceDropPercent replace stored price observations?
Save comparable observations over time if the analysis requires a price history.
Does updatedAt tell me when the data was collected?
The published description does not define which event updatedAt represents. Record collection timing separately until the tool's documentation establishes the field's meaning.
What is the cheapest catalogue Actor for Idealista data?
Idealista Search Listings Price & Feature Scraper lists $0.99 per 1,000 results (pay per event), with 14 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-12.
Which Idealista scraper returns the most core fields?
Idealista Search Listings Price & Feature Scraper covers 5 of the 7 core Idealista fields this page tracks (address, price, bedrooms, bathrooms, area, agency, url), based on its published output schema.
Does Idealista have an official API?
Partner only: Idealista publishes a professional API for approved real-estate customers, focused on property data and listings. Professional access; rates are not a general public rate card.
Is it legal to scrape Idealista?
It depends on what you collect and how. Keep scraping to public listings and follow Idealista's terms, including the usage conditions attached to any approved API access. Review permitted reuse before sharing listing or contact data. Read Idealista's terms (https://www.idealista.com/en/legal/) before you collect, and check whether personal data is involved. This is general information, not legal advice.
More on Idealista
Related websites
Sources
- Idealista Search Listings Price & Feature Scraper on Apify Store
- Idealista API for professionals documentation
- Idealista terms
Cite this page
Scraper Finder. "How to get Idealista data." https://scraperfinder.com/sites/idealista/ (data checked 2026-11-12).
Highest-scoring catalogue Actor
Idealista Search Listings Price & Feature Scraper: 5 of 7 core fields, $0.99 per 1,000 results, score 85. The highest score overall is 93 (Idealista Scraper, a Store tool from another publisher); both are in the table above.