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

1 catalogue Actor 8 other Store tools Official API: Partner only Lowest rate  $0.49 per 1K

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.

Route diagram for Idealista dataIdealista Search Listings Price & Feature Scraper: stops at 4 of the 10 fields shown; Other Store tools (7): stops at 9 of the 10 fields shown; Idealista API for professionals: partner, field coverage not compared.Idealistaagencyaddresspricebedroomsbathroomsareadescriptionoperationprovincethumbnail1+API

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…

5/7 core fields 14 output fields $0.99 per 1K Open in Apify Store

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.

Which tools return each core Idealista field, from published output schemas
TooladdresspricebedroomsbathroomsareaagencyurlFields
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 it8707728

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.

Output keys for each core Idealista field in the top catalogue Actors
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.

Catalogue Actors for Idealista, ranked by the published method
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.

Other Store tools for Idealista, for reference
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.

Official documentation

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

  1. Open the recommended Idealista tool and confirm its documented support for the intended country, location and sale or rental search.
  2. Collect a small set of listings using the supported input format, then compare returned records with their source pages.
  3. 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

Sources

Text updated 2026-11-12 Data checked 2026-11-12
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.

Open in Apify Store