Viajes
Tripadvisor Reviews Scraper
tripadvisor.com
Tripadvisor está protegido por DataDome, y sus reseñas llegan de diez en diez por página (quince en los restaurantes), así que recopilarlas por tu cuenta implica superar un desafío en cada página y recorrer una a una las URLs paginadas de reseñas. Un endpoint de plugin dedicado recibe una URL Hotel_Review, Restaurant_Review, Attraction_Review o AttractionProductReview de cualquier sitio de Tripadvisor, o un simple ID de ubicación, y devuelve las reseñas ya parseadas: título, texto completo, valoración, fecha de publicación y fecha de la estancia, tipo de viaje, idioma, votos de utilidad, el autor, las subvaloraciones, las fotos y la respuesta del propietario. El lugar llega con ellas: valoración global, número de reseñas, el histograma de 1 a 5 estrellas, subvaloraciones como limpieza o calidad-precio, la clasificación, la dirección, las coordenadas, el teléfono y el sitio web. Recopila hasta 200 reseñas en una sola llamada, de la más reciente a la más antigua, elige el idioma de las reseñas, detente en una fecha con since y continúa desde nextPage.
Qué puedes extraer
- Título de la reseña, texto completo, valoración, fecha de publicación y fecha de la estancia
- Tipo de viaje, idioma, un indicador de traducción automática con el idioma original, y votos de utilidad
- Nombre visible del autor, ubicación y número de contribuciones
- Subvaloraciones de cada reseña, fotos de la reseña y la respuesta del propietario con su fecha
- Resumen del lugar: nombre, tipo, valoración, número de reseñas, histograma de 1 a 5 estrellas, subvaloraciones y clasificación
- Dirección, coordenadas, teléfono, sitio web y rango de precios
- Hasta 200 reseñas por llamada, de la más reciente a la más antigua, con un corte por fecha (since) y nextPage para continuar
Endpoints dedicados
/travel/tripadvisor-reviews Reseñas de Tripadvisor
Reseñas de un hotel, restaurante o atracción por URL de reseñas (cualquier sitio de Tripadvisor) o location_id: un resumen del lugar (rating, reviewsCount, ratingHistogram, subratings, ranking, dirección, coordenadas, teléfono, sitio web) y un array reviews con title, text, rating, publishedDate, travelDate, tripType, language, helpfulVotes, user, subratings, photos y ownerResponse. De la más reciente a la más antigua, hasta max_reviews (1-200) a lo largo de varias páginas; elige el idioma de las reseñas con language, descarta las antiguas con since y continúa con page.
Cómo rastrearlo
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/travel/tripadvisor-reviews?url=https%3A%2F%2Fwww.tripadvisor.com%2FHotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html&max_reviews=10"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/travel/tripadvisor-reviews",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html", "max_reviews": "10"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const reviews = await su.tripadvisorReviews(
'https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html',
{ maxReviews: 10 },
);
console.log(reviews); 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.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html",
"locationId": 93589,
"language": "en",
"place": {
"locationId": 93589,
"name": "The Michelangelo New York",
"type": "hotel",
"rating": 4.5,
"reviewsCount": 5213,
"ratingHistogram": { "1": 81, "2": 109, "3": 293, "4": 1127, "5": 3603 },
"subratings": {
"cleanliness": 4.7,
"location": 4.9,
"rooms": 4.6,
"service": 4.6,
"sleepQuality": 4.7,
"value": 4.3
},
"ranking": "#116 of 526 hotels in New York City",
"address": "152 W 51st St, New York City, NY 10019",
"phone": "00 1 212-765-1900",
"website": "https://www.michelangelohotel.com/",
"coordinates": { "lat": 40.761528, "lng": -73.98261 }
},
"reviews": [
{
"id": 1078193437,
"title": "Consistent Excellence and Value in NYC!",
"text": "My partner and I have been happily staying at the Michelangelo for over 30 years. It's a calm oasis in the craziness of the Times...",
"rating": 5,
"publishedDate": "2026-09-17",
"travelDate": "2026-05",
"tripType": "couples",
"language": "en",
"isMachineTranslated": false,
"helpfulVotes": 0,
"user": { "name": "Peter F", "username": "...", "location": "Toronto, Canada", "contributions": 11 },
"subratings": { "value": 5, "rooms": 5, "location": 5, "cleanliness": 5, "service": 5, "sleepQuality": 5 },
"ownerResponse": {
"text": "After more than 30 years of visits, your loyalty to Michelangelo Hotel New York means a...",
"publishedDate": "2026-09-19",
"authorRole": "Guest Services / Front Office"
}
}
],
"resultsCollected": 10,
"totalResults": 4831,
"page": 1,
"pagesFetched": 1,
"hasMore": true,
"nextPage": 2
} Preguntas frecuentes
¿Es legal hacer scraping de reseñas de Tripadvisor?
Recopilar reseñas y valoraciones públicas de Tripadvisor 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 y el texto de las reseñas pueden ser 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 decisión tuya.
¿Cómo hago scraping de reseñas de Tripadvisor sin que me bloqueen?
Tripadvisor está protegido por DataDome, que responde a una petición simple con un desafío en lugar de la página. El plugin /travel/tripadvisor-reviews renderiza cada página de reseñas en un navegador real que supera el desafío, lee las reseñas de los datos que Tripadvisor envía con la página y vuelve a obtener la primera página cuando llega sin lista de reseñas. En el benchmark de ScrapeUnblocker devolvió reseñas en el 97,3 % de 1.064 llamadas con hoteles, restaurantes y atracciones distintos, unos 8,2 s por llamada.
¿Qué datos obtengo de cada reseña?
Por cada reseña: el título y el texto completo, la valoración, la fecha de publicación y el mes de la estancia, el tipo de viaje (en pareja, en familia, de negocios, etc.), el idioma, con un indicador y el idioma original en las reseñas traducidas automáticamente, los votos de utilidad, el nombre visible del autor, su ubicación y su número de contribuciones, subvaloraciones como habitaciones o servicio, las fotos de la reseña y la respuesta del propietario con su fecha. El resumen del lugar añade la valoración, el número de reseñas, el histograma de 1 a 5 estrellas, el número de reseñas por idioma, las subvaloraciones, la clasificación, la dirección, las coordenadas, el teléfono, el sitio web y el rango de precios.
¿Necesito una clave de API de Tripadvisor?
No. La Content API de Tripadvisor necesita su propia clave y solo devuelve unas pocas de las reseñas más recientes de cada ubicación. El plugin no necesita cuenta ni clave de Tripadvisor: envía una URL de página de reseñas o un ID de ubicación con tu clave de ScrapeUnblocker y recibe hasta 200 reseñas por llamada, con nextPage para seguir más allá.
¿Puedo obtener reseñas de Tripadvisor en otro idioma?
Sí. Tripadvisor vincula el idioma de las reseñas a su sitio regional, así que pasa language (en, de, fr, it, es, pt, nl, ja, ko, ru, sv, tr o da) y el plugin lee las reseñas de ese sitio. Por defecto usa el idioma del sitio de la URL y, cuando ese sitio no muestra reseñas del lugar, cambia al idioma de esa lista con más reseñas del lugar. Las reseñas escritas en otro idioma llegan traducidas automáticamente, marcadas con isMachineTranslated y su originalLanguage. Deja proxy_country vacío: fijar el país del exit hace la llamada mucho más lenta.
¿Cuánto cuesta hacer scraping de reseñas de Tripadvisor?
Tripadvisor muestra 10 reseñas por página, 15 en los restaurantes, y cada página de reseñas obtenida se factura como una petición: una llamada con max_reviews=50 sobre un hotel obtiene cinco páginas y cuenta como 5 peticiones, 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.