Idealista Data, API & Scraper — Spain, Italy, Portugal
Pricing
from $0.43 / 1,000 extracted properties
Idealista Data, API & Scraper — Spain, Italy, Portugal
Idealista scraper and API alternative for Spain, Italy and Portugal. Search sale and rental homes, new builds, rooms, garages, offices, land and commercial units by city, search URL, map area or CSV. Rows carry price, size, rooms, price drops, energy rating, photos and agency phones.
Pricing
from $0.43 / 1,000 extracted properties
Rating
4.4
(9)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
22
Bookmarked
705
Total users
38
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
Idealista Scraper & API 🏠
Idealista publishes no public API. This Actor is the alternative. It exports listings from idealista.com (Spain), idealista.it (Italy) and idealista.pt (Portugal) as structured JSON or CSV, with no Idealista account, no portal API key and no scraper of your own to maintain.
You can say where you want data three ways: a city name, a pasted search URL, or an area you draw on the map. Every row carries what the listing page shows, including the energy certificate, community costs and price drops that most Idealista exports leave out. Deep mode on a single listing adds year built, IBI and the full price history.
Built for real estate professionals, investors and market researchers. 50 properties per page, and you are charged per row delivered.
🔎 What is the Idealista Scraper — and when should you use it?
The Idealista Scraper turns Idealista listings across Spain, Italy and Portugal into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: sale or rental homes, new builds, rooms, garages, offices, land and commercial units — price, size, rooms, energy rating, year built and price history — plus agency profiles with phone and address.
Use something else when: you need a different country. Use Funda Property Scraper for the Netherlands. Use Otodom Property Scraper for Poland. Use Immobiliare Property Scraper for the native Italian portal.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/smart-idealista-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Spanish, Italian or Portuguese property data from Idealista using the Apify Actor `sian.agency/smart-idealista-scraper`.Use it when I need: sale or rental homes, new builds, rooms, garages, offices, land and commercial units — price, size, rooms, energy rating, year built and price history — plus agency profiles with phone and address.Don't use it when: you need a different country — use funda-property-scraper or otodom-property-scraper or immobiliare-property-scraper instead.How to call it: `country` (`es`, `it`, `pt`) and `operation` (`sale` or `rent`) are both required; then choose an `endpoint` such as `listhomes` and give a `locationName`, `searchUrl` or `polygonUrl`.Start with this input:{"country": "es","operation": "sale","endpoint": "listhomes","locationName": "Madrid","numPages": 2}Ask me which country and city, and whether you want sale or rent, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Compare asking prices per m² across Madrid, Barcelona and Valencia.
- Find garages for sale in Lisbon under €30k.
- Enrich a list of Idealista agencies with phone numbers and office addresses.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/smart-idealista-scraper.md.
📋 Overview
This Idealista scraper is simple to use. No training required - configure your search, click Run, and get structured property data back. The output keeps the same field names and shape from run to run, so a spreadsheet or pipeline built on it keeps working.
Perfect for real estate professionals, investors, and market researchers who need reliable property data from Spain, Italy, and Portugal. Just configure, run, and download clean data in JSON or CSV format.
Why thousands of professionals choose us:
- ✅ Zero Learning Curve: Configure with filters, click Run, get results
- ⚡ Lightning Fast: 50 properties per page in seconds
- 🎯 API-Reliable: The same fields and structure on every run
- 💰 Pay Per Row: from $0.003/property, charged on rows actually delivered
- 📁 CSV Bulk Upload: Analyze entire cities at once
- 🌍 3 Countries: Spain, Italy, Portugal covered
- 🚫 No Maintenance: No broken scrapers, no API keys to manage
✨ Features
- 📁 NEW: CSV Bulk Upload: Upload unlimited locations via Excel/Google Sheets-friendly CSV
- 🎯 Zero Learning Curve: Configure with filters, click Run, get results
- ⚡ Instant Results: ~50 properties per page in seconds
- 🔄 Automatic Everything: No setup, no maintenance, no broken scrapers
- 📊 Structured Data: Clean output with 50+ data points
- 🌍 3 Countries Support: Spain, Italy, Portugal properties
- 💰 Pay Per Row: from $0.003/property, charged on rows actually delivered
- 🚫 No Breakage: API-based architecture - no scraper of your own to patch
- 📈 Multi-page: Extract hundreds of properties automatically
- 🏘️ 9 Categories: Homes, offices, land, garages, commercial, rooms
- 🔗 Search by URL: Paste any Idealista search link — no location codes to look up
- 🗺️ Draw-an-Area (Polygon) Search: Pull every listing inside a map-drawn boundary
- 🔎 Deep Single-Property Profiles: Energy rating, year built, fees & IBI, price-change history, floor-plan/3D-tour links
- 🏢 NEW: Agency Profiles Mode: Turn agency slugs into structured agency profiles — phone, office address with GPS, years active, and a listings-by-location breakdown
- 🛡️ Self-Healing Location IDs: Outdated codes auto-resolve to the current one — old bookmarks and CSV lists keep working
- 🔁 Resilient Under Load: Automatic retry with smart backoff absorbs traffic-spike rate limits — clear errors instead of empty results
🎬 Quick Start
So simple, no training needed! Just provide location details and run.
# Using APIcurl -X POST https://api.apify.com/v2/acts/sian.agency/smart-idealista-scraper/runs?token=[YOUR_TOKEN] \-d '{"country": "es","operation": "rent","locationId": "0-EU-ES-28-07-001-079","locationName": "Madrid","numPages": 2}'
🚀 Getting Started (2 Simple Steps)
Step 1: Choose Your Input Mode
Option A: Single Location - Perfect for targeted searches
- Provide
country,operation,locationId,locationName - Add filters (price, size, bedrooms, etc.)
- Specify
numPages(1-250)
Option B: 🆕 CSV Bulk Upload - Ideal for city/region analysis
- Upload CSV with
locationIdandlocationNamecolumns - Excel/Google Sheets friendly
- PAID tier only - unlimited locations
Option C: 🆕 Agency Profiles - Enrich the agencies behind the listings
- Fill
agencySlugswith agency slugs or agency page URLs (found in every property row'sagencyUrlfield) - Get one structured profile per agency: name, phone, office address with GPS, years active, languages, total listings, and a listings-by-location breakdown
- PAID tier only
Step 2: Click Run & Download
One click and our API gets to work instantly. Download clean JSON or CSV with 50+ data points per property.
That's it! In seconds, you'll have:
- Complete property data (price, size, rooms, features)
- Location information (address, coordinates, neighborhood)
- Contact details (agency, phone, website)
- Media URLs (photos, videos, virtual tours)
- Auto-calculated metrics (price per m²)
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| country | string | Yes | Country code: es (Spain), it (Italy), pt (Portugal) |
| operation | string | Yes | Operation type: sale or rent |
| locationId | string | Yes* | Idealista location ID (hierarchical format) |
| locationName | string | Yes* | Human-readable location name |
| searchUrl | string | No | 🔗 Paste any Idealista search-results URL — location + filters auto-detected (PAID) |
| polygonUrl | string | No | 🗺️ Paste an Idealista Areas URL with a drawn shape — every listing inside it (PAID) |
| deepSingleUrl | string | No | 🔎 One listing URL — full deep profile with premium fields (PAID) |
| deepFieldSet | string | No | Deep mode field set: standard or extended (energy, fees, history) |
| agencySlugs | array | No | 🏢 Agency slugs or agency URLs — one structured agency profile per entry (PAID) |
| postalCodes | array | No | 📮 One or more postal codes, each searched separately (e.g. ["28013"]). Replaces the location fields when set |
| enrichWithDetails | boolean | No | 🖼️ Add the full photo gallery, videos, tours, floor plans, energy certificate and community costs to every result. Charged per enriched property (default: false) |
| endpoint | string | No | Property category (default: listhomes) |
| numPages | integer | No | Number of pages to scrape (1-250, default: 1) |
| order | string | No | Sort order (default: mostrecent) |
| language | string | No | Result language (default: en) |
*Not required when using one of the URL modes (searchUrl, polygonUrl, deepSingleUrl), agency profiles mode (agencySlugs), or postal-code mode (postalCodes).
Property Categories (endpoint):
listhomes- All homes (apartments, houses) [Default]listnewhomes- New developmentsliststoragerooms- Storage roomslistbuildings- Buildingslistlands- Land parcelslistgarages- Garages/Parkinglistcommercialproperties- Commercial propertieslistoffices- Office spaceslistrooms- Individual rooms
Location ID Format:
- Spain:
0-EU-ES-XX-YYY-ZZZ(e.g.,0-EU-ES-28-07-001-079= Madrid) - Italy:
0-EU-IT-XX-YYY-ZZZ(e.g.,0-EU-IT-RM-01-001-097= Rome) - Portugal:
0-EU-PT-XX-YYY(e.g.,0-EU-PT-11-06= Lisbon)
How to find Location ID: Go to idealista.com → search → DevTools (F12) → Network tab → Find locationId in API calls
CSV Bulk Upload: Upload file with locationId,locationName columns (headers optional)
Search Filters (64+ available):
- Price:
minPrice,maxPrice - Size:
minSize,maxSize - Bedrooms/Bathrooms:
bedrooms0-4,bathrooms1-3 - Property Types:
flat,penthouse,duplex,chalet,villaType, etc. - Condition:
newDevelopment,good,renew,furnished - Features:
airConditioning,elevator,garage,pool,garden - Floor/Time:
topFloor,intermediateFloor,sinceDate - Rental:
longTermResidential,shortTerm - Advanced:
micrositeShortName(agency filter),center(GPS),distance
📤 Output
| Field | Type | Description |
|---|---|---|
| propertyCode | string | Unique Idealista ID |
| title | string | Property title |
| price | number | Price in EUR |
| size | number | Size in square meters |
| pricePerSqm | number | Price per square meter (auto-calculated) |
| rooms | number | Number of rooms |
| bathrooms | number | Number of bathrooms |
| address | string | Full address |
| neighborhood | string | Neighborhood name |
| district | string | District |
| municipality | string | City/Municipality |
| province | string | Province/State |
| country | string | Country code |
| locationId | string | Idealista location ID |
| latitude | number | GPS latitude |
| longitude | number | GPS longitude |
| description | string | Full property description |
| url | string | Property URL |
| thumbnail | string | Main image URL |
| images | array | All image URLs |
| propertyType | string | Type (flat, house, etc.) |
| operation | string | Sale or rent |
| numPhotos | number | Number of photos |
| hasVideo | boolean | Has video tour |
| has3DTour | boolean | Has 3D tour |
| hasPlan | boolean | Has floor plan |
| features | object | All features object |
| agencyName | string | Agency name |
| agencyUrl | string | Agency website |
Fields most Idealista exports leave out
These come back on every search row. No deep mode, no extra charge.
| Field | Type | Description |
|---|---|---|
| energyCertification | object | Energy performance certificate as published on the listing |
| communityCosts | number | Community fees in € per month, where the listing states them |
| priceDropValue | number | How much the asking price has been cut, in € |
| priceDropPercent | number | The same cut as a percentage |
| priceInfo | object | Former price, drop value and drop percentage together |
| priceByArea | number | The portal's own price per m², next to our calculated pricePerSqm |
| virtualTourUrls | array | 3D and virtual tour links |
| plansUrls | array | Floor plan image links |
| multimedia | object | Every photo and video in the gallery, each tagged with the room it shows |
Deep single-listing fields
Set deepSingleUrl to one listing URL and deepFieldSet to extended. These five come from the listing page itself and are not in the search feed:
| Field | Type | Description |
|---|---|---|
| yearBuilt | number | Construction year, read from the listing's own "built in YYYY" line |
| energy | object | rating, emissions_rating, consumption_kwh_m2_year, emissions_kg_co2_m2_year |
| fees | object | community_monthly_eur and ibi_annual_eur, the annual property tax |
| priceHistory | object | original_price_eur and drop_pct |
| mediaUrls | object | Direct floor-plan and 3D-tour URLs |
Shape of those five fields in a returned row:
{"yearBuilt": 1972,"energy": {"rating": "E","emissions_rating": "E","consumption_kwh_m2_year": 153.1,"emissions_kg_co2_m2_year": 31.6},"fees": { "community_monthly_eur": 120, "ibi_annual_eur": 430 },"priceHistory": { "original_price_eur": 545000, "drop_pct": 9 }}
Fields the listing does not state come back as null rather than a guess. An energy grade we cannot read cleanly is null too, because a wrong letter is worse than a missing one.
Agency profile rows (agencySlugs mode):
| Field | Type | Description |
|---|---|---|
| agencySlug | string | Agency identifier (from the agency page URL) |
| agencyName | string | Commercial name |
| agencyPhone | string | Contact phone |
| agencyWebsite | string | Agency's own website (when published) |
| agencyUrl | string | Agency page URL on the portal |
| agencyAddress | object | Office street, city, postal code + GPS coordinates |
| activeSinceYear | string | Year the agency joined the portal |
| totalListings | number | Active listings right now |
| languages | array | Languages the agency serves |
| portfolioLocations | array | Listings-by-location breakdown (province → municipality → district) |
Example:
{"propertyCode": "103887563","title": "Studio apartment in paseo de Juan Antonio Vallejo-Nájera Botas, 29","subtitle": "Acacias, Madrid","price": 950,"size": 30,"pricePerSqm": 32,"rooms": 0,"bathrooms": 1,"address": "paseo de Juan Antonio Vallejo-Nájera Botas, 29","district": "Arganzuela","neighborhood": "Acacias","municipality": "Madrid","province": "Madrid","country": "es","locationId": "0-EU-ES-28-07-001-079-02-002","latitude": 40.4022241,"longitude": -3.7099448,"description": "INDIVIDUAL RENT furnished studio...","url": "https://www.idealista.com/inmueble/103887563/","thumbnail": "https://img4.idealista.com/blur/480_360_mq/...","propertyType": "studio","operation": "rent","numPhotos": 17}
💼 Use Cases & Examples
Real Estate Market Analysis
Extract property prices and features for market research across multiple locations.
Input: Country + location + price/size filters Output: Property data with price per m² analysis Use: Market reports, price trends, investment analysis
Investment Property Search
Find rental properties with specific ROI criteria.
Input: Operation=rent + max price + bedrooms + amenities Output: Matching properties with yield calculations Use: Investment analysis, rental yield projections
Competitive Analysis
Monitor competitor listings and pricing strategies.
Input: Location + agency filter + sort order Output: Competitor's full portfolio with pricing Use: Pricing strategy, market positioning
Multi-Location Market Research
Analyze entire cities or regions at once.
Input: CSV file with multiple locations + filters Output: Consolidated data across all locations Use: Regional analysis, expansion planning
Price Per m² Benchmarks
Calculate accurate price-per-square-meter across neighborhoods.
Input: Location + property type filters Output: Properties with auto-calculated pricePerSqm Use: Valuation benchmarks, fair price analysis
New Development Tracking
Monitor new construction projects in target areas.
Input: Endpoint=listnewhomes + location Output: All new development listings Use: Market supply analysis, upcoming inventory
🔗 Integration Examples
JavaScript/Node.js
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/smart-idealista-scraper').call({country: 'es',operation: 'rent',locationId: '0-EU-ES-28-07-001-079',locationName: 'Madrid',numPages: 3,maxPrice: 2000,bedrooms2: true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} properties`);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/smart-idealista-scraper').call(run_input={'country': 'es','operation': 'sale','locationId': '0-EU-ES-46-02-002-250','locationName': 'Valencia','numPages': 2,'minPrice': 250000,'maxPrice': 350000})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f"Found {len(items)} properties")
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency/smart-idealista-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"country": "it","operation": "sale","locationId": "0-EU-IT-MI-01-001-135","locationName": "Milan","numPages": 1,"flat": true}'
Automation Tool Workflows (n8n, Zapier, Make, etc.)
- Trigger: Manual/schedule/webhook
- HTTP Request: Call this actor's API
- Process: Filter and analyze properties
- Action: Save to database, send alerts, generate reports
📊 Performance & Pricing
View current pricing in the Apify Console
Performance
- Speed: ~50 properties per page (15-20 seconds)
- Concurrent runs: FREE=1, PAID=5
- Timeout: 7 days (for large extractions)
- Reliability: API-based - consistent field structure across runs
Pricing Model
Prices drop as your Apify plan grows. The figures below run from Bronze to Diamond — see the pricing page for the exact rate on your plan.
- Start Fee: $0.005 per run
- Per Property: $0.005 → $0.003
- Per Agency Profile: $0.015 → $0.01125 (agencySlugs mode)
- Search-URL lookup: $0.005 per search, then the per-property rate
- Map-area (polygon) search: $0.01 per search, then the per-property rate
- Deep single listing: $0.05 → $0.0375 per listing
Every property delivered is one charged event. There is no per-page minimum, so a search that returns 7 matching listings bills 7 rows, not a full page.
Cost Examples
On a Bronze plan, at $0.005 per property, including the $0.005 start fee:
- 1 page (50 properties): $0.255
- 5 pages (250 properties): $1.255
- 10 pages (500 properties): $2.505
Tier Limits
- FREE: ~200 properties/month recommended
- PAID: Unlimited properties, CSV bulk upload
🔍 How to scrape Idealista
Does Idealista have an API?
No. Idealista publishes no public property API, and there is no developer portal or API key to apply for. This Actor is the working alternative: it returns the same listing data as structured JSON or CSV, using the same field names on every run, so a spreadsheet or pipeline built on it keeps working. If you searched for "Idealista API", "Idealista API key" or "Idealista API access", this does that job.
How do I scrape Idealista?
Choose a country (es, it, pt), choose sale or rent, and say where. There are three ways to say where and you only need one:
| If you have | Use | Example |
|---|---|---|
| A city or district name | locationName | "locationName": "Madrid" |
| A search-results link from the site | searchUrl | "searchUrl": "https://www.idealista.com/venta-viviendas/madrid-madrid/" |
| A shape you drew on the map | polygonUrl | the /areas/ link from your browser bar |
Then click Run. Results land in a dataset you download as JSON, CSV or Excel, or read over the Apify API.
Can I scrape Idealista with Python?
Yes, and you do not have to write or maintain the scraper yourself:
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('sian.agency/smart-idealista-scraper').call(run_input={'country': 'es','operation': 'sale','locationName': 'Barcelona','numPages': 3,'maxPrice': 400000,})for row in client.dataset(run['defaultDatasetId']).iterate_items():print(row['price'], row['size'], row['address'])
Node.js and cURL versions are under Integration Examples.
Where do I get an Idealista dataset for Madrid, Barcelona or Lisbon?
Run this Actor against that city and the dataset is yours. One page returns 50 properties; numPages goes up to 250, so a full city or region is one run. Set numPages higher and leave it going, or upload a CSV of locations and cover a whole province at once. Output is JSON, CSV or Excel, and the field names do not change between runs, so you can append today's pull to last month's.
Is there a free Idealista scraper?
Writing your own costs nothing in licence fees and a lot in upkeep, because the site's markup and its location codes both move. This Actor has a free tier of roughly 200 properties a month, which is enough to check the output shape against your own use case before you commit to anything.
What does this return that a standard Idealista export doesn't?
Four data points, on top of the usual price, size, rooms, address, GPS, photos and agency contacts:
- Energy certificate. The grade, plus consumption in kWh/m² per year and emissions in kg CO₂/m² per year.
- Price history. What the property was first listed at and how far the asking price has fallen, in € and in percent.
- Year built. Read from the listing's own construction-year line rather than guessed from a stray four-digit number.
- Community costs and IBI. The monthly community fee and the annual property tax, where the listing states them.
Energy certificate, community costs and price drops arrive on every search row. Year built, IBI and the full price history come from deep single-listing mode. See Output for the exact field names.
Which countries does it cover?
Spain (idealista.com), Italy (idealista.it) and Portugal (idealista.pt). Those are the three markets Idealista operates. For other European portals see Funda for the Netherlands, Otodom for Poland, or Immobiliare for the native Italian portal.
❓ Frequently Asked Questions
Q: How do I find my Location ID?
A: Go to idealista.com, search for your location, open DevTools (F12), look at Network tab during search, find locationId in API calls.
Q: Can I extract from private listings? A: Only public listings are accessible. No authentication required.
Q: How many properties can I extract? A: FREE tier: ~200/month recommended. PAID tier: unlimited.
Q: Is the data reliable? A: Yes. Every run returns the same field names in the same structure, so downstream spreadsheets and pipelines don't need re-mapping.
Q: Is this an Idealista API? A: Idealista doesn't offer a public API. Smart Idealista Scraper is an Idealista API alternative — it extracts the same structured property data you see on idealista.com (Spain), idealista.it (Italy), and idealista.pt (Portugal), delivered as clean JSON with 50+ fields per property. Use it whenever you'd otherwise want an "Idealista API" or "idealista data" feed.
Q: Can I export to Excel? A: Yes! Download as CSV and open directly in Excel.
Q: How fast is it? A: Approximately 15-20 seconds per page, delivering 50 properties each.
Q: What if my location ID is outdated? A: Nothing to fix — location IDs are self-healing. If a saved code has changed on the site, the scraper resolves the current one automatically and your search completes anyway. Old bookmarks, saved tasks, and CSV lists keep working.
Q: Can I just paste a search URL instead of looking up location codes?
A: Yes (PAID tier). Paste any Idealista search-results link into the searchUrl field and the location and filters are detected automatically. You can also paste a map link with a hand-drawn area (polygonUrl) or a single listing URL for a deep profile (deepSingleUrl).
Q: Does it work with GPS coordinates?
A: Yes! Use center (lat,lng) and distance (radius in meters) instead of locationId.
Q: What's the CSV upload format?
A: Simple CSV with locationId,locationName columns. Headers optional. Excel/Google Sheets friendly.
🐛 Troubleshooting
No results returned
- Verify locationId format (hierarchical code)
- Check if location exists in that country
- Try with broader search filters
Invalid locationId error
- Double-check the location ID format
- Ensure country code matches location
- Use DevTools to extract correct location ID
Rate limiting on FREE tier
- Monitor your monthly usage
- Upgrade to PAID for unlimited access
- Use specific filters to reduce results
Timeout errors
- Reduce numPages per run
- Use multiple smaller runs
- Retry the run — transient data-service slowdowns usually clear within minutes
Unexpected property types
- Verify
endpointparameter - Check property type filters
- Review location for property availability
🇪🇸 Idealista API & Data Extraction — Para Usuarios en España
Looking for an Idealista API, a way to scrape Idealista listings, or to extract Idealista data? Smart Idealista Scraper is an Idealista scraper with structured JSON output and no code to write. Built for Spanish real estate professionals, developers, and investors who need clean property data from idealista.com.
¿Buscas una API de Idealista o una forma fiable de extraer datos de Idealista? Smart Idealista Scraper te entrega datos estructurados de propiedades de idealista.com sin código, sin mantenimiento y con datos siempre limpios. Es una alternativa a la API oficial que Idealista no ofrece públicamente.
Why this Idealista scraper works
- ✅ Idealista API alternative: Idealista datos en JSON estructurado, 50+ campos por propiedad
- ⚡ 50 propiedades por página en segundos
- 💰 Desde $0.003 por propiedad, se cobra por fila entregada
- 📁 Carga masiva CSV: analiza ciudades enteras de una vez
- 🎯 API-reliable: misma estructura de datos en cada ejecución
Quick example — extract Idealista data for Madrid (alquiler)
curl -X POST 'https://api.apify.com/v2/acts/sian.agency/smart-idealista-scraper/runs?token=TU_TOKEN' \-H 'Content-Type: application/json' \-d '{"country": "es","operation": "rent","locationId": "0-EU-ES-28-07-001-079","locationName": "Madrid","numPages": 2,"maxPrice": 1500}'
Casos de uso comunes en España
- Análisis de mercado: precios, tendencias y comparativas por barrio
- Inversión inmobiliaria: encuentra propiedades de alquiler con ROI específico
- Análisis competitivo: monitoriza listados de inmobiliarias y cambios de precio
- Valoración por m²: calcula precio por metro cuadrado con precisión
- Obra nueva: descubre nuevas promociones (
endpoint: listnewhomes)
FAQ — España
- ¿Cómo encuentro mi
locationId? Ve a idealista.com → busca tu zona → DevTools (F12) → pestaña Network → buscalocationIden las llamadas API. - ¿Funciona con coordenadas GPS? Sí, usa
center(lat,lng) ydistance(radio en metros). - ¿Puedo exportar a Excel? Sí, descarga en CSV y ábrelo directamente en Excel o Google Sheets.
- ¿Es legal? Solo se accede a listados públicos de idealista.com. Es responsabilidad del usuario cumplir con el RGPD y los términos de uso.
🇮🇹 Per utenti in Italia
Smart Idealista Scraper supporta anche idealista.it — stesso prezzo, stesse funzionalità. Esempio rapido per Milano in vendita:
curl -X POST 'https://api.apify.com/v2/acts/sian.agency/smart-idealista-scraper/runs?token=IL_TUO_TOKEN' \-H 'Content-Type: application/json' \-d '{"country": "it","operation": "sale","locationId": "0-EU-IT-MI-01-001-135","locationName": "Milano","numPages": 2,"flat": true}'
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- 🐛 Found a bug? File an issue in the Apify Console Issues tab
- ⭐ Loving the tool? Leave a 5-star review — it helps us build more
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools
🎯 Not sure which tier you need? Start with FREE - no credit card required. Upgrade when you're ready to scale!