Digite um hotel, restaurante ou atração e o Web Unlocker devolve a página dele no Tripadvisor: nota, posição, notas detalhadas e avaliações com as respostas do proprietário, 10 por página, cobradas como uma página. Uma página que não carrega não custa nada.
1.000 requisições grátis · Pague só se der certo · Mais de 195 países · Pronto para o Claude
Uma página do Tripadvisor leva de 5 a 30 segundos. Ainda está em andamento, não precisa clicar de novo.
Pronto para seus próprios locais? Obtenha uma chave de API ou agende uma demo.
Conte um pouco sobre sua equipe e receba:
Uma página de hotel do Tripadvisor traz 10 avaliações e uma de restaurante traz 15, com as notas e as respostas do proprietário, e o Web Unlocker a cobra como uma página. Um scraper de avaliações do Tripadvisor na Apify ou na Bright Data cobra cada avaliação.
Uma página difícil custa
o mesmo que uma fácil.
Uma página que não carrega não custa nada. As 9.260 avaliações em inglês do The Godfrey Hotel, em Boston, são 926 páginas: $0.91.
Quanto custam 10.000 avaliações do Tripadvisor
1.000 páginas de hotel com 10 avaliações, a preços publicados
Web Unlocker no plano Growth, $0.98 por 1.000 páginas. Os outros cobram cada avaliação: a Bright Data no pagamento por uso, o actor mais usado da Apify no plano de $19 da Apify, o Outscraper depois das suas 500 avaliações grátis.
Pronto para rodar nos seus próprios hotéis? Obtenha sua chave de API e requisições grátis.
Nosso teste de scraping do Tripadvisor: cem páginas, uma requisição cada, sem novas tentativas: hotéis de Boston a Tóquio, páginas de avaliações bem no fundo do histórico de um hotel, restaurantes, atrações e listas de cidades. Veja o que volta e com que rapidez.
Uma página que não volta custa $0.
Você paga por páginas, não por tentativas.
O Tripadvisor mostra todas as avaliações a todo visitante, 10 por página de hotel e 15 por página de restaurante, e cada página leva à seguinte. Seu scraper do Tripadvisor segue esse link até a última página: o The Godfrey Hotel, em Boston, tem 926 páginas até a primeira avaliação, de janeiro de 2016.
A API do próprio Tripadvisor serve um conjunto de avaliações definido em contrato.
A página mostra todas as avaliações.
O web scraping do Tripadvisor leva uma requisição por página: envie o endereço do Tripadvisor de um hotel, restaurante ou atração, receba a página, leia a nota, a posição e as avaliações. Cada página leva à seguinte, então todas as avaliações estão a um loop de distância.
Preencha o formulário acima. A chave chega por e-mail em até um dia útil.
A página dele no Tripadvisor, como abre no seu navegador, e o país de onde abrir.
A página traz a nota, a posição e de 10 a 15 avaliações, cada uma com nota, texto, data e a resposta do proprietário.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python tripadvisor_reviews.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport json
import os
import re
import time
from html import unescape
import requests
address = "https://www.tripadvisor.com/Hotel_Review-g60745-d8316858-Reviews-The_Godfrey_Hotel_Boston-Boston_Massachusetts.html"
def scrape(url):
for attempt in range(3):
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
params={
"url": url if attempt == 0 else f"{url}?_r={int(time.time())}",
"geo": "us",
"format": "json",
},
timeout=120,
)
html = response.json().get("data", {}).get("html", "")
if "ShowUserReviews-" in html:
return html
return html
def text(markup):
return unescape(re.sub(r"\s+", " ", re.sub(r"<[^>]+>", " ", markup.replace("<!-- -->", "")))).strip()
def first(pattern, source):
match = re.search(pattern, source)
return text(match.group(1)) if match else None
html = scrape(address)
place = {}
for block in re.findall(r'<script[^>]*application/ld\+json[^>]*>(.*?)</script>', html, re.S):
data = json.loads(block)
if "aggregateRating" in data:
place = data
break
cards = re.split(r'data-test-target="HR_CC_CARD"|data-automation="reviewCard"', html)[1:]
reviews = []
for card in cards:
title = first(r'<a[^>]+ShowUserReviews[^>]+>(.*?)</a>', card)
if not title:
continue
body = card.split("</h3>", 1)[1]
body = body[body.find('data-test-target="review-body"'):] if 'data-test-target="review-body"' in body else body
reviews.append({
"author": first(r'href="/Profile/[^"]+"[^>]*>(?:<span[^>]*>)?([^<]+)<', card),
"rating": first(r"<title[^>]*>([\d.]+) of 5 bubbles</title>", card),
"title": title,
"text": text(re.split(r"<button|Date of stay:|<div[^>]*>Written ", body)[0]),
"date_of_stay": first(r"Date of stay:(?:<[^>]+>)+([^<]+)<", card),
"owner_reply": "Response from " in card,
})
next_page = re.search(r'aria-label="Next page" href="([^"]+)"', html)
print(json.dumps({
"name": place.get("name"),
"rating": place.get("aggregateRating", {}).get("ratingValue"),
"reviews_total": place.get("aggregateRating", {}).get("reviewCount"),
"ranking": first(r"(#[\d,]+ of [\d,]+ [^<\"]+?)(?= and rated|\"|<)", html),
"reviews": reviews,
"next_page": f"https://www.tripadvisor.com{unescape(next_page.group(1))}" if next_page else None,
}, indent=2, ensure_ascii=False))GOLOGIN_SCRAPING_API_KEY=your_key node every-review.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
let address = 'https://www.tripadvisor.com/Restaurant_Review-g60763-d33984348-Reviews-Olio_e_Piu-New_York_City_New_York.html';
const scrape = async (url) => {
for (let attempt = 0; attempt < 3; attempt += 1) {
const params = new URLSearchParams({ url: attempt ? `${url}?_r=${Date.now()}` : url, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
if (html.includes('ShowUserReviews-')) return html;
}
return '';
};
const text = (markup) =>
markup
.replace(/<[^>]+>/g, ' ')
.replace(/&/g, '&')
.replace(/'|'/g, "'")
.replace(/"/g, '"')
.replace(/\s+/g, ' ')
.trim();
const reviews = new Map();
let pages = 0;
while (address) {
const html = await scrape(address);
pages += 1;
for (const card of html.split(/data-test-target="HR_CC_CARD"|data-automation="reviewCard"/).slice(1)) {
const id = card.match(/ShowUserReviews-g\d+-d\d+-r(\d+)/)?.[1];
if (!id) continue;
const at = card.indexOf('data-test-target="review-body"');
const body = at >= 0 ? card.slice(at) : card.slice(card.indexOf('</h3>'));
reviews.set(id, {
id,
rating: card.match(/<title[^>]*>([\d.]+) of 5 bubbles<\/title>/)?.[1],
title: text(card.match(/<a[^>]+ShowUserReviews[^>]+>([\s\S]*?)<\/a>/)?.[1] ?? ''),
written: card.match(/Written (?:<!-- -->)?([^<]+)</)?.[1] ?? '',
text: text(body.slice(body.indexOf('>') + 1).split(/<button|Date of stay:|<div[^>]*>Written /)[0]),
});
}
const next = html.match(/aria-label="Next page" href="([^"]+)"/)?.[1];
address = next ? `https://www.tripadvisor.com${next.replace(/&/g, '&')}` : null;
}
const csv = (value) => `"${String(value).replace(/"/g, '""')}"`;
const rows = [...reviews.values()].map((r) => [r.id, r.rating, r.written, r.title, r.text].map(csv).join(','));
writeFileSync('reviews.csv', ['id,rating,written,title,text', ...rows].join('\n'));
console.log(`${reviews.size} reviews from ${pages} pages saved to reviews.csv`);GOLOGIN_SCRAPING_API_KEY=your_key node city-hotels.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst address = 'https://www.tripadvisor.com/Hotels-g60745-Boston_Massachusetts-Hotels.html';
const params = new URLSearchParams({ url: address, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
const hotels = [];
for (const [, json] of html.matchAll(/<script[^>]*application\/ld\+json[^>]*>([\s\S]*?)<\/script>/g)) {
const data = JSON.parse(json);
if (data['@type'] !== 'ItemList') continue;
for (const { item } of data.itemListElement) {
hotels.push({
name: item.name,
rating: item.aggregateRating?.ratingValue,
reviews: item.aggregateRating?.reviewCount,
phone: item.telephone,
address: item.address?.streetAddress,
page: item.url.replace(/\?.*$/, '').replace('/HotelHighlight-', '/Hotel_Review-'),
});
}
}
console.table(hotels.map(({ name, rating, reviews, phone }) => ({ name, rating, reviews, phone })));
console.log(`${hotels.length} hotels, each with its page for the reviews`);Precisa do lado do Google dos mesmos locais? O scraper de avaliações do Google devolve a nota do Google de um local, a divisão por estrelas e as principais avaliações do mesmo jeito.
A API oficial que substituiu a Content API em 31 de agosto de 2026, o scraper de avaliações mais usado da Apify, o Outscraper e o Web Unlocker: o que cada um cobra para extrair dados do Tripadvisor e o que deixa você guardar.
| O que é preciso | Tripadvisor API | Apify | Outscraper | |
|---|---|---|---|---|
| Você paga por | Uma página | Cada local, cada chamada | Cada avaliação | Cada avaliação |
| 1.000 locais com suas primeiras avaliações | $0.98 | $15 | $19 | $38 |
| Todas as avaliações de um local | Sim, página por página | Um conjunto definido em contrato | Sim | Sim |
| Guardar o que você coleta | Sim | Só os IDs de local | Sim | Sim |
| Grátis para começar | 1.000 páginas | 1.000 chamadas, uma vez | $5 por mês | 500 avaliações |
| Mesmo preço em qualquer outro site | Sim | Não | Não | Não |
| A página inteira em HTML ou Markdown | Sim | Não | Não | Não |
Precisa dos locais primeiro? Uma lista de cidade do Tripadvisor traz 30 hotéis ou restaurantes por página, e a aba Hotéis da cidade acima a lê. O Web Unlocker devolve qualquer outro site do mesmo jeito.
Uma conta, uma rede de proxies, um ecossistema. Escolha o produto de que a tarefa precisa.
Também faz scraping de avaliações em outros lugares? Veja os scrapers de avaliações do Google e do Google Maps, ou todas as ferramentas de web scraping.
Envie o endereço do local no Tripadvisor ao Web Unlocker. Ele abre a página em um navegador real e a devolve com a nota, a posição na cidade, a divisão das notas e as avaliações: 10 em uma página de hotel, 15 em uma página de restaurante, cada uma com autor, nota, título, texto, data e a resposta do proprietário. Cada página leva à seguinte, e o código acima segue esse link até a última página.
Envie o endereço da página ao Web Unlocker com a biblioteca requests e leia os campos na página. A aba Python acima é um script completo, testado na API real.
O Tripadvisor encerrou a Content API em 31 de agosto de 2026, e as chaves dela pararam de funcionar. A substituta, a Tripadvisor Terra, vende um pacote self-service com um número limitado de avaliações, tiradas de um conjunto que o seu contrato define, e os termos dela não deixam você guardar nada além dos IDs de local. O Web Unlocker devolve a própria página pública, com todas as avaliações, página após página.
A Tripadvisor Terra dá as primeiras 1.000 chamadas faturáveis grátis uma vez por conta e depois cobra $0.015 por local em cada chamada, menos em volumes maiores. O Web Unlocker cobra $0.98 por 1.000 páginas, e uma página de hotel traz 10 avaliações.
Só para começar: a Tripadvisor Terra dá a cada conta suas primeiras 1.000 chamadas faturáveis uma vez, e toda chamada depois disso é paga. A antiga Content API, com suas chamadas grátis mensais, foi encerrada em 31 de agosto de 2026. O Web Unlocker vem com 1.000 requisições grátis, o que dá 10.000 avaliações de hotéis.
As chaves da antiga Content API pararam de funcionar em 31 de agosto de 2026; as novas vêm com um pacote da Tripadvisor Terra. Uma chave do Web Unlocker sai do formulário acima em até um dia útil, com requisições grátis para testar nos seus próprios locais.
Sim, e um scraper de avaliações do Tripadvisor não precisa de login para isso: o Tripadvisor lista todas as avaliações a todo visitante, página por página. O The Godfrey Hotel, em Boston, mostra suas 9.260 avaliações em inglês em 926 páginas, e a última volta até janeiro de 2016. Todas elas saem por $0.91.
10 em uma página de hotel ou atração e 15 em uma página de restaurante, mais a nota do local, o número de avaliações, a posição na cidade, a divisão das notas e as notas de cada parte da estadia.
Sim, sempre que o local respondeu: quem respondeu, a data e o texto completo. Na segunda página de avaliações do The Godfrey Hotel, todas as 10 tinham resposta.
Sim. Uma página de lista da cidade traz 30 locais com nota, número de avaliações, faixa de preço, telefone, endereço e posição no mapa, e cada local é mais uma página para as avaliações dele. A aba Hotéis da cidade acima lista 30 hotéis de Boston a partir de uma página.
O Tripadvisor.com lista as avaliações em inglês. Cada site de país lista as avaliações no seu próprio idioma: no tripadvisor.fr, o The Godfrey Hotel mostra 2.061 delas. O Web Unlocker devolve essas páginas do mesmo jeito, a partir de mais de 195 países.
A aba Todas as avaliações acima grava o reviews.csv: uma linha por avaliação, com nota, data, título e texto. Ou entregue a página ao Claude com a skill de scraping do Gologin e peça um CSV.
Menos de $1 por 1.000 páginas, e o mesmo preço para toda página: 10.000 avaliações de hotéis saem por $0.98. Uma página que não carrega não custa nada. Os planos começam em $49 por mês para 50.000 requisições.
Sim, para começar: o Web Unlocker vem com 1.000 requisições grátis, o suficiente para 10.000 avaliações de hotéis.
Não. O Web Unlocker escolhe o IP para você, em mais de 195 países, e abre a página a partir do país que você escolher.
Depende do que você precisa. Apify, Bright Data e Outscraper vendem linhas prontas e cobram cada avaliação. O Web Unlocker é um scraper do Tripadvisor que devolve a página inteira por um preço por página, com a posição, a divisão das notas e as respostas do proprietário, e você faz o parse do seu jeito.
Scrapers que chamam os feeds de dados internos do site precisam de uma correção cada vez que o Tripadvisor muda um deles: o actor do Tripadvisor mais usado na Apify registrou três correções desse tipo em outubro de 2026. O Web Unlocker devolve a página que um visitante vê.
Uma página do Tripadvisor é pública e carrega sem login. O Web Unlocker a carrega como o navegador de um visitante e devolve a página. O que você coleta e como usa é decisão sua, então confira com as regras que valem para o seu projeto.
Conte um pouco sobre sua equipe e receba: