Viajes
Airbnb Reviews Scraper
airbnb.com
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": []
} 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.