Expedia Reviews Scraper

A hotel id is
enough to start.

Give it an Expedia hotel URL - or just the numeric hotel id - and get that property's guest reviews back as rows: the reviewer, the rating, the date, the headline and the full review text. Four sort orders and an oldest-first toggle are set before the run, so the slice you pay for is the one you meant to read.

one-time 500 free rows$0.002 per row after6 columnsCSV · XLSX · JSON
How it works

A list of properties in,
their reviews out.

The input is the property, not the review - you name the hotels you want feedback on, pick the order and the direction, and the job collects what their guests wrote.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the Expedia Reviews Scraper.
  3. STEP 3Paste Expedia hotel URLs or hotel ids, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query, or clear the box to fetch all.
  5. STEP 5Choose the sort order, and whether to start from the oldest review.
  6. STEP 6Click Export Reviews.

One row per review, each tagged with the query it came from - so a run across fifty properties still reconciles back to your input list.

Why teams use it

An id in a spreadsheet
is a valid input.

A URL, or just the id

The hotel id is the number sitting inside the Expedia address - .h41313. - and this form takes it on its own. A column of ids in a spreadsheet is therefore a valid input list, with no URL to reconstruct first, and a full hotel URL works exactly as well when that is what you have.

Four orders, and a direction

Most relevant, most recent, highest guest rating or lowest - plus a From (oldest first) toggle that flips the direction independently. Pair a sort with a small limit and you buy the complaints or the launch-period reviews rather than a whole history you then have to sift.

The limit arrives already set

Worth knowing before your first run: this form ships with the per-query limit pre-filled at 100. The hint says to leave it empty to fetch all, which means clearing the box rather than leaving it as delivered. A first run left untouched is capped, and that is a cost decision made for you unless you change it.

What you get back

Six columns,
one row per review.

Each row carries the review as Expedia displays it: who wrote it, the rating, the date, the headline and the full text.

Review text comes back verbatim, with no preprocessing applied. The column list below is the platform's own, and both download paths - JSON and Excel - project through it in the same order, so the file you get carries these six names whichever button you press. Read the note under the table before you write a parser: the names are verified and the value formats are not.

Data dictionary

Six columns,
and what each one holds.

The platform's own column list, in export order, confirmed identical across the JSON and Excel download paths. Descriptions say what each field is for; they claim nothing about its format - see the note underneath.

query
Whatever you submitted - the hotel URL or the bare hotel id - repeated on every row that came from it. It is also the only column that identifies the property, since there is no hotel name in this export, so keep the form you sent.
reviewer
Who wrote the review, as the site publishes it: a display name rather than a full identity. Worth knowing that the results view shows Guest when this is blank, while the download writes an empty cell - the screen and the file disagree on purpose, and the file is the one to build against.
rating
The score the guest gave the stay. Read the scale off your own first rows rather than assuming one.
date
When the review was posted.
title
The review headline - the short verdict a guest writes above the explanation.
review
The free-text review body, verbatim and unprocessed.

Read this dictionary as a list of names, not a promise about contents. The six names and their order are solid: they come from the platform's published column list, and the JSON and Excel downloads both project through that same list in that same order. What is not settled is the shape of the values, because we hold no archived Expedia Reviews export at all - not an empty one, not a full one. So this page states no date pattern, no rating scale or range, and no fill rate for any column. query is the exception the mechanism guarantees: the scraper writes it rather than reading it off the page, so it is on every row. One more thing worth knowing: this schema is byte-identical to the one on the Hotels.com reviews scraper - same six names, same order - but they are separate services, and neither one's values tell you anything about the other's. Pull a free run and read the first rows before you assume anything else.

Run controls

Set on the job,
not in the spreadsheet.

A per-query limit decides what a run costs and how much lands in the file. The sort order and the direction decide which reviews that limit spends itself on - all three are chosen before the job starts.

Expedia hotel URL Or a bare hotel id One per line Limit per query, pre-filled at 100 Clear it to fetch all Most relevant Most recent Highest guest rating Lowest guest rating From the oldest first CSV upload XLSX upload TXT upload Parquet upload
Common workflows

Three jobs people
most often run here.

A few examples of how teams use guest review data to answer a question they actually have.

Hospitality

Read your worst reviews first

Pull your own property sorted by lowest guest rating with a modest limit. You get the complaints at the top of the file rather than at the bottom of a full history, which means the read is short and the credits went where the problem is.

Ops · Hotels
Research

Start at the opening, not at today

Turn on From (oldest first) and the file begins where the property did. Launch-period complaints are the ones that tell a fixed problem from a buried one, and they are exactly the reviews a default run never reaches.

Research
Data

Run a list of ids you already have

If your portfolio or your competitive set already lives in a spreadsheet as Expedia ids, that column is the input - paste it or upload the file, no URLs to build. The query column echoes whatever you sent, so the export joins straight back to the sheet it came from.

Data · Ops
Pricing

Pay only for the reviews
you actually pull.

No subscription, no minimum, no recurring bill. Your first 500 rows are on us - after that, pay-as-you-go at the same flat rate as every other scraper here.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Per-query limits, every sort order, file upload and every export format included.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 reviews. The pre-flight estimator shows the row count and credit cost before a run starts - no surprise bills, no compute units to translate.

Most popular
Volume

Custom · high volume

Volume pricing, dedicated workers and an SLA for continuous monitoring or very large historical pulls. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The same stay,
on a different site.

The legal bit

Is it legal to scrape
Expedia reviews?

Short answer: yes for the public review content - and this export carries nothing about the booking behind it.

Guest reviews on Expedia are published to be read. The rating, the headline, the review text and the date are shown to anyone who opens the property page, signed in or not. Collecting publicly visible feedback for research is long-established practice, and nothing here touches a login, a booking or a paywall.

The reviewer field carries what the site itself publishes, which is a display name rather than a full identity - there is no email and no address in this output. Nothing about the stay behind a review is collected either: not what was paid, not the dates, not the room. If you are processing the review text in the EU, the usual rules still apply to what you do with it downstream.

Expedia's own terms restrict automated access, so this is a terms question as well as a legal one - if you have a contractual relationship with the platform, check it. We run no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Public review content only
No logins, no accounts touched
No booking details in the export
GDPR-aligned by default
Exports auto-delete (30 days)
Check Expedia's own terms before scaling.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

How do I scrape Expedia reviews?+
Using the Expedia Reviews Scraper:
  1. Sign in to the platform.
  2. Open the Expedia Reviews Scraper.
  3. Paste Expedia hotel URLs or hotel ids, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. Set a limit per query, or clear the box to fetch all.
  5. Choose the sort order, and whether to start from the oldest review.
  6. Click Export Reviews.
Can I use a hotel id instead of a URL?+
Yes, and that is one of the reasons to use this one. The id is the number inside the Expedia address, and the form takes it on its own line with no URL around it. Mixing both forms in the same list is fine, and either way the query column echoes back exactly what you sent.
What comes back for each review?+
Six columns: the query you submitted, the reviewer, the rating, the date, the headline and the full review text.
How do I take everything a property has?+
Clear the limit box. The control reads "Leave empty to fetch all" - but it ships pre-filled with 100, so an untouched first run is capped rather than complete. Emptying it is a deliberate step, not the default.
Can I control the order the reviews come back in?+
Yes, and in two independent ways. The sort is most relevant, most recent, highest guest rating or lowest; the From (oldest first) toggle flips the direction separately. Pairing either with a limit is what lets you buy the slice you want instead of the whole history.
Which property does a row belong to?+
The query column, which repeats whatever you submitted - the URL or the id - on every row that came from it. There is no hotel name in this export, so query is the only column that identifies the property, and it is worth keeping when you are pulling more than one.
Is this the same as the Hotels.com reviews scraper?+
No, though the export shape is identical - the same six columns in the same order. They are separate services pointed at separate sites, with different forms: this one accepts a bare hotel id and ships its limit pre-filled at 100, while the Hotels.com one takes a URL only and arrives with an empty limit.
How much does it cost?+
The first 500 rows are free and one-time, with no credit card. After that it is $0.002 per row - about $2 per 1,000 reviews - which is the same flat rate as every other scraper on the platform. The estimator shows the cost of a run before it starts.

Your first 500 reviews,
on the house.

500 one-time free rows on every new account - no expiry. After that it is $0.002 per row, pay-as-you-go - no card on file until you say so.

Activates instantly · no card required

Scrape Expedia hotel reviews at scale

Livescraper's Expedia Reviews Scraper turns a list of properties into review data. You submit Expedia hotel URLs or bare hotel ids - typed one per line, or uploaded as a CSV, XLSX, TXT or Parquet file - set a limit per query or clear it to fetch all, choose the sort order and the direction, and download what guests wrote as a clean CSV, Excel or JSON file.

Accepting the id on its own is the practical difference. The hotel id is the number sitting inside the Expedia address, so a column of ids in a spreadsheet is already a valid input list with no URLs to reconstruct - and because the query column echoes back exactly what you sent, the export joins straight to the sheet it came from.

Each row carries the review as Expedia displays it: the reviewer, the rating, the date, the headline and the full review text. The headline and the body stay separate columns, so the short verdict a guest writes above the explanation is available on its own, and the body arrives verbatim with no preprocessing. Four sort orders and an oldest-first toggle decide which reviews a limit spends itself on: lowest first for the complaints, oldest first for the launch period that a default run never reaches.

One practical note up front. This page describes the six columns and their order, which the platform's published list and both of its download paths agree on exactly, but it claims no date pattern, no rating scale and no fill rates, because no archived Expedia Reviews export exists to base them on. The same schema also appears on the Hotels.com reviews scraper - identical names, identical order, separate services - so neither one's values tell you anything about the other's. Pull a free run and read the first rows before you build against it. Your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat.