๐จ Skyscanner Hotels Scraper
Pricing
from $4.99 / 1,000 results
๐จ Skyscanner Hotels Scraper
Scrape Skyscanner hotel listings to extract hotel names, prices, ratings, locations, amenities, room details, and booking links. Compare hotel prices, analyze accommodation options, track travel deals, research markets, and build datasets for travel planning and hotel analysis.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
Scrape Skyscanner Hotels for clean, structured hotel data โ prices, stars, guest reviews, full amenity lists, partner offers, GPS coordinates and images โ from any combination of Skyscanner URLs and free-text destinations, in bulk.
โก Streams results into the dataset as each hotel is parsed โ no waiting until the end of the run for partial output.
โจ Why choose this scraper?
- ๐ง Smart proxy auto-escalation โ starts direct (cheapest), automatically falls back to datacenter then residential proxy if Skyscanner pushes back. Once on residential it stays there.
- ๐ URLs and free-text destinations โ paste any Skyscanner URL with
entity_id=โฆ(no autosuggest hop) OR type a destination name like Alaska / Miami / Tokyo. - ๐๏ธ Full amenity list per hotel โ the Skyscanner search endpoint only returns a couple of highlight amenities; we hydrate the rest from each hotel's detail page in parallel.
- ๐ฐ Every partner offer โ Hotels.com, Expedia, Booking, Agoda, etc. with deep-links, per-night and total prices, room name and taxes.
- ๐งฑ Browser TLS impersonation via
curl_cffi(Chrome 124 / 131 fingerprints) defeats DataDome edges without the cost of a real browser. - ๐ Sectioned dataset tabs โ Overview, Price, Reviews, Location, Amenities, Offers โ switch tabs in the Console to focus on a section.
- ๐ธ Pay per event โ you only pay for hotels we successfully deliver.
๐ Key Features
- ๐ Hotel name, Skyscanner ID, canonical detail URL
- โญ Star rating and primary image
- ๐ฐ Cheapest per-night price + base price + taxes/fees breakdown
- ๐ซ Full list of partner offers (deep-links, room name, total price)
- ๐ Guest review score, summary band, count, popular guest type
- ๐๏ธ Full amenity list per hotel (from the detail page)
- ๐ GPS coordinates, city name, distance to city centre
- ๐ผ๏ธ Image gallery URLs
๐ฅ Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array | โ | โ | Skyscanner destination URLs (any URL with entity_id=โฆ is consumed directly) |
locations | array | โ | โ | Free-text destinations (e.g. Alaska, Tokyo) โ resolved via autosuggest |
checkin | date | โ | tomorrow+1 | ISO date YYYY-MM-DD |
checkout | date | โ | checkin+5 | ISO date YYYY-MM-DD |
adults | int | โ | 2 | Adult travellers |
children | int | โ | 0 | Children (priced as age 10) |
rooms | int | โ | 1 | Number of rooms |
market / currency | string | โ | US / USD | Pricing locale and currency |
limit | int | โ | 30 | Cap on hotels returned per destination |
sorting | string | โ | best | Result order โ best / price_low / price_high / rating / stars_high / stars_low / distance |
min_price / max_price | int | โ | โ | Bound the cheapest per-night price (client-side) |
hydrate_amenities | bool | โ | true | Fetch full amenity lists from hotel detail pages |
stars_* / rating_* / types_* / traveller_* | toggles | โ | โ | Star, guest-rating, accommodation-type and traveller-type filters |
amenity_* | toggles | โ | โ | ~170 amenity filters grouped into themed sections (results must match ALL ticked) |
free_cancellation / breakfast_included / show_discounts | bool | โ | false | Native Skyscanner search filters |
pay_on_arrival / non_refundable / meals_not_included | bool | โ | false | Best-effort filters inferred from each partner offer's feature badges |
proxyConfiguration | object | โ | direct | Optional override of the starting proxy tier |
Example input
{"urls": ["https://www.skyscanner.net/hotels/search?entity_id=27537542&checkin=2026-06-15&checkout=2026-06-20&adults=2&rooms=1"],"locations": ["Miami", "Tokyo"],"checkin": "2026-06-15","checkout": "2026-06-20","adults": 2,"rooms": 1,"market": "US","currency": "USD","limit": 30,"sorting": "price_low","max_price": 250,"stars_4": true,"stars_5": true,"amenity_wifiservice": true,"amenity_pool": true,"proxyConfiguration": { "useApifyProxy": false }}
๐ค Output
Each item in the dataset looks like this:
{"id": "129270865","name": "Qupqugiaq Inn","numberOfStars": 2,"priceInfo": {"price": 84.72,"basePrice": 83.72,"taxesAndFees": [{ "total": 63, "key": "other_taxes" },{ "total": 7.28, "key": "service_fee" }],"partnerId": "h_h1","funnelType": "meta","partnerRanking": 1,"numberOfOffers": 7,"isLowest": true},"amenities": ["WiFi", "Non-smoking", "Bar", "Lobby bar", "Lounge", "..."],"reviews": {"score": 3.6,"summary": "rating_good","numberOfReviews": 166,"mostPopularWith": "","taRating": 4,"reviewSummaryScore": 4,"reviewSummaryScoreImageUrl": "https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/4.5-64600-4.png","reviewSummaryScoreDesc": "Good","reviewSummaryCount": 166},"distanceInfo": {"distanceMeters": 0,"referenceEntityType": "FirstLevelNationAdministrativeDivision","referenceEntityName": "Alaska","cityName": "Anchorage"},"position": { "longitude": -149.89471, "latitude": 61.18792 },"allPricesInfo": {"prices": [{"partnerId": "h_h1","name": "Hotels.com","price": 84.72,"numberOfOffers": 7,"deepLink": "https://...","roomName": "Double room","partnerType": "OTA","isLowest": true,"basePrice": 83.72,"secondaryPrice": 593,"partnerRanking": 1}]},"images": ["https://...", "..."],"image": "https://...","url": "https://www.skyscanner.net/..."}
๐ How to use (Apify Console)
- Log in at console.apify.com โ Actors.
- Open ๐จ Skyscanner Hotels Scraper.
- Paste your URLs / type destinations in the input.
- Pick check-in / check-out, adults, rooms, market and currency.
- (Optional) Tick filter toggles: stars, ratings, accommodation types, amenities.
- Click โถ Start.
- Watch logs stream live โ every hotel is pushed to the dataset the moment it's scraped.
- Open the Output tab โ switch between Overview / Price / Reviews / Location / Amenities / Offers views.
๐ค Use via API
curl -X POST "https://api.apify.com/v2/acts/skyscanner-hotels-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"locations": ["Miami"],"checkin": "2026-06-15","checkout": "2026-06-20","adults": 2,"limit": 30}'
๐ธ Pricing
Pay-per-event. You're billed:
- Actor start โ Apify-managed startup event (small flat fee, first 5s of compute on us).
result-itemโ one event per hotel successfully delivered to the dataset.
You don't pay for failed/blocked requests, retries, or proxy escalations.
โ FAQ
Q: Why does the first request take a few seconds?
Skyscanner runs hotel search asynchronously โ the first POST returns a partial result with a sessionToken, and we re-poll until the search reaches 100 % completion (typically 1โ4 polls).
Q: Will it work for non-US markets? Yes โ pick a market / currency in the input. Skyscanner returns localised prices and partner availability per market.
Q: Why does the amenity list look short for some hotels? The search endpoint only returns 2โ3 highlight amenities. With Hydrate per-hotel amenities ON (default), we fetch each hotel's detail page in parallel and parse the full list โ usually 15โ40 amenities. Turn it OFF to save requests if you only need price/review data.
Q: My destination is blocked. Leave the proxy at default โ the actor will auto-escalate to datacenter then residential proxy. If residential still 403s after 3 retries, the run stops cleanly with a partial result.
๐ฌ Support & feedback
Issues, feature requests or custom scrapers โ dev.scraperengine@gmail.com.
โ๏ธ Cautions / legal
- Data is collected from publicly available Skyscanner search pages.
- The end user is responsible for legal compliance (GDPR, CCPA, target site ToS, etc.).
- Honour
robots.txtand reasonable rate limits โ leave the default delay in place.