7-day Trial

Tripadvisor scraper that bills the page, not the review

Type a hotel, restaurant or attraction and Web Unlocker returns its Tripadvisor page: rating, rank, scores and reviews with owner replies, 10 a page, billed as one page. A failed page costs nothing.

Try:

1,000 free requests · Pay only on success · 195+ countries · Claude ready

tripadvisor.com/Hotel_Review-g60745-d8316858-Reviews-The_Godfrey_Hotel_Boston-Boston_Massachusetts.htmlExample run · 9,547 reviews · 10 on this page · 10.3 s
Download
  1. Finding the place with Tripadvisor's own search
  2. Loading its page in a real browser in the US
  3. Reading the rating, the scores and the reviews

Ready for your own places? Get an API key or book a demo.

Get your API key and free requests

Tell us a little about your team and get:

  • API key within one business day
  • Free requests on your own targets
4.7 / 5 on G2from 79 reviews
Book a demo

No card. Cancel anytime. We reply within one business day.

Scrape 10,000 Tripadvisor reviews for $0.98

A Tripadvisor hotel page carries 10 reviews and a restaurant page 15, with the ratings and the owner's replies, and Web Unlocker bills it as one page. A Tripadvisor review scraper on Apify or Bright Data bills every review.

A hard page costs
the same as an easy one.

A page that fails to load costs nothing. The 9,260 English reviews of The Godfrey Hotel in Boston are 926 pages: $0.91.

What 10,000 Tripadvisor reviews cost

1,000 hotel pages of 10 reviews, at published prices

  • $0.98Gologin Web Unlocker
  • $15Bright Data
  • $19Reviews Scraper (Apify based)
  • $38Outscraper

Web Unlocker on the Growth plan, $0.98 per 1,000 pages. The others bill each review: Bright Data at pay as you go, the most used Apify actor on Apify's $19 plan, Outscraper after its 500 free reviews.

Ready to run it on your own hotels? Get your API key and free requests.

94 of 100 Tripadvisor pages come back on the first try

Our Tripadvisor scraping test: one hundred pages, one request each, no retries: hotels from Boston to Tokyo, review pages deep into a hotel's history, restaurants, attractions and city lists. This is what comes back, and how fast.

A page that does not come back costs $0.
You pay for pages, not for tries.

Collect a hotel's 9,260 English reviews for $0.91

Tripadvisor shows every review to every visitor, 10 to a hotel page and 15 to a restaurant page, and each page links to the next. Your Tripadvisor scraper follows that link to the last page: The Godfrey Hotel in Boston is 926 pages back to its first review in January 2016.

Tripadvisor's own API serves a pool of reviews set by contract.
The page shows every review.

How to scrape Tripadvisor reviews with Python or Node.js

Tripadvisor web scraping takes one request per page: send the Tripadvisor address of a hotel, restaurant or attraction, get the page back, read the rating, the rank and the reviews. Each page links to the next one, so every review is one loop away.

  1. Step 01

    Get your API key

    Fill in the form above. The key arrives by email within one business day.

  2. Step 02

    Send the place's address

    Its Tripadvisor page, as it opens in your browser, and the country to open it from.

  3. Step 03

    Read the reviews

    The page carries the rating, the rank and 10 to 15 reviews, each with its rating, text, date and the owner's reply.

Install
pip install requests
Run
GOLOGIN_SCRAPING_API_KEY=your_key python tripadvisor_reviews.py
Sends to
https://parsing.webunlocker.gologin.com/v1/scrape
import 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))

Need Google's side of the same places? The Google reviews scraper returns a place's Google rating, star split and top reviews the same way.

Compare the Tripadvisor API with review scrapers

The official API that replaced the Content API on August 31, 2026, the most used review scraper on Apify, Outscraper and Web Unlocker: what each bills to scrape Tripadvisor data and what it lets you keep.

Billing unit, price for 1,000 places with their first reviews, every review of a place, storing the data, free start, the same price on other sites and page formats in Gologin Web Unlocker, the Tripadvisor API, Apify and Outscraper
What it takesWeb UnlockerTripadvisor APIApifyOutscraper
You pay forA pageEach place, each callEach reviewEach review
1,000 places with their first reviews$0.98$15$19$38
Every review of a placeYes, page by pageA pool set by contractYesYes
Store what you collectYesLocation IDs onlyYesYes
Free to start1,000 pages1,000 calls, once$5 a month500 reviews
Same price on any other siteYesNoNoNo
The whole page in HTML or MarkdownYesNoNoNo

Need the places first? A Tripadvisor city list carries 30 hotels or restaurants a page, and the City hotels tab above reads it. Web Unlocker returns any other site the same way.

Part of the complete tech stack

One account, one proxy network, one ecosystem. Pick the product the job needs.

Scraping reviews elsewhere too? See the Google reviews and Google Maps scrapers, or every web scraping tool.

Tripadvisor scraper FAQ

How do I scrape Tripadvisor reviews?

Send the place's Tripadvisor address to Web Unlocker. It opens the page in a real browser and returns it with the rating, the rank in its city, the rating split and the reviews: 10 on a hotel page, 15 on a restaurant page, each with the author, the rating, the title, the text, the date and the owner's reply. Each page links to the next one, and the code above follows that link to the last page.

How do I scrape Tripadvisor reviews with Python?

Send the page address to Web Unlocker with the requests library and read the fields from the page. The Python tab above is a complete script, tested on the live API.

Does Tripadvisor have an API?

Tripadvisor closed its Content API on August 31, 2026, and its keys stopped working. The replacement, Tripadvisor Terra, sells a self-serve package with a limited number of reviews, drawn from a pool your contract sets, and its terms let you store nothing but location IDs. Web Unlocker returns the public page itself, with every review page after page.

How much does the Tripadvisor API cost?

Tripadvisor Terra gives the first 1,000 billable calls free once per account, then bills $0.015 per place on every call, less at higher volume. Web Unlocker bills $0.98 per 1,000 pages, and a hotel page carries 10 reviews.

Is the Tripadvisor API free?

Only to start: Tripadvisor Terra gives each account its first 1,000 billable calls once, and every call after that is paid. The old Content API, with its monthly free calls, closed on August 31, 2026. Web Unlocker comes with 1,000 free requests, which is 10,000 hotel reviews.

How do I get a Tripadvisor API key?

Keys for the old Content API stopped working on August 31, 2026; new ones come with a Tripadvisor Terra package. A Web Unlocker key comes from the form above within one business day, with free requests to test on your own places.

Can I scrape every review of a hotel?

Yes, and a Tripadvisor review scraper needs no sign-in for it: Tripadvisor lists every review to every visitor, page by page. The Godfrey Hotel in Boston shows its 9,260 English reviews on 926 pages, and the last one goes back to January 2016. All of them come to $0.91.

How many reviews does one Tripadvisor page return?

10 on a hotel or attraction page and 15 on a restaurant page, plus the place's rating, review count, rank in its city, rating split and scores for each part of the stay.

Does the scraper return the owner's replies?

Yes, whenever the place has replied: who replied, the date and the full text. On the second page of The Godfrey Hotel's reviews, all 10 had a reply.

Can I scrape every hotel or restaurant in a city?

Yes. A city list page carries 30 places with their rating, review count, price level, phone, address and map position, and each place is one more page for its reviews. The City hotels tab above lists 30 Boston hotels from one page.

Can I scrape reviews in other languages?

Tripadvisor.com lists the English reviews. Each country site lists the reviews in its own language: on tripadvisor.fr, The Godfrey Hotel shows 2,061 of them. Web Unlocker returns those pages the same way, from 195+ countries.

How do I export Tripadvisor reviews to CSV?

The Every review tab above writes reviews.csv: one row per review with its rating, date, title and text. Or hand the page to Claude with the Gologin scraping skill and ask for a CSV.

How much does a Tripadvisor scraper cost?

Under $1 per 1,000 pages, and the same price for every page: 10,000 hotel reviews come to $0.98. A page that fails to load costs nothing. Plans start at $49 a month for 50,000 requests.

Is there a free Tripadvisor scraper?

Yes, to start: Web Unlocker comes with 1,000 free requests, enough for 10,000 hotel reviews.

Do I need proxies to scrape Tripadvisor?

No. Web Unlocker picks the IP for you, in 195+ countries, and opens the page from the country you choose.

What is the best Tripadvisor scraper?

It depends on what you need. Apify, Bright Data and Outscraper sell ready rows and bill every review. Web Unlocker is a Tripadvisor scraper that returns the whole page at one price per page, with the rank, the rating split and the owner's replies, and you parse it your way.

Why do Tripadvisor scrapers stop returning reviews?

Scrapers that call the site's internal data feeds need a fix each time Tripadvisor changes one: the most used Tripadvisor actor on Apify logged three such fixes in October 2026. Web Unlocker returns the page a visitor sees.

Is it legal to scrape Tripadvisor?

A Tripadvisor page is public and loads without a login. Web Unlocker loads it the way a visitor's browser does and returns the page. What you collect and how you use it is your call, so check it against the rules that apply to your project.

Get your API key and free requests

Tell us a little about your team and get:

  • API key within one business day
  • Free requests on your own targets
4.7 / 5 on G2from 79 reviews
Book a demo

No card. Cancel anytime. We reply within one business day.