Todos los scrapers

Inmobiliario

Idealista Scraper

idealista.com

94.2% Tasa de éxito
4.3s Respuesta media
DataDome Protección
1120 llamadas Medido sobre

Idealista se sirve mediante dos endpoints de plugin dedicados en lugar de la obtención de página genérica, en sus tres sitios: idealista.com (España), idealista.it (Italia) e idealista.pt (Portugal). El endpoint de búsqueda acepta una ubicación tal como idealista la escribe en sus URL (un municipio como madrid-madrid o milano-milano, un distrito como madrid/centro o lisboa/arroios, o una provincia como malaga-provincia) o cualquier URL de búsqueda de idealista con sus filtros, y devuelve los anuncios ya analizados: ID, enlace, título, precio con moneda y periodo de alquiler, el precio original y la bajada en porcentaje tras una rebaja, precio por m², superficie, habitaciones, planta, indicadores de ascensor, exterior y plaza de garaje, descripción, etiquetas, fotos, indicadores de plano, vídeo y visita 3D, y la agencia. Filtra por venta o alquiler, tipo de inmueble (viviendas, obra nueva, oficinas, locales, garajes, terrenos, trasteros, edificios o habitaciones en alquiler), rangos de precio y superficie, habitaciones, baños y características como ascensor, terraza, piscina o jardín, y ordena por precio, fecha, superficie, precio por m² o mayor bajada de precio. Los resultados llegan de 30 en 30 por página, y una llamada reúne hasta 300 entre páginas, hasta las 60 páginas que idealista muestra por búsqueda. El endpoint de detalle acepta un ID o una URL de anuncio y devuelve el anuncio completo: título, ubicación, operación, tipo de inmueble, precio, el desglose de precio que muestra idealista (como gastos de comunidad o fianza), superficie construida y útil, habitaciones, baños, planta, ascensor, año de construcción, clase y consumo energéticos, todos los grupos de características que lista idealista, descripción, líneas de dirección, coordenadas, la galería de fotos, los planos, el anunciante y la última actualización. No hace falta cuenta de idealista ni clave de API.

Qué puedes extraer

  • ID del anuncio, enlace, título, precio, moneda y periodo de alquiler
  • Precio original y bajada en porcentaje tras una rebaja, y precio por m²
  • Superficie, habitaciones, planta, indicadores de ascensor, exterior y plaza de garaje
  • Descripción, etiquetas, fotos e indicadores de plano, vídeo y visita 3D
  • Agencia, y si el anunciante es profesional
  • Filtros: venta o alquiler, nueve tipos de inmueble, rangos de precio y superficie, habitaciones, baños y 14 características; 10 órdenes de clasificación
  • Detalle: desglose del precio, superficie útil, baños, año de construcción, clase y consumo energéticos, y todos los grupos de características
  • Detalle: líneas de dirección, coordenadas, galería de fotos, planos, anunciante y última actualización
  • España, Italia y Portugal; 30 anuncios por página, hasta 300 por llamada y 60 páginas por búsqueda

Endpoints dedicados

/realestate/idealista

Búsqueda de inmuebles en idealista

Anuncios de una ubicación (un municipio, distrito o provincia tal como lo escribe idealista, con country es, it o pt) o de cualquier URL de búsqueda de idealista: listings con id, url, title, priceText, price, currency, pricePeriod, originalPrice, priceDropPercent, pricePerM2, area, rooms, floor, lift, exterior, parking, description, tags, images, imageCount, multimedia (plano, vídeo, visita 3D), agency y professional, además de totalResults, heading, page, nextPage y viewLimitReached. operation (sale o rent), property_type, min_price y max_price, min_size y max_size, rooms, bathrooms, features y sort filtran y ordenan la búsqueda; 30 anuncios por página, max_results hasta 300 y como máximo 60 páginas por búsqueda. Una búsqueda sin coincidencias responde 200 con un array listings vacío.

/realestate/idealista-detail

Un anuncio de idealista completo

Un ID de anuncio (con country) o una URL de anuncio: listing con title, locationLine, operation, propertyType, price, currency, pricePeriod, originalPrice y priceDropPercent, pricePerM2, priceDetails, area, usableArea, rooms, bathrooms, floor, lift, builtYear, energyRating, energyConsumption, features (todos los grupos que lista idealista), description, address, coordinates (con locationApproximate cuando el anunciante ocultó la ubicación exacta), images, floorPlans, multimediaCounts, advertiser (nombre, tipo, referencia, página de la agencia) y updated. Un anuncio que su anunciante retiró responde 404 con la fecha de baja.

Cómo rastrearlo

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/realestate/idealista?location=madrid-madrid&country=es&operation=rent"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/realestate/idealista",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"location": "madrid-madrid", "country": "es", "operation": "rent"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const results = await su.idealistaSearch('madrid-madrid', {
  country: 'es',
  operation: 'rent',
});
const listing = await su.idealistaDetail('https://www.idealista.it/immobile/37068709/');
console.log(results);
console.log(listing);

Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.

Ejemplo de respuesta

{
  "listings": [
    {
      "id": "88108287",
      "url": "https://www.idealista.com/inmueble/88108287/",
      "title": "Dúplex en Calle de Fortuny, Almagro, Madrid",
      "priceText": "6.750 €/mes",
      "price": 6750,
      "currency": "EUR",
      "pricePeriod": "month",
      "parking": "included",
      "rooms": 4,
      "area": 176,
      "floor": "6ª planta exterior con ascensor",
      "lift": true,
      "exterior": true,
      "description": "ÁTICO - DUPLEX, en el mejor tramo de la calle Fortuny, en edificio representativo, con PLAZA de GARAJE en el mismo edificio, esta propiedad está distribuida de la siguiente manera:...",
      "tags": [
        "Lujo"
      ],
      "images": [
        "https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/4d/4c/40/738803992.jpg"
      ],
      "imageCount": 41,
      "multimedia": [
        "VIDEO"
      ],
      "agency": {
        "name": "Jaime Valcarce Consulting Inmobiliario",
        "url": "https://www.idealista.com/pro/jaime-valcarce-consulting-inmobiliario/",
        "logo": "https://st3.idealista.com/df/c3/43/jaime-valcarce-consulting-inmobiliario.gif"
      },
      "professional": true
    },
    {
      "id": "109738824",
      "url": "https://www.idealista.com/inmueble/109738824/",
      "title": "Piso en Calle de Villamanín, Lucero, Madrid",
      "priceText": "1.800 €/mes",
      "price": 1800,
      "currency": "EUR",
      "pricePeriod": "month",
      "rooms": 3,
      "area": 115,
      "floor": "6ª planta exterior con ascensor",
      "lift": true,
      "exterior": true,
      "published": "1 hora",
      "description": "DISPONIBLE DESDE 1 DE DICIEMBRE. CONTRATO HABITUAL, LARGA ESTANCIA! SE PUEDE VISITAR Y RESERVAR DESDE AHORA. METRO BATAN A 1 MIN. ANDANDO. ¡Descubre tu nuevo hogar en el corazón de...",
      "images": [
        "https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/fb/a8/89/1384095761.jpg"
      ],
      "imageCount": 33,
      "professional": true
    }
  ],
  "resultsCollected": 30,
  "totalResults": 9133,
  "heading": "9.133 casas y pisos en alquiler en Madrid",
  "page": 1,
  "pagesFetched": 1,
  "hasMore": true,
  "nextPage": 2,
  "viewLimitReached": false,
  "country": "es",
  "searchUrl": "https://www.idealista.com/alquiler-viviendas/madrid-madrid/",
  "query": {
    "country": "es",
    "operation": "rent",
    "propertyType": "homes",
    "location": "madrid-madrid",
    "sort": "relevance"
  }
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de idealista?

Recopilar anuncios públicos de idealista, como precios, superficies y características, es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. Los anuncios de particulares pueden contener datos personales, así que cumple las normas de privacidad que se te apliquen, incluido el RGPD en España, Italia y Portugal. ScrapeUnblocker devuelve las páginas públicas; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping de idealista sin que me bloqueen?

idealista.com, el sitio español, está protegido por DataDome. El plugin reutiliza una autorización de DataDome que se mantiene activa en los exits ISP de ScrapeUnblocker en lugar de abrir un navegador en cada llamada, así que una llamada a España tarda varios segundos, y mientras esa autorización se renueva una llamada puede recibir un 502 rápido que no se factura y que conviene reintentar. idealista.it e idealista.pt responden en unos 1-2 s. En el benchmark de ScrapeUnblocker devolvió datos en el 94,2 % de 1.120 llamadas (560 búsquedas y 560 detalles de anuncios en 617 ubicaciones reales), unos 4,3 s por llamada: Italia 357 de 357, Portugal 387 de 388 (el fallo fue un anuncio que su anunciante había retirado) y España 311 de 375, cuyos fallos fueron esos 502 rápidos.

¿En qué países y ubicaciones puedo buscar en idealista?

España (idealista.com), Italia (idealista.it) y Portugal (idealista.pt), que eliges con country (es, it o pt). Pasa location tal como idealista la escribe en sus URL: un municipio como madrid-madrid, barcelona-barcelona, milano-milano o lisboa, un distrito como madrid/centro o lisboa/arroios, o una provincia como malaga-provincia; o pasa url con cualquier URL de búsqueda de idealista, filtros incluidos. Una ubicación que idealista no conoce responde 404. El filtro rooms sigue a cada sitio: cuenta dormitorios en España (0 = estudio hasta 4 = cuatro o más) y Portugal (T0 a T4+), pero todas las estancias en Italia (1 hasta 5 = cinco o más), y el campo rooms de cada anuncio sigue la misma regla.

¿Cuántos anuncios de idealista puedo obtener por búsqueda?

idealista muestra 30 anuncios por página y como máximo 60 páginas por búsqueda. Una llamada reúne hasta 300 (max_results, por defecto 30) desde la página en la que empieces, y nextPage continúa en una llamada posterior; viewLimitReached indica que se alcanzó el límite de 60 páginas. Para ir más allá, divide la búsqueda por distrito, rango de precio o tipo de inmueble. totalResults muestra cuántos anuncios tiene idealista para la búsqueda, y una búsqueda sin coincidencias responde 200 con un array listings vacío.

¿Qué datos devuelve el detalle de un anuncio de idealista?

El anuncio completo: título, línea de ubicación, venta o alquiler, tipo de inmueble, precio con el periodo de alquiler, el precio original y la bajada tras una rebaja, precio por m², el desglose de precio que muestra idealista (como gastos de comunidad o fianza), superficie construida y útil, habitaciones, baños, planta, ascensor, año de construcción, la clase y el consumo energéticos, todos los grupos de características que lista idealista, la descripción, las líneas de dirección, las coordenadas (marcadas con locationApproximate cuando el anunciante ocultó la ubicación exacta), la galería de fotos, los planos, el anunciante con su tipo, referencia y página de la agencia, y la última actualización. Pasa un ID de anuncio con country, o una URL de anuncio. Un anuncio que su anunciante retiró responde 404 con la fecha de baja que muestra idealista.

¿Cuánto cuesta hacer scraping de idealista?

Cada página obtenida se factura como una petición: una página de búsqueda de 30 anuncios es 1 petición, así que max_results=300 son 10, y el detalle de un anuncio es 1; pagesFetched muestra el número exacto. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, incluido el 502 que puede recibir una llamada a España mientras se renueva la autorización, y la prueba gratuita incluye 500 peticiones sin tarjeta.

Scrapers relacionados

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.