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 agency name for homes, offices, land, and more.

Open in Apify Store$0.99 / 1K on Free

Short answer

Idealista Search Listings Price & Feature Scraper is an Apify Store Actor for Idealista data that returns 14 published output fields, including price, size, bathrooms, address. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 37 input settings, none required. It covers 5 of the 7 core Idealista fields this site tracks. Last updated Oct 23, 2026.

From the public Store listing and published build schema, synced 2026-11-12.
Idealista Real estateLead generationAutomation

What it returns

14 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • propertyCode
  • price
  • priceDropPercent
  • size
  • rooms
  • bathrooms
  • address
  • municipality
  • propertyType
  • propertySubtype
  • energyRating
  • phone
  • updatedAt
  • url

Not in the schema among the core Idealista fields: bedrooms, agency. The field matrix shows which other tools return them.

Input

Input settings for Idealista Search Listings Price & Feature Scraper
SettingTypeRequiredDefaultWhat it does
mode string No – What to scrape: a location search, your own search URLs, or individual property URLs/IDs. Inferred from the supplied URLs when omitted.
location string No madrid-madrid City or area slug from an Idealista URL (e.g. madrid-madrid, barcelona-barcelona, lisboa, roma-roma). You can also paste a full Idealista search URL. Used in Search by location mode.
operation string No sale Properties for sale or for rent.
propertyType string No homes Type of property to search for.
country string No es Idealista market: Spain, Portugal, or Italy. Auto-detected when you use URLs.
startUrls array No – Idealista search-result URLs to scrape (filters and map-area URLs are kept as-is). Used in Search URLs mode.
propertyUrls array No – Individual Idealista property URLs or numeric property IDs. Used in Property URLs / IDs mode.
propertySubtype string No any Narrow homes to a subtype (flat, penthouse, duplex, villa, etc.).
priceMin integer No – Drop listings cheaper than this price. Rounded to Idealista's nearest price bucket.
priceMax integer No – Drop listings more expensive than this price. Rounded to Idealista's nearest price bucket.
Show the other 27 settings
More input settings for Idealista Search Listings Price & Feature Scraper
SettingTypeRequiredDefaultWhat it does
sizeMin integer No – Drop listings smaller than this size. Rounded to Idealista's nearest size bucket.
sizeMax integer No – Drop listings larger than this size. Rounded to Idealista's nearest size bucket.
rooms string No any Number of rooms.
bathrooms string No any Number of bathrooms.
condition string No any Property condition.
hasLift boolean No false Only listings with a lift.
hasTerrace boolean No false Only listings with a terrace.
hasPool boolean No false Only listings with a swimming pool.
hasGarden boolean No false Only listings with a garden.
hasGarage boolean No false Only listings with a garage or parking space.
hasStorageRoom boolean No false Only listings with a storage room.
hasAirConditioning boolean No false Only listings with air conditioning.
hasBalcony boolean No false Only listings with a balcony.
isNewDevelopment boolean No false Only new-development listings.
isBankOwned boolean No false Only bank-owned listings where the source marks them.
isAuction boolean No false Only auction listings where the source marks them.
isLuxury boolean No false Only luxury listings.
hasSeaViews boolean No false Only listings advertised with sea views.
isAccessible boolean No false Only accessible homes.
sortBy string No relevance Result order.
onlyPriceDrops boolean No false Keep only listings whose price was reduced.
minPriceDropPercent integer No – Keep only listings reduced by at least this percentage. Implies price-drop filtering.
onlyPrivateOwners boolean No false Keep only private-seller listings.
fetchDetails boolean No false Visit each listing's page to add bathrooms, energy rating, year built, condition, full description, gallery and agency phone. Slower and uses more requests.
maxDetails integer No 100 Maximum number of listing pages to enrich when Fetch Details is on.
maxItems integer No 100 Maximum number of listings to save.
partitionLargeSearches boolean No true When a search has more than 1,800 results and you ask for more, split it by price buckets so the 1,800-per-search cap is bypassed.

Example input

Built from the input form's published example values and defaults.

{
  "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 it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

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.

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of Idealista Search Listings Price & Feature Scraper results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

Where it fits among Idealista routes

It ranks 1 of 1 catalogue Actors for Idealista on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.

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.

Official route: Idealista API for professionals

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.

Official documentation

Other Store tools for Idealista

Reference only, from their public listings.

Other Store tools for Idealista
ToolFieldsPrice / 1K
Idealista Scraper120$0.49
Idealista Scraper21$0.90
Idealista Scraper API Any Search URL, No Result Cap & France30$3.00
Idealista Scraper: Extract Rent & Sale Listings36$5.00
Idealista Scraper43not listed

What people use it for

  • Find property listings
  • Track price changes
  • Analyze property features

Trulia Listings & Price History Scraper

Scrape property listings from Trulia - for sale, for rent, and sold. Supports search pages and direct property URLs. No login required.

56 output fields $0.99 per 1K

VivaReal Colombia Real Estate Listings by City & Price

Search VivaReal Colombia for properties for sale or rent by city, neighborhood, property type, price range, bedrooms, and area, and get back…

13 output fields $0.99 per 1K

Brazil Rental & Sale Listings by City (QuintoAndar)

Search Brazilian rental and sale property listings by city and transaction type: price breakdown, bedrooms, bathrooms, area, furnishing, and…

9 output fields $0.99 per 1K

Century 21 Listings & Property Detail Finder

Find Century 21 homes for sale or rent by city, county, neighborhood, or ZIP with price and size filters, or look up a property by address with…

9 output fields $0.99 per 1K

Crexi Commercial Property Listings & Pricing Extractor

Collects active commercial real estate listings from Crexi across any US state and 14 property types, with asking price, square footage, location,…

11 output fields $0.99 per 1K

Fotocasa Spain Sale & Rental Listings Scraper

Search Fotocasa listings for sale or rent across Spain by city, property type, price range, and bedrooms. Each result includes price, size,…

10 output fields $0.99 per 1K

Questions people ask

How much does Idealista Search Listings Price & Feature Scraper cost?

The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.

What data does Idealista Search Listings Price & Feature Scraper return?

Its published output schema lists 14 fields: propertyCode, price, priceDropPercent, size, rooms, bathrooms, address, municipality, propertyType, propertySubtype, energyRating, phone, and 2 more. A listed field is not guaranteed to be filled in every row.

What input does Idealista Search Listings Price & Feature Scraper need?

No input is strictly required; the defaults run as is. Common settings: mode, location, operation, propertyType, country, startUrls.

How do I run Idealista Search Listings Price & Feature Scraper from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/idealista-search-listings-price-and-feature").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/idealista-search-listings-price-and-feature").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~idealista-search-listings-price-and-feature/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-10-23 Data synced 2026-11-12
Cite this page

Scraper Finder. "Idealista Search Listings Price & Feature Scraper." https://scraperfinder.com/catalogue/idealista-search-listings-price-and-feature/ (data checked 2026-11-12).

Run Idealista Search Listings Price & Feature Scraper

$0.99 per 1,000 results. Paste the example input above, set your Idealista query, then export the dataset. Still choosing? Compare every Idealista route.

Open in Apify Store