Todos los scrapers

Viajes

Airbnb Reviews Scraper

airbnb.com

99.5% Tasa de éxito
2s Respuesta media
Bot detection + rate limiting Protección
1100 llamadas Medido sobre

La página de una habitación de Airbnb muestra un puñado de reseñas; el resto se carga página a página desde la propia API interna de Airbnb. Un endpoint de plugin dedicado recibe un ID de anuncio o una URL de habitación de cualquier dominio de Airbnb y lee todas las reseñas, no solo las pocas de la página: de cada reseña, el ID, la valoración en estrellas, el texto tal como se escribió con su idioma y la traducción de Airbnb al locale que elijas, la fecha ISO y la fecha relativa de Airbnb, el detalle de la estancia (como Stayed a few nights o Group trip), las fotos, el autor (nombre, foto, ciudad de origen o tiempo en Airbnb, enlace al perfil, distintivo de Superanfitrión y si la cuenta se cerró después) y la respuesta del anfitrión. El resumen del anuncio viene con ellas: título, tipo de habitación y de propiedad, ciudad y país, anfitrión, valoración global y las seis valoraciones por categoría, número de reseñas, la proporción y el número de valoraciones por estrella, etiquetas de reseñas como Location o Hospitality con sus recuentos, y el indicador Guest favourite. Ordena por la relevancia propia de Airbnb, más recientes, mejor o peor valoradas, descarta las reseñas anteriores a una fecha con since y reúne hasta 500 por llamada desde cualquier página u offset, con nextPage y nextOffset para continuar. Es el complemento de reseñas de nuestros plugins de búsqueda y de anuncios de Airbnb, sin cuenta de Airbnb ni inicio de sesión.

Qué puedes extraer

  • ID de la reseña, valoración en estrellas, el texto tal como se escribió, su idioma y la fecha (ISO y tal como la expresa Airbnb)
  • La traducción de Airbnb al locale que elijas, como en, de, fr, es o pt-BR
  • Detalle de la estancia como Stayed a few nights o Group trip, y fotos de la reseña
  • Autor: nombre, foto, ciudad de origen o tiempo en Airbnb, enlace al perfil, distintivo de Superanfitrión y un indicador de cuenta cerrada
  • La respuesta del anfitrión
  • Resumen del anuncio: título, tipo de habitación y de propiedad, ciudad, país, anfitrión, valoración global y seis valoraciones por categoría, número de reseñas, distribución de valoraciones, valoraciones por estrella, etiquetas de reseñas y Guest favourite
  • Orden por relevancia, más recientes, mejor o peor valoradas, con un corte por fecha (since)
  • Todas las reseñas: hasta 500 por llamada desde cualquier página u offset, con nextPage y nextOffset para continuar

Endpoints dedicados

/travel/airbnb-reviews

Reseñas de anuncios de Airbnb

Las reseñas de huéspedes de un anuncio por ID o URL de habitación (cualquier dominio de Airbnb): un array reviews con id, rating, text, language, translatedText, date, localizedDate, stayDetail, photos, reviewer (id, name, photo, location o tenure, profileUrl, profileId, isSuperhost, deleted) y response, además del resumen del anuncio (title, roomType, propertyType, city, country, host, rating con las valoraciones por categoría, reviewsCount, ratingDistribution, ratingCounts, reviewTags, isGuestFavorite) y totalResults, hasMore, nextPage y nextOffset. sort es most_relevant, most_recent, highest_rated o lowest_rated; locale fija el idioma de la traducción; since descarta las reseñas antiguas; max_reviews de 1 a 500 (por defecto 50, Airbnb sirve 50 por página) desde page u offset; include_listing=false omite el resumen.

Cómo rastrearlo

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/travel/airbnb-reviews?room=35283352&max_reviews=100&sort=most_recent"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/travel/airbnb-reviews",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"room": "35283352", "max_reviews": "100", "sort": "most_recent"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

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

const data = await su.airbnbReviews('35283352', {
  maxReviews: 100,
  sort: 'most_recent',
});
console.log(data);

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

{
  "url": "https://www.airbnb.com/rooms/35283352",
  "listingId": "35283352",
  "listing": {
    "id": "35283352",
    "url": "https://www.airbnb.com/rooms/35283352",
    "title": "Cozy studio close to Champs Elysées & Eiffel tower",
    "roomType": "Entire home/apt",
    "propertyType": "Entire rental unit",
    "city": "Seine",
    "country": "France",
    "host": {
      "id": "...",
      "name": "Moutaz",
      "isSuperhost": true
    },
    "rating": {
      "overall": 4.9,
      "accuracy": 4.93,
      "cleanliness": 4.86,
      "checkin": 4.95,
      "communication": 4.98,
      "location": 4.97,
      "value": 4.86
    },
    "reviewsCount": 177,
    "ratingDistribution": [
      {
        "stars": 5,
        "percentage": 0.921
      },
      {
        "stars": 4,
        "percentage": 0.056
      },
      {
        "stars": 3,
        "percentage": 0.023
      }
    ],
    "ratingCounts": {
      "5": 163,
      "4": 10,
      "3": 4,
      "2": 0,
      "1": 0
    },
    "isGuestFavorite": true,
    "isNewListing": false,
    "reviewTags": [
      {
        "key": "LOCATION",
        "name": "Location",
        "count": 117
      },
      {
        "key": "WALKABILITY",
        "name": "Walkability",
        "count": 42
      }
    ]
  },
  "reviews": [
    {
      "id": "1783949263908511671",
      "rating": 5,
      "text": "Logement très bien situé avec toutes les commodités. Moutaz répond rapidement.",
      "language": "fr",
      "translatedText": "Very well-located accommodation with all amenities. Moutaz responds quickly.",
      "date": "2026-09-27T09:08:44Z",
      "localizedDate": "1 week ago",
      "stayDetail": "Stayed a few nights",
      "stayDetailType": "LENGTH_OF_STAY",
      "roomTypeTitle": null,
      "photos": [],
      "reviewer": {
        "id": "...",
        "name": "Yvan",
        "photo": "https://a0.muscache.com/im/pictures/user/....jpg",
        "location": "North Hatley, Canada",
        "tenure": null,
        "profileUrl": "...",
        "profileId": "...",
        "isSuperhost": false,
        "deleted": false
      },
      "response": null
    }
  ],
  "resultsCollected": 10,
  "totalResults": 177,
  "page": 1,
  "offset": 0,
  "pagesFetched": 1,
  "hasMore": true,
  "nextPage": 2,
  "nextOffset": 10,
  "sort": "most_recent",
  "locale": "en",
  "since": null,
  "warnings": []
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de reseñas de Airbnb?

Recopilar reseñas y valoraciones públicas de Airbnb 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 nombres de los autores, las fotos y el texto de las reseñas son datos personales, así que cumple las normas de privacidad que se te apliquen. ScrapeUnblocker devuelve las reseñas públicas; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping de reseñas de Airbnb sin que me bloqueen?

Airbnb usa detección de bots y limitación de tasa. El plugin /travel/airbnb-reviews lee las reseñas de la propia API web de Airbnb a través de los exits de ScrapeUnblocker, unas pocas páginas a la vez y sin renderizar en navegador. Cuando Airbnb retira la consulta que usa su aplicación web, el plugin lee una vez la página real de la habitación, aprende la nueva y continúa. En el benchmark de ScrapeUnblocker devolvió reseñas en el 99,5 % de 1.100 llamadas con un anuncio distinto cada vez, unos 2,0 s por llamada.

¿Cuántas reseñas de Airbnb puedo obtener?

Todas. Airbnb sirve las reseñas de 50 en 50, y el plugin lee tantas de esas páginas como necesite max_reviews: hasta 500 por llamada (por defecto 50), empezando en cualquier página o en una posición exacta con offset. hasMore, nextPage y nextOffset continúan donde se detuvo la llamada, y totalResults es el número de reseñas que tiene el anuncio, así que un anuncio con 1.200 reseñas necesita tres llamadas. Un anuncio sin reseñas responde con una lista vacía; un anuncio eliminado o privado da un 404.

¿Qué datos obtengo de cada reseña?

Cada reseña trae su ID, la valoración en estrellas, el texto tal como se escribió y su idioma, la traducción de Airbnb, la fecha ISO y la forma en que Airbnb la expresa, el detalle de la estancia, las fotos, el nombre, la foto, la ciudad de origen o el tiempo en Airbnb del autor, el enlace a su perfil y el distintivo de Superanfitrión, un indicador para el huésped que ha cerrado su cuenta después, y la respuesta del anfitrión. El resumen del anuncio añade el título, el tipo de habitación y de propiedad, la ciudad, el país, el anfitrión, la valoración global y las valoraciones de precisión, limpieza, llegada, comunicación, ubicación y calidad-precio, el número de reseñas, la proporción de valoraciones de cada estrella con los recuentos correspondientes, etiquetas de reseñas como Location con sus recuentos, y el indicador Guest favourite.

¿Puedo obtener las reseñas de Airbnb en mi idioma?

Sí. Cada reseña llega tal como se escribió, con su código de idioma, y translatedText contiene la propia traducción de Airbnb al locale (por defecto en; por ejemplo de, fr, es o pt-BR), que también cubre las respuestas del anfitrión. sort fija el orden: most_relevant (el propio de Airbnb), most_recent, highest_rated o lowest_rated, y since descarta las reseñas anteriores a una fecha; con most_recent, la paginación se detiene en cuanto empiezan las reseñas más antiguas, lo que encaja para seguir las reseñas nuevas. Para el anuncio en sí, usa nuestro plugin de anuncios de Airbnb, /travel/airbnb-room, y para encontrar anuncios en una ciudad, /travel/airbnb.

¿Cuánto cuesta hacer scraping de reseñas de Airbnb?

Airbnb sirve 50 reseñas por página, y cada página leída se factura como una petición: las 50 reseñas por defecto son 1 petición, 500 reseñas son 10, y 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, 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.