Skyscanner Hotels Review Scraper
Pricing
from $0.99 / 1,000 results
Skyscanner Hotels Review Scraper
Extract Skyscanner hotel reviews, guest ratings, feedback, scores, and property insights at scale. Collect structured hotel review data for travel research, sentiment analysis, reputation monitoring, market intelligence, and hospitality analytics.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Skyscanner Hotels Review Scraper
Collect public traveller reviews from Skyscanner hotel pages and turn them into a clean, analysis-ready dataset. Add one or more hotel URLs, choose how reviews should be sorted or filtered, and receive structured review records that can be exported as JSON, CSV, Excel, XML, or RSS.
The Actor is designed for hospitality research, reputation monitoring, competitive benchmarking, travel content analysis, and recurring data workflows. Every dataset item represents one unique review. Empty and unavailable fields are omitted, so downstream tools do not need to clean columns filled with null values.
Features
- Multiple hotel URLs: Process one or more public Skyscanner hotel detail pages in a single run.
- Flexible sorting: Collect recommended, newest, highest-rated, or lowest-rated reviews first.
- Traveller rating filters: Focus on excellent, good, average, or below-average feedback.
- Guest type filters: Select reviews from families, couples, solo travellers, business travellers, groups, or other guests.
- Language and locale controls: Request translated labels in your preferred locale and narrow results by review language.
- Provider filtering: Select reviews supplied by Tripadvisor, Expedia, Hotels.com, or Trip.com.
- Topic filters: Find reviews about rooms, service, cleanliness, location, transport, food, WiFi, pools, parking, and other common hotel topics.
- Photo-only reviews: Request reviews that include traveller images.
- Pagination controls: Set both the desired total number of results and a page limit per hotel.
- Duplicate-safe output: Duplicate hotel inputs and repeated review records are automatically removed.
- Clean datasets: Null values, empty strings, empty arrays, and empty objects are excluded from saved records.
- Production controls: Built-in retries, proxy support, clear run summaries, and safe limits make the Actor suitable for scheduled jobs.
Use cases
Hotel reputation monitoring
Track recent guest feedback for a property and identify changes in ratings, service comments, room quality, cleanliness, or facilities. Schedule the Actor to build regular snapshots for an internal dashboard.
Competitive benchmarking
Collect comparable review datasets for competing hotels in the same market. Compare review volume, ratings, guest segments, providers, and recurring topics without manually copying reviews from individual pages.
Guest sentiment research
Export review text for sentiment analysis, topic classification, summarization, or qualitative research. Filters can isolate a specific traveller segment or subject before the data enters your analysis pipeline.
Travel content and market intelligence
Research what guests value in a destination, hotel category, or property type. Review text can support editorial planning, destination guides, service audits, and market reports.
Operations and service improvement
Focus on low-rated feedback or a subject such as rooms, bathrooms, meals, or transport. Teams can use this narrower dataset to prioritize recurring operational issues.
Input
Open the Actor input form, add at least one Skyscanner hotel URL, and adjust only the controls you need.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | Yes | Sample hotel URL | One or more public Skyscanner hotel detail URLs. Tracking parameters are accepted and removed from the saved canonical URL. |
sortBy | String | No | recommended | Review order: recommended, rating_high_to_low, rating_low_to_high, or most_recent. |
locale | String | No | en-GB | Locale for translated review content and labels, such as en-GB, en-US, es-ES, or de-DE. |
travellerRating | String | No | all | Rating group: all, rating_excellent, rating_good, rating_average, or rating_below_average. |
reviewLanguage | String | No | all | Keep all review languages or enter a locale such as en-GB. |
guestType | String | No | all | Traveller group: all, family, business, solo, group, couple, or other. |
provider | String | No | all | Review provider: all, e_ct for Trip.com, h_h1 for Hotels.com, h_xp for Expedia, or h_vs for Tripadvisor. |
tags | Array | No | [] | Optional topics such as with_images, location, room, service, clean, meal, wifi, or pool. |
results_wanted | Integer | No | 20 | Maximum number of unique reviews saved across all hotel URLs. |
max_pages | Integer | No | 5 | Maximum review pages processed per hotel. Each page contains up to 10 reviews. |
proxyConfiguration | Object | No | Apify Proxy enabled | Apify Proxy or custom proxy configuration for reliable production runs. |
Basic run
Collect up to 20 recommended reviews from one hotel:
{"startUrls": [{"url": "https://www.skyscanner.com/hotels/united-states/new-york-hotels/doubletree-by-hilton-new-york-downtown/ht-204222293"}],"results_wanted": 20,"max_pages": 5}
Recent English reviews
Collect the newest English reviews, with an explicit locale for labels and translated content:
{"startUrls": [{"url": "https://www.skyscanner.com/hotels/united-states/new-york-hotels/doubletree-by-hilton-new-york-downtown/ht-204222293?adults=2&rooms=1"}],"sortBy": "most_recent","locale": "en-GB","reviewLanguage": "en-GB","results_wanted": 50,"max_pages": 8}
Family reviews with photos
Collect family traveller reviews that include images, with the highest ratings first:
{"startUrls": [{"url": "https://www.skyscanner.com/hotels/united-states/new-york-hotels/doubletree-by-hilton-new-york-downtown/ht-204222293"}],"sortBy": "rating_high_to_low","reviewLanguage": "en-GB","guestType": "family","tags": ["with_images"],"results_wanted": 30,"max_pages": 5}
Output
Results are stored in the run's default dataset. Each item contains the hotel context, review content, rating, traveller information, source provider, and collection timestamp. A field is included only when the source publishes a meaningful value.
| Field | Type | Description |
|---|---|---|
hotelId | String | Skyscanner hotel identifier extracted from the input URL. |
hotelUrl | String | Canonical public hotel URL without tracking parameters. |
totalReviewCount | Integer | Total review count published for the hotel. |
availableReviewCount | Integer | Number of reviews available after filters are applied. |
reviewDetailLink | String | Provider review details URL when available. |
partnerReviewId | String | Unique review identifier supplied by the review provider. |
title | String | Review headline when published. |
review | String | Full review text. |
rating | Number | Traveller rating on a five-point scale. |
locale | String | Review locale. |
guestType | String | Traveller group associated with the review. |
country | String | Reviewer country when published. |
checkinDate | String | Stay or check-in date when published. |
reviewDate | String | Review publication date label. |
translationType | String | Indicates whether the content is source text or translated. |
translated | Boolean | Whether translated content is available. |
provider | Object | Review provider identifier, name, and available branding fields. |
logo | String | Rating or provider logo URL when available. |
images | Array | Traveller review images when available. |
replies | Array | Hotel or provider replies when available. |
scrapedAt | String | ISO timestamp recording when the item was collected. |
Sample dataset item
{"hotelId": "204222293","hotelUrl": "https://www.skyscanner.com/hotels/united-states/new-york-hotels/doubletree-by-hilton-new-york-downtown/ht-204222293","totalReviewCount": 1516,"availableReviewCount": 1516,"partnerReviewId": "1072172077","title": "Would Definitely Return","review": "Had a most enjoyable stay with my teenage daughter. Lovely room, comfortable beds, and good subway links close by.","rating": 5,"locale": "en-GB","guestType": "Family traveller","reviewDate": "Comment: 8 Aug 2026","translationType": "TRANSLATION_TYPE_SOURCE","translated": true,"provider": {"id": "h_vs","name": "Tripadvisor"},"scrapedAt": "2026-08-20T07:15:17.658Z"}
Tips for reliable results
- Start with 20 results and the default filters to confirm that the hotel URL is correct.
- Increase
results_wantedandmax_pagestogether. A five-page cap can return at most about 50 reviews per hotel before filters and deduplication. - If filters produce fewer results than requested, the hotel may have only a small number of matching reviews.
- Use
most_recentfor monitoring workflows and rating sorting for positive or negative feedback analysis. - Keep Apify Proxy enabled for scheduled and higher-volume production runs.
- When processing multiple hotels,
results_wantedis the overall dataset limit, whilemax_pagesapplies separately to each hotel. - The same hotel supplied through multiple URL variants is processed once.
Integrations and automation
Connect the resulting dataset to Google Sheets, Make, Zapier, Slack, webhooks, cloud storage, or your own application. You can run the Actor from Apify Console, on a schedule, through the Apify API, with the official JavaScript or Python client, or from the command line.
Common workflows include daily review monitoring, weekly competitor reports, sentiment dashboards, alerting on low-rated feedback, and sending new review records into a warehouse or CRM.
Frequently asked questions
Which URLs are supported?
Use public HTTPS Skyscanner hotel detail URLs containing an ht- hotel identifier. Full booking URLs with dates, rooms, traveller counts, and tracking parameters are supported. Localized Skyscanner domains are also accepted when the URL contains a valid hotel identifier.
Why did the run return fewer reviews than requested?
The selected hotel may have fewer matching reviews, filters may narrow the available set, the page cap may be reached, or the source may not return every review for the chosen locale and provider combination.
Are null values included?
No. Nulls and other empty values are removed recursively before a record is saved. Fields such as images, replies, country, title, or check-in date are omitted when unavailable.
Can I scrape more than one hotel?
Yes. Add multiple entries to startUrls. Duplicate hotel IDs are automatically consolidated. Remember that results_wanted limits the total output across the entire run.
Can I schedule recurring runs?
Yes. Use Apify schedules and optionally connect a webhook or integration to process the dataset after each successful run.
Does a review always contain a title, images, or a reply?
No. Providers publish different metadata. The Actor keeps all meaningful data that is available and omits unavailable fields.
Related Actors
- Tiket Hotel Reviews Scraper for structured guest feedback from Tiket hotel pages.
- Tripadvisor Reviews Scraper for Tripadvisor hotel review collection.
- Expedia Reviews Scraper for Expedia guest reviews and ratings.
- Agoda Hotels Scraper for Agoda property, pricing, availability, and review data.
Legal and responsible use
This Actor collects publicly accessible information. You are responsible for using it in accordance with applicable laws, privacy requirements, contractual obligations, and the target website's terms. Avoid collecting personal data that you do not need, use reasonable run limits, and apply appropriate retention and security controls to exported datasets.
Support
If a valid hotel URL stops returning expected results, open an issue on the Actor page. Include the input URL, a run ID, the filters used, and a short description of the expected outcome. Do not include passwords, tokens, proxy credentials, or other secrets.