Hostelworld Scraper
Pricing
from $4.00 / 1,000 listing results
Hostelworld Scraper
[๐ฐ $4/1K listings + $1/1K reviews] Extract Hostelworld hostel listings AND guest reviews in one run โ prices, ratings, addresses, coordinates and amenities, plus per-property reviews with reviewer nationality and traveller type. Add check-in dates for room-level availability. Search by city or URL.
Pricing
from $4.00 / 1,000 listing results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
12 days ago
Last modified
Categories
Share
Pull hostel and budget-accommodation data from Hostelworld at scale โ property names, live nightly prices, overall ratings with full sub-score breakdowns, exact coordinates, amenities, room types, images, and guest reviews tagged by reviewer nationality and traveller type. Search by plain city name or paste Hostelworld URLs, set your check-in dates, and get both listings and reviews in one structured dataset. Built for travel-market analysts, OTA and rate-intelligence teams, and hostel operators who need Hostelworld inventory plus guest sentiment without copy-pasting property pages by hand.
Why This Scraper?
- Guest reviews competitors don't return โ every review carries reviewer nationality, traveller type (solo / couple / group / family), age group, rating, body text, language, and review date, each joined back to its property by
listingId. - Plain-language city search โ type "Lisbon" or "hostels in Bangkok" and get results; no hand-crafted search URLs required. Paste Hostelworld URLs instead when you want exact targeting.
- Live nightly pricing for your dates โ pass
checkInandcheckOutto price actual availability instead of catalog defaults, then addguests(1โ8) to keep only the properties that can still take a party that size on those nights.priceFromlands on 100% of properties;priceFromDormandpriceFromPrivatesplit that out for the properties that actually sell each (dorm rates on 36โ60% of a city, private rooms on 81โ97%, because plenty of Hostelworld properties are dorm-only or private-only). - Full rating breakdown, not just a score โ overall guest rating plus the count it's based on, a word label (Superb / Fabulous / Very Good), and seven sub-scores: security, location, staff, atmosphere, cleanliness, facilities, and value.
- 23 currencies and 17 languages โ price in USD, EUR, GBP, JPY, THB, BRL, and 18 more; localize property descriptions and review text into Spanish, German, Japanese, Chinese, and 13 others.
- Precise location data โ latitude, longitude, street address, city, and country on 100% of properties, ready to map or geo-filter, plus the
districtneighbourhood wherever Hostelworld publishes one (53% of Rome's catalog, 22% of Madrid's โ it's editorial, not geocoded, so coverage is city by city). - Room-level detail on dated runs โ set
checkIn/checkOutandroomTypeslists every dorm and private option with capacity, type, ensuite flag, and price, alongside afreeCancellationflag. Leave the dates empty instead and you trade that depth for reach: the entire city catalog, 129 properties in Rome and 84 in Lisbon, each with a flattenedamenitieslist. - Two record types, one run โ
recordType: "listing"andrecordType: "review"share a single dataset, with separate Listings and Reviews views so you can export each cleanly. - Reviews are opt-in and bounded โ
maxReviewsPerListingkeeps cost predictable; leave it at 0 for a listings-only run, raise it only when you need sentiment data.
Use Cases
Travel Market Research
- Map hostel inventory and price levels across backpacker cities worldwide
- Compare dorm vs. private pricing by destination and season
- Track which property types dominate a market (hostel, hotel, B&B, apartment)
- Benchmark amenities and free-cancellation availability across a city
Rate & Competitive Intelligence
- Monitor live nightly rates for your exact dates and guest counts
- Compare your property's price-from against nearby competitors
- Detect promoted and featured listings crowding the top of search
- Watch how sort order (popularity, price, rating) reshuffles a market
Guest Sentiment Analysis
- Mine review text for recurring complaints and praise per property
- Segment sentiment by reviewer nationality, traveller type, and age group
- Score competitor properties on the seven rating sub-categories
- Build language-specific review datasets for NLP and topic modeling
Lead Generation for Suppliers
- Build target lists of hostels by city, rating, or property type
- Identify under-reviewed or low-rated properties as outreach prospects
- Surface newly promoted listings investing in visibility
Data Enrichment & Integration
- Enrich an existing accommodation database with ratings and coordinates
- Feed pricing and sentiment into dashboards and market reports
- Power comparison tools with live multi-currency rates
Getting Started
Search a City
The simplest run โ just name a destination:
{"search": "hostels in Lisbon","maxResults": 50}
Add Guest Reviews
Turn on reviews to capture sentiment alongside the listings:
{"search": "Barcelona","maxResults": 30,"maxReviewsPerListing": 25,"sortBy": "rating"}
Live Pricing with Dates, Currency & Language
Price real availability for your stay and localize the output:
{"search": "Bangkok","checkIn": "2026-08-12","checkOut": "2026-08-15","guests": 3,"maxResults": 100,"maxReviewsPerListing": 50,"sortBy": "price_low","currency": "EUR","language": "es"}
Using Hostelworld URLs
Paste search-result pages or individual property pages โ the type is detected automatically:
{"startUrls": ["https://www.hostelworld.com/pwa/s?id=Lisbon","https://www.hostelworld.com/pwa/hosteldetails.php/p/p/12345"],"maxReviewsPerListing": 20}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
search | string | "hostels in Lisbon" | City, country, or area to search on Hostelworld in plain language โ no URL needed. If you also paste URLs below, the URLs are used instead. |
startUrls | string[] | [] | Hostelworld URLs to scrape โ search-result pages or individual property pages. The page type is detected automatically. Overrides the destination above. |
Dates & Guests
| Parameter | Type | Default | Description |
|---|---|---|---|
checkIn | string | null | Check-in date in YYYY-MM-DD format. Leave both dates empty for the full catalog at standard prices. Set them for live nightly prices and room availability, limited to what's bookable on those nights. |
checkOut | string | null | Check-out date in YYYY-MM-DD format. Must be after the check-in date. |
guests | integer | 2 | Party size, 1โ8. Only applies alongside checkIn/checkOut, where it hides properties that can't take a party that size. It does not change prices, and it has no effect on a dateless catalog run. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum number of property listings to return. Set to 0 for all available. |
maxReviewsPerListing | integer | 0 | How many guest reviews to also collect per property. 0 returns listings only (cheapest). Each review is its own result โ popular hostels can have thousands, so start small. |
sortBy | select | Most popular | How listings are ranked: Most popular, Price (lowest first), or Best rated. |
Localization
| Parameter | Type | Default | Description |
|---|---|---|---|
currency | select | US Dollar | Currency for displayed prices. 23 options including US Dollar, Euro, British Pound, Japanese Yen, Thai Baht, and Brazilian Real. |
language | select | English | Language for property descriptions and review text where available. 17 options including Spanish, French, German, Japanese, and Chinese (Simplified). |
Output
Each row carries a recordType field โ either listing or review โ so both share one dataset. The Listings and Reviews views let you export each separately.
Listing Example
This one is from a dated run, so it shows roomTypes and a real freeCancellation answer. On the dateless default those two come back [] and null respectively, and everything else is identical.
{"recordType": "listing","id": "12345","name": "Sunset Backpackers Lisbon","propertyType": "Hostel","url": "https://www.hostelworld.com/pwa/hosteldetails.php/p/p/12345","address": "Rua do Alecrim 12","district": "Bairro Alto","city": "Lisbon","country": "Portugal","latitude": 38.7101,"longitude": -9.1428,"overallRating": 9.2,"ratingsCount": 4187,"ratingLabel": "Superb","ratingBreakdown": {"security": 9.1, "location": 9.6, "staff": 9.4,"atmosphere": 9.0, "cleanliness": 9.3, "facilities": 8.8, "value": 9.0},"priceFrom": 18.5,"priceFromDorm": 18.5,"priceFromPrivate": 62.0,"currency": "EUR","roomTypes": [{ "name": "6 Bed Mixed Dorm", "type": "dorm", "capacity": 6, "ensuite": false, "price": 18.5 }],"amenities": ["Free WiFi", "24h Reception", "Bar", "Luggage Storage"],"images": ["https://www.hostelworld.com/.../photo1.jpg"],"freeCancellation": true,"isPromoted": false,"description": "A lively hostel in the heart of Bairro Alto...","scrapedAt": "2026-06-11T14:30:00Z"}
Core & Property
| Field | Type | Description |
|---|---|---|
recordType | string | Always "listing" for these rows. |
id | string | Hostelworld property ID. |
name | string | Property name. |
propertyType | string | Hostel, hotel, B&B, apartment, etc. |
url | string | Property page URL on Hostelworld. |
description | string | Property overview text. |
images | string[] | Property image URLs. |
isPromoted | boolean | Promoted or featured flag. |
freeCancellation | boolean | Whether free cancellation is available for your dates. Needs checkIn/checkOut โ true on around 94% of properties four weeks out. On dateless catalog runs there is no window to check against, so this comes back null (unknown) rather than a misleading false. |
scrapedAt | string | ISO 8601 timestamp of extraction. |
Location
| Field | Type | Description |
|---|---|---|
address | string | Street address. |
district | string | Neighbourhood or district. Editorial, not geocoded โ Hostelworld publishes one for roughly 20โ70% of a city's properties, so expect nulls. latitude/longitude/address are the reliable geo fields. |
city | string | City. |
country | string | Country. |
latitude | number | Latitude. |
longitude | number | Longitude. |
Pricing & Rooms
| Field | Type | Description |
|---|---|---|
priceFrom | number | Lowest nightly price available. |
priceFromDorm | number | Lowest dorm bed price per night. null for properties with no dorm beds (hotels, guesthouses, private-only apartments), which is 40โ64% of a typical city catalog. |
priceFromPrivate | number | Lowest private room price per night. null for dorm-only properties, typically 3โ19% of a city catalog. |
currency | string | Currency code of the prices. |
roomTypes | object[] | Room and bed options: name, type (dorm/private), capacity, ensuite, price. Populated when checkIn/checkOut are set; empty on catalog runs. |
amenities | string[] | Facilities and amenities, flattened from Hostelworld's categories. |
Ratings
| Field | Type | Description |
|---|---|---|
overallRating | number | Overall guest score (e.g. 9.2). Empty when Hostelworld shows no current score for the property. |
ratingsCount | integer | Guest ratings on record for the property. |
ratingLabel | string | Word label (Superb, Fabulous, Very Good, Good, Okay). Empty when there is no current score. |
ratingBreakdown | object | Sub-scores: security, location, staff, atmosphere, cleanliness, facilities, value. Empty when there is no current score. |
Review Example
{"recordType": "review","listingId": "12345","listingName": "Sunset Backpackers Lisbon","listingUrl": "https://www.hostelworld.com/pwa/hosteldetails.php/p/p/12345","reviewId": "98765432","rating": 9.0,"text": "Great location and super friendly staff. The bar got busy at night but the dorms were quiet.","authorName": "Marie","authorCountry": "France","authorAgeGroup": "25-30","travellerType": "Solo female","reviewDate": "2026-05-28","language": "en"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "review" for these rows. |
listingId | string | Property ID this review belongs to (joins back to the listing). |
listingName | string | Property name, so each review is useful standalone. |
listingUrl | string | Property page URL. |
reviewId | string | Review ID. |
rating | number | Reviewer's overall score for the stay. |
text | string | Review body text. |
authorName | string | Reviewer display name. |
authorCountry | string | Reviewer nationality / country. |
authorAgeGroup | string | Reviewer age band, when shown. |
travellerType | string | Solo, couple, group, family, etc. |
reviewDate | string | When the review was posted (ISO 8601). |
language | string | Language code of the review text. |
Tips for Best Results
- Start small to verify โ set
maxResultsto 10โ30 on your first run to confirm the data matches your needs, then scale up. - Reviews are billed separately โ turn them on only when you need sentiment โ leave
maxReviewsPerListingat 0 for a pure listings run; a single popular hostel can have thousands of reviews, so set a modest cap like 25โ50 to keep cost predictable. Up to 5,000 reviews per property are collected. - Dates trade coverage for depth โ leave
checkIn/checkOutempty and you get the whole city catalog at standard prices (Rome 129 properties, Lisbon 84), withroomTypesempty andfreeCancellationnull, because neither can be worked out without a stay to check. Fill the dates in and both populate (freeCancellationistrueon about 94% of properties four weeks out), but you only see what's still bookable on those nights, which for a next-day stay can be a quarter of the city. Book four weeks or more ahead for the fullest dated view. - Filter on nulls, don't fear them โ
priceFrom,address,city,countryand coordinates land on 100% of properties, so build your pipeline on those.priceFromDorm,priceFromPrivateanddistrictare genuinely absent for some properties rather than missed by the extraction: anullpriceFromDormis a reliable signal that the property sells no dorm beds at all, which makes it the fastest way to split true hostels from the hotels and apartments Hostelworld also lists. - Match currency and language to your audience โ set
currencyandlanguageup front so prices and review text arrive localized rather than needing post-processing. - Sort by rating for sentiment work โ
Best ratedsurfaces the properties most worth analyzing first, whilePrice (lowest first)is ideal for budget benchmarking. Sort ranks the listings fetched for yourmaxResults, so for a true city-wide cheapest- or top-rated ranking, raisemaxResults(or set it to 0) to pull the whole city before sorting. - City search or a property URL โ both return full details โ a plain city name returns the full city catalog, and pasting an individual property page returns that one property's complete record (rating breakdown, price, amenities, images) plus its reviews. Typing a destination is the most reliable way to cover a whole market.
- Join reviews to listings on
listingIdโ every review carries its property ID, name, and URL, so the two record types merge cleanly in any spreadsheet or database.
Pricing
From $4 per 1,000 listings + $1 per 1,000 reviews (shown at the Gold loyalty tier; discount tiers below). No compute or time-based charges โ you pay only per result, with listings and reviews priced separately, plus a small fixed per-run start fee.
Reviews are opt-in: a listings-only run (maxReviewsPerListing = 0) is charged for listings alone.
Listings Pricing
| Listings | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.48 | $0.45 | $0.42 | $0.40 |
| 1,000 | $4.80 | $4.50 | $4.20 | $4.00 |
| 10,000 | $48.00 | $45.00 | $42.00 | $40.00 |
| 100,000 | $480.00 | $450.00 | $420.00 | $400.00 |
Reviews Pricing
| Reviews | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.12 | $0.11 | $0.105 | $0.10 |
| 1,000 | $1.20 | $1.10 | $1.05 | $1.00 |
| 10,000 | $12.00 | $11.00 | $10.50 | $10.00 |
| 100,000 | $120.00 | $110.00 | $105.00 | $100.00 |
Example Run Cost
Blended totals at the Gold tier so you can see the combined cost of a typical run:
| Run | Listings | Reviews | Total |
|---|---|---|---|
| Listings only | 200 | 0 | $0.80 |
| Light sentiment | 100 | 1,000 | $1.40 |
| Full sentiment sweep | 500 | 5,000 | $7.00 |
A "result" is any row in the output dataset โ each listing and each review counts once. Platform fees (compute, storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate travel market research, rate analysis, and sentiment study. You are responsible for complying with applicable laws and Hostelworld's Terms of Service. Review text and reviewer details are personal data โ handle them in line with GDPR and other privacy regulations, and do not use extracted data for spam, harassment, or any unlawful purpose.