Despegar Reviews Scraper | Hotel Reviews and Ratings avatar

Despegar Reviews Scraper | Hotel Reviews and Ratings

Pricing

from $4.22 / 1,000 reviews

Go to Apify Store
Despegar Reviews Scraper | Hotel Reviews and Ratings

Despegar Reviews Scraper | Hotel Reviews and Ratings

Despegar reviews scraper for Decolar and every Despegar site: 100 hotel reviews in 1 second, 31 fields each. Paste a hotel link, name or id and get rating, liked and disliked text, trip type, reviewer country, helpful votes, hotel city and country, plus the hotel category scores. No login needed.

Pricing

from $4.22 / 1,000 reviews

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Despegar Reviews Scraper (Decolar) | Hotel Reviews and Ratings (2026)

Despegar reviews, 31 fields each, from any URL.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for โ€œjd scraperโ€ in Apify Store search), with 670,000+ combined lifetime runs.

Every guest review of the Despegar and Decolar hotels you follow, one row per review, from a hotel link, a hotel name or a hotel id. Our test run turned the Despegar page of Bluebay Grand Esmeralda (Riviera Maya, Mexico) into its 100 newest reviews in under 2 seconds, each with the rating out of 10, what the guest liked and disliked, the trip type, the reviewer's name and country, the month, and the hotel's own scores for service, staff, location, cleanliness, value and Wi-Fi. No Despegar account.

Why choose this actor?

Reading Despegar reviews a few at a time on each hotel page? Hunting for every hotel's link before you can read a single review? Getting rows that do not even say which hotel, which city or which month they are about?

  • 30 filled fields on every review, not 12. On our default run (100 reviews of Bluebay Grand Esmeralda), 30 data fields were filled on at least 95% of the rows: the review (id, rating, combined text, liked text, disliked text, language, trip type and its label, source, helpful votes, month), the reviewer (name, country, country code) and the hotel itself (id, name, link, city, country, overall rating, rating label, number of ratings, and six category scores). The most used Despegar reviews scraper announces 12 keys and nests the hotel's scores inside one of them.
  • Start from a hotel name or an id, not only a link. Type Copacabana Palace or Riu Palace Las Americas and the run finds the hotel: in our test, those two names gave 36 couple reviews since January 2025 in 2.2 seconds. Hotel ids such as 352691 work too, and so do links from any Despegar country site or from Decolar. Three ways in, where the most used alternative takes links only.
  • Nothing to fill in before you press Start. No field is required: the form opens with a hotel link already in place and returns 100 reviews as is. The most used Despegar reviews scraper will not start until you paste a link into its required field.

Try Despegar Reviews Scraper

Try your first 100 reviews

Paste this input in the JSON tab of the Input page and press Start. It reads the 100 newest guest reviews of Bluebay Grand Esmeralda All Inclusive, Riviera Maya, Mexico.

{
"startUrls": [
{ "url": "https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya" }
],
"maxReviews": 100,
"sortBy": "newest",
"travelerType": "all",
"sources": ["despegar", "expedia"]
}

It runs on the Apify Free plan. Each review becomes one row of your dataset: open the Output tab to see the table, switch to the "Liked, disliked and hotel ratings" view for the two halves of each review and the hotel's category scores, or export the rows as JSON, CSV or Excel.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper:

You have access to the Despegar Reviews Scraper on Apify: silentflow/despegar-reviews-scraper
It reads the guest reviews of hotels on Despegar (every Latin American country site and the US site)
and Decolar (Brazil), without an account, and returns one row per review, with the hotel it is about.
Input schema (no field is required; give at least one hotel link, name or id):
- startUrls (array of {url}): hotel pages from any Despegar site or Decolar, such as
https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya,
https://www.decolar.com/hoteis/h-231501/copacabana-palace-rio+de+janeiro or
https://www.us.despegar.com/hotels/h-986864/... (query strings are fine).
- searches (array of strings): hotel names as typed in the Despegar search box ("Copacabana Palace").
Each name reads the best matching hotel that has reviews.
- hotelIds (array of strings): Despegar hotel ids, "352691", "h-352691" or "HOT_352691".
- maxReviews (integer, default 100): reviews saved per hotel.
- sortBy (string, default "newest"): newest | relevance | highest | lowest.
- travelerType (string, default "all"): all | couple | family | friends | businessTrip | singles.
- cutoffDate (string, optional): keep reviews from that month on: "2025-01", "2025-01-31" or "6 months".
- sources (array, default ["despegar", "expedia"]): despegar | expedia.
- language (string, optional): es | pt | en (codes, three-letter codes and names are read).
Empty follows the site of each link: pt for Decolar, en for the US site, es otherwise.
Output per review (33 fields):
- id (string, Despegar review id), url (string, the hotel page + #review-{id}), hotelId (string),
hotelName (string|null), hotelUrl (string)
- title (string|null), text (string, liked + disliked or the full text), likedText (string|null),
dislikedText (string|null), language (string), travelerType (string|null: couple, family, friends,
businessTrip, singles), travelerTypeLabel (string|null, the site's label), source ("Despegar" | "Expedia")
- reviewerName (string|null), reviewerCountry (string|null), reviewerCountryCode (ISO 3166, string|null)
- rating (number, out of 10), helpfulCount (integer)
- hotelRating (number, out of 10), hotelRatingLabel (string), hotelReviewsCount (integer, all ratings),
hotelRatingService, hotelRatingStaff, hotelRatingLocation, hotelRatingCleanliness, hotelRatingValue,
hotelRatingWifi (numbers, out of 10)
- hotelCity (string|null), hotelCountry (string|null), publishedAt (RFC 3339 UTC, first day of the
review month), reviewMonth (YYYY-MM)
- searchQuery (string|null, the hotel name typed), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/despegar-reviews-scraper").call(run_input=...).

How to scrape Despegar hotel reviews

Three inputs, from the simplest to the most complete. Each one runs as is.

Get the newest reviews of a hotel from its name

No link needed: type the hotel the way you would in the Despegar search box.

{
"searches": ["Copacabana Palace"],
"maxReviews": 50
}

The run picks the best matching hotel that has reviews (here Copacabana Palace, A Belmond Hotel, Rio de Janeiro) and saves its 50 newest reviews with the hotel's name, city and country on every row.

Pull the couples' reviews of two resorts since January 2025

{
"searches": ["Copacabana Palace", "Riu Palace Las Americas"],
"travelerType": "couple",
"cutoffDate": "2025-01",
"maxReviews": 30
}

In our test this returned 36 reviews in 2.2 seconds: the 6 couple reviews Copacabana Palace received since January 2025, and the 30 newest of Riu Palace Las Americas. With the newest-first order, the run stops reading a hotel at its first review older than the cutoff.

Compare the lowest-rated reviews of several hotels, in Portuguese

{
"hotelIds": ["2355701", "h-242179"],
"language": "pt",
"sortBy": "lowest",
"maxReviews": 40
}

Two hotel ids, a Paris hotel and a Buenos Aires hotel: 80 reviews in about a second in our test, worst first, 52 from Despegar guests and 28 that Despegar shows from Expedia, with Portuguese labels and 69 texts in Portuguese.

Input parameters

FieldTypeDefaultWhat it does
startUrlsarray of linksone hotel link (prefill)Hotel pages from any Despegar country site or from Decolar. A link also gives the hotel's name, city and country.
searchesarray of textnoneHotel names, as typed in the Despegar search box. Each name reads the best matching hotel that has reviews.
hotelIdsarray of textnoneDespegar hotel ids: 352691, h-352691 or HOT_352691. Rows from an id carry the hotel's scores but not its name.
maxReviewsinteger100Reviews saved for each hotel, each one a row.
sortBytextnewestnewest, relevance (Despegar's order), highest or lowest rating first.
travelerTypetextallcouple, family, friends, businessTrip or singles, as guests declared it.
cutoffDatetextnoneKeep the reviews from this month on: 2025-01, 2025-01-31, or an age such as 6 months.
sourcesarraybothdespegar (Despegar's verified guests), expedia (the reviews Despegar shows from Expedia).
languagetextsite of the linkes, pt or en: the language of labels and dates, and of the review text where Despegar has a translation.

Accepted link formats:

  • https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya
  • https://www.despegar.com.mx/hoteles/h-986864/hotel-xcaret-mexico-all-inclusive-riviera+maya
  • https://www.decolar.com/hoteis/h-231501/copacabana-palace-rio+de+janeiro
  • https://www.us.despegar.com/hotels/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya?from_source=site
  • https://www.decolar.com/accommodations/detail/252075
  • Any Despegar page with a hotelId= parameter

Accepted ids: 352691, h-352691, HOT_352691. A bare id typed in the hotel names field is read as an id, and a link typed there is read as a link.

What data can you extract from Despegar?

One row per guest review, 33 fields, flat and ready for a spreadsheet, grouped as follows:

GroupFields
Identityid, url, hotelId, hotelName, hotelUrl
Reviewtitle, text, likedText, dislikedText, language, travelerType, travelerTypeLabel, source
ReviewerreviewerName, reviewerCountry, reviewerCountryCode
Ratingsrating, helpfulCount, hotelRating, hotelRatingLabel, hotelReviewsCount, hotelRatingService, hotelRatingStaff, hotelRatingLocation, hotelRatingCleanliness, hotelRatingValue, hotelRatingWifi
Place and timehotelCity, hotelCountry, publishedAt, reviewMonth
MetasearchQuery, scrapedAt

A few facts that help when you use the data:

  • id is Despegar's stable review id (for reviews from Expedia, the stable hash Despegar gives them). url is the hotel page followed by #review-{id}, so every row has its own address.
  • Ratings are out of 10, the scale Despegar shows. hotelReviewsCount counts every rating the hotel received, with or without text; only reviews with text become rows.
  • Despegar dates a review by its month, never its day. reviewMonth is that month (2026-10) and publishedAt its first day in RFC 3339 (2026-10-01T00:00:00Z), so the column sorts and filters like any date.
  • text holds the liked part, then the disliked part, on separate lines; likedText and dislikedText keep them apart. Reviews from Expedia have a single text, in text.
  • A value Despegar does not publish is null, never an empty text: many older reviews have no reviewer name or country.

Output example

One full row of our default run:

{
"id": "6ad7ee23ae9b5e3a3b9cb7d9",
"url": "https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya#review-6ad7ee23ae9b5e3a3b9cb7d9",
"hotelId": "352691",
"hotelName": "BlueBay Grand Esmeralda All Inclusive",
"hotelUrl": "https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya",
"title": null,
"text": "Amamos la atenciรณn, desde los chicos de concierge Yulissa y Paco, todo el personal super amable, la comida de especialidades excelente, agradecida con el chef Juan y Josรฉ Antonio, volverรญamos por cuarta ocasiรณn por que es un hotel perfecto para descansar\nLas instalaciones, estรกn un poco deterioradas y nos salieron un par de cucarachas",
"likedText": "Amamos la atenciรณn, desde los chicos de concierge Yulissa y Paco, todo el personal super amable, la comida de especialidades excelente, agradecida con el chef Juan y Josรฉ Antonio, volverรญamos por cuarta ocasiรณn por que es un hotel perfecto para descansar",
"dislikedText": "Las instalaciones, estรกn un poco deterioradas y nos salieron un par de cucarachas",
"language": "es",
"travelerType": "family",
"travelerTypeLabel": "En familia",
"source": "Despegar",
"reviewerName": "Mayra",
"reviewerCountry": "Mรฉxico",
"reviewerCountryCode": "MX",
"rating": 9.5,
"helpfulCount": 0,
"hotelRating": 6.8,
"hotelRatingLabel": "Bueno",
"hotelReviewsCount": 1277,
"hotelRatingService": 6.8,
"hotelRatingStaff": 7.7,
"hotelRatingLocation": 8.1,
"hotelRatingCleanliness": 7.5,
"hotelRatingValue": 7.7,
"hotelRatingWifi": 6.7,
"hotelCity": "Riviera Maya",
"hotelCountry": "Mรฉxico",
"publishedAt": "2026-10-01T00:00:00Z",
"reviewMonth": "2026-10",
"searchQuery": null,
"scrapedAt": "2026-10-25T10:23:17Z"
}

Advanced usage

Five recipes for cases the examples above do not show. Each one runs as is.

Watch the new reviews of your hotel and its competitors every month

{
"startUrls": [
{ "url": "https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya" },
{ "url": "https://www.despegar.com.mx/hoteles/h-986864/hotel-xcaret-mexico-all-inclusive-riviera+maya" }
],
"sortBy": "newest",
"cutoffDate": "1 month",
"maxReviews": 500
}

Schedule it monthly. The age 1 month moves with each run, and the newest-first order stops at the first older review, so each run brings only the reviews of the last month or two, with the hotels' current scores next to them for your benchmark.

Find what guests complain about, worst first

{
"searches": ["Riu Palace Las Americas"],
"sortBy": "lowest",
"maxReviews": 100
}

The lowest ratings come first. Open the "Liked, disliked and hotel ratings" view and read the dislikedText column: it is the part of each review where guests say what went wrong, kept apart from what they liked.

Read Brazilian travelers on Decolar, in Portuguese

{
"startUrls": [
{ "url": "https://www.decolar.com/hoteis/h-231501/copacabana-palace-rio+de+janeiro" }
],
"maxReviews": 100
}

A Decolar link reads in Portuguese without setting anything: labels, months and the reviews Despegar has translated come in Portuguese, and the language column says the language of each text. Set language to es or en to read the same hotel in another language.

Build the full review history of a resort for a sentiment model

{
"searches": ["Riu Palace Las Americas"],
"maxReviews": 5000
}

In our test this saved every written review Despegar shows for Riu Palace Las Americas: 928 reviews, from October 2026 back to August 2011, in 1.9 seconds, 572 of them from couples. The hotel shows 5,830 ratings in all; the others have no text. Each row keeps the trip type and the reviewer's country, useful to split a model's training data.

Keep only the reviews Despegar shows from Expedia

{
"hotelIds": ["2355701"],
"sources": ["expedia"],
"maxReviews": 100
}

Some hotels, mostly outside Latin America, carry reviews from Expedia next to Despegar's own. This run keeps the Expedia ones only: 50 reviews of this Paris hotel in our test, from July 2026 back to September 2023, in 1.2 seconds. Swap to ["despegar"] to keep Despegar's verified guests only.

FAQ

What does this actor extract from Despegar? The written guest reviews of hotels: rating out of 10, liked and disliked text, title when there is one, trip type, reviewer name and country, month, source and helpful votes, plus on every row the hotel's name, city, country, overall rating, rating label, number of ratings and six category scores.

What is Despegar? Despegar is the Latin American online travel agency behind despegar.com.ar, despegar.com.mx, despegar.com.co, despegar.cl and its other country sites, with a US site in Spanish and English. In Brazil the same company trades as Decolar. Its hotel reviews come from verified guests who booked through it, and for some hotels from Expedia.

Do I need a Despegar account or an API key? No. The actor reads the reviews any visitor sees on a hotel page. No login, no account, no key.

Can I search by hotel name instead of pasting a link? Yes. Put names in searches, one per line. Each name reads the best matching hotel that has reviews; some hotels also have a recent duplicate listing with no review, and the run skips it. A city name alone gives the hotel whose name holds it, not every hotel of the city: use names, links or ids for a list of hotels.

Why are there fewer rows than the number of reviews on the hotel page? The number on the hotel page (hotelReviewsCount) counts every rating, with or without text. Only reviews with text become rows: Riu Palace Las Americas shows 5,830 ratings and 928 written reviews in our test.

Why is the date only a month? Despegar itself only shows the month of a review. reviewMonth keeps it as YYYY-MM, and publishedAt gives the first day of that month in RFC 3339 so it sorts like a date. A cutoffDate of 2025-01-31 therefore keeps all of January 2025.

Can I scrape many hotels in one run? Yes. Mix links, names and ids in the same run; maxReviews applies to each hotel. A hotel given twice (a link and its id) is read once.

Can I combine the filters? Yes. travelerType: "family" with cutoffDate: "2025-01" and sortBy: "lowest" returns the worst family reviews since January 2025. sources and language combine with all of them. Reviews from Expedia have no trip type, so the traveler filter leaves them out.

How fresh is the data? Every run reads Despegar at that moment: a review published this month appears in the next run.

Are the links permanent? hotelUrl is the hotel's Despegar page and stays valid as long as the hotel is listed. id is stable: use it to match reviews across runs.

Is it legal to scrape Despegar reviews? The actor reads public reviews only. See the legal section below: you remain responsible for how you store and use the data, which includes reviewer first names.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿ“ˆ Marketing

๐ŸŽฌ Video

๐Ÿ“ฐ News

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available guest reviews from Despegar and Decolar. It does not bypass any login, paywall or CAPTCHA, and never uses a Despegar account. Users are responsible for complying with Despegar's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant, as well as local laws such as Argentina's Law 25,326, Brazil's LGPD and Mexico's LFPDPPP). Rows carry reviewer first names and countries, which can be personal data: handle them accordingly, keep only what you need, and honor removal requests. The data returned is informational; verify accuracy for regulated use cases.

Despegar Reviews Scraper by SilentFlow: Despegar and Decolar hotel reviews from a link, a name or an id, ready for your spreadsheet.