Saisissez un hôtel, un restaurant ou une attraction et Web Unlocker renvoie sa page Tripadvisor : note, classement, notes détaillées et avis avec les réponses du propriétaire, 10 par page, facturés comme une seule page. Une page qui ne se charge pas ne coûte rien.
1 000 requêtes gratuites · Facturé en cas de succès · 195+ pays · Prêt pour Claude
Une page Tripadvisor met de 5 à 30 secondes à se charger. Le travail continue, inutile de cliquer à nouveau.
Prêt pour vos propres lieux ? Obtenez une clé API ou réservez une démo.
Parlez-nous un peu de votre équipe et recevez :
Une page d'hôtel Tripadvisor contient 10 avis et une page de restaurant 15, avec les notes et les réponses du propriétaire, et Web Unlocker la facture comme une seule page. Un scraper d'avis Tripadvisor sur Apify ou Bright Data facture chaque avis.
Une page difficile coûte
autant qu'une page facile.
Une page qui ne se charge pas ne coûte rien. Les 9 260 avis en anglais du Godfrey Hotel de Boston tiennent sur 926 pages : $0.91.
Ce que coûtent 10 000 avis Tripadvisor
1 000 pages d'hôtels de 10 avis, aux prix publiés
Web Unlocker avec le forfait Growth, $0.98 pour 1 000 pages. Les autres facturent chaque avis : Bright Data au paiement à l'usage, l'Actor Apify le plus utilisé avec le forfait Apify à $19, Outscraper après ses 500 avis gratuits.
Prêt à le lancer sur vos propres hôtels ? Obtenez votre clé API et des requêtes gratuites.
Notre test de scraping Tripadvisor : cent pages, une requête chacune, sans nouvel essai. Des hôtels de Boston à Tokyo, des pages d'avis loin dans l'historique d'un hôtel, des restaurants, des attractions et des listes par ville. Voici ce qui revient, et à quelle vitesse.
Une page qui ne revient pas coûte $0.
Vous payez des pages, pas des essais.
Tripadvisor montre chaque avis à chaque visiteur, 10 par page d'hôtel et 15 par page de restaurant, et chaque page renvoie vers la suivante. Votre scraper Tripadvisor suit ce lien jusqu'à la dernière page : The Godfrey Hotel à Boston, c'est 926 pages jusqu'à son premier avis, en janvier 2016.
L'API officielle de Tripadvisor sert un ensemble d'avis fixé par contrat.
La page montre chaque avis.
Le web scraping de Tripadvisor demande une requête par page : envoyez l'adresse Tripadvisor d'un hôtel, d'un restaurant ou d'une attraction, recevez la page, lisez la note, le classement et les avis. Chaque page renvoie vers la suivante, donc tous les avis sont à portée d'une simple boucle.
Remplissez le formulaire ci-dessus. La clé arrive par e-mail sous un jour ouvré.
Sa page Tripadvisor, telle qu'elle s'ouvre dans votre navigateur, et le pays d'où l'ouvrir.
La page contient la note, le classement et 10 à 15 avis, chacun avec sa note, son texte, sa date et la réponse du propriétaire.
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`);Besoin de la version Google des mêmes lieux ? Le scraper d'avis Google renvoie la note Google d'un lieu, sa répartition des étoiles et ses meilleurs avis de la même façon.
L'API officielle qui a remplacé la Content API le 31 août 2026, le scraper d'avis le plus utilisé sur Apify, Outscraper et Web Unlocker : ce que chacun facture pour scraper les données Tripadvisor et ce qu'il vous laisse conserver.
| Ce que cela demande | Tripadvisor API | Apify | Outscraper | |
|---|---|---|---|---|
| Vous payez | Une page | Chaque lieu, chaque appel | Chaque avis | Chaque avis |
| 1 000 lieux avec leurs premiers avis | $0.98 | $15 | $19 | $38 |
| Tous les avis d'un lieu | Oui, page par page | Un ensemble fixé par contrat | Oui | Oui |
| Conserver ce que vous collectez | Oui | Les ID de lieu seulement | Oui | Oui |
| Gratuit pour démarrer | 1 000 pages | 1 000 appels, une fois | $5 par mois | 500 avis |
| Même prix sur tout autre site | Oui | Non | Non | Non |
| La page entière en HTML ou Markdown | Oui | Non | Non | Non |
Besoin d'abord des lieux ? Une liste Tripadvisor par ville contient 30 hôtels ou restaurants par page, et l'onglet Hôtels d'une ville ci-dessus la lit. Web Unlocker renvoie n'importe quel autre site de la même façon.
Un compte, un réseau de proxys, un écosystème. Choisissez le produit dont la tâche a besoin.
Vous scrapez aussi des avis ailleurs ? Voir les scrapers d'avis Google et Google Maps, ou tous les outils de web scraping.
Envoyez l'adresse Tripadvisor du lieu à Web Unlocker. Il ouvre la page dans un vrai navigateur et la renvoie avec la note, le classement dans sa ville, la répartition des notes et les avis : 10 sur une page d'hôtel, 15 sur une page de restaurant, chacun avec l'auteur, la note, le titre, le texte, la date et la réponse du propriétaire. Chaque page renvoie vers la suivante, et le code ci-dessus suit ce lien jusqu'à la dernière page.
Envoyez l'adresse de la page à Web Unlocker avec la bibliothèque requests et lisez les champs dans la page. L'onglet Python ci-dessus est un script complet, testé sur l'API en production.
Tripadvisor a fermé sa Content API le 31 août 2026, et ses clés ont cessé de fonctionner. Son remplaçant, Tripadvisor Terra, vend une offre en libre-service avec un nombre limité d'avis, tirés d'un ensemble fixé par votre contrat, et ses conditions ne vous laissent conserver que les ID de lieu. Web Unlocker renvoie la page publique elle-même, avec chaque avis, page après page.
Tripadvisor Terra offre les 1 000 premiers appels facturables une seule fois par compte, puis facture $0.015 par lieu à chaque appel, moins à plus gros volume. Web Unlocker facture $0.98 pour 1 000 pages, et une page d'hôtel contient 10 avis.
Seulement pour démarrer : Tripadvisor Terra donne à chaque compte ses 1 000 premiers appels facturables une seule fois, et chaque appel suivant est payant. L'ancienne Content API, avec ses appels gratuits mensuels, a fermé le 31 août 2026. Web Unlocker inclut 1 000 requêtes gratuites, soit 10 000 avis d'hôtels.
Les clés de l'ancienne Content API ont cessé de fonctionner le 31 août 2026 ; les nouvelles viennent avec une offre Tripadvisor Terra. Une clé Web Unlocker s'obtient avec le formulaire ci-dessus sous un jour ouvré, avec des requêtes gratuites pour tester sur vos propres lieux.
Oui, et un scraper d'avis Tripadvisor n'a besoin d'aucune connexion pour cela : Tripadvisor liste chaque avis à chaque visiteur, page par page. The Godfrey Hotel à Boston affiche ses 9 260 avis en anglais sur 926 pages, et le dernier remonte à janvier 2016. L'ensemble revient à $0.91.
10 sur une page d'hôtel ou d'attraction et 15 sur une page de restaurant, plus la note du lieu, son nombre d'avis, son classement dans sa ville, la répartition des notes et les notes de chaque aspect du séjour.
Oui, chaque fois que l'établissement a répondu : qui a répondu, la date et le texte complet. Sur la deuxième page d'avis de The Godfrey Hotel, les 10 avis avaient une réponse.
Oui. Une page de liste par ville contient 30 lieux avec leur note, leur nombre d'avis, leur gamme de prix, leur téléphone, leur adresse et leur position sur la carte, et chaque lieu est une page de plus pour ses avis. L'onglet Hôtels d'une ville ci-dessus liste 30 hôtels de Boston à partir d'une seule page.
Tripadvisor.com liste les avis rédigés en anglais. Chaque site national liste les avis dans sa propre langue : sur tripadvisor.fr, The Godfrey Hotel en affiche 2 061. Web Unlocker renvoie ces pages de la même façon, depuis plus de 195 pays.
L'onglet Tous les avis ci-dessus écrit reviews.csv : une ligne par avis avec sa note, sa date, son titre et son texte. Ou donnez la page à Claude avec la compétence de scraping Gologin et demandez un CSV.
Moins de $1 pour 1 000 pages, et le même prix pour chaque page : 10 000 avis d'hôtels reviennent à $0.98. Une page qui ne se charge pas ne coûte rien. Les forfaits démarrent à $49 par mois pour 50 000 requêtes.
Oui, pour commencer : Web Unlocker inclut 1 000 requêtes gratuites, de quoi couvrir 10 000 avis d'hôtels.
Non. Web Unlocker choisit l'IP pour vous, dans plus de 195 pays, et ouvre la page depuis le pays de votre choix.
Cela dépend de votre besoin. Apify, Bright Data et Outscraper vendent des lignes prêtes à l'emploi et facturent chaque avis. Web Unlocker est un scraper Tripadvisor qui renvoie la page entière à un prix par page, avec le classement, la répartition des notes et les réponses du propriétaire, et vous l'analysez à votre façon.
Les scrapers qui appellent les flux de données internes du site ont besoin d'un correctif chaque fois que Tripadvisor en modifie un : l'Actor Tripadvisor le plus utilisé sur Apify a enregistré trois correctifs de ce type en octobre 2026. Web Unlocker renvoie la page que voit un visiteur.
Une page Tripadvisor est publique et se charge sans connexion. Web Unlocker la charge comme le fait le navigateur d'un visiteur et renvoie la page. Ce que vous collectez et l'usage que vous en faites relèvent de vous : vérifiez-le au regard des règles applicables à votre projet.
Parlez-nous un peu de votre équipe et recevez :