
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Hostelworld hostels and hotels by city with your dates and guests: ratings and sub-ratings, review counts, lowest dorm and private prices, facilities, coordinates and photos, plus optional profiles and live room prices. Or get guest reviews with reviewer nationality, age group and trip type. No login needed.
Get every hostel, hotel and guesthouse Hostelworld lists in a city, with your dates and guests: ratings and sub-ratings, review counts, lowest dorm and private prices, distance to the centre, facilities, coordinates and photos. Switch to reviews mode to collect guest reviews with reviewer nationality, age group and traveller type. No login, no browser, results in seconds.
Berlin, Lisbon, Portugal or a Hostelworld city URL) and/or property URLs to Property URLs or ids.| Field | Description |
|---|---|
mode | properties (default) or reviews |
locations | City names, Hostelworld city/district/search URLs, or city ids |
propertyUrls | Hostelworld property URLs or numeric ids |
maxItemsPerLocation | Properties per city (0 = all), default 20 |
maxReviewsPerProperty | Reviews per property (0 = all), default 20 |
checkIn, checkOut, nights, guests | Optional stay for live availability and prices |
currency | EUR, USD, GBP, AUD, ... |
sortBy, propertyTypes, minRating, maxPrice | Sorting and filters |
includeDetails | Add the full property profile |
includeRooms | Add every available room with prices (needs a check-in date) |
reviewsSort, reviewsFrom, reviewsAllLanguages | Review options |
{
"mode": "properties",
"locations": ["Berlin", "https://www.hostelworld.com/hostels/europe/portugal/lisbon/"],
"checkIn": "2026-11-20",
"nights": 2,
"guests": 2,
"currency": "EUR",
"maxItemsPerLocation": 20,
"includeDetails": false
}
Reviews for specific properties:
{
"mode": "reviews",
"propertyUrls": ["https://www.hostelworld.com/hostels/p/11286/eastseven-berlin-hostel/"],
"maxReviewsPerProperty": 100,
"reviewsSort": "newest"
}
Properties mode, one row per property:
| Field | Description |
|---|---|
propertyId, name, type, url | Identity and Hostelworld page |
rating, reviewCount, ratings | Overall rating (0-10), number of ratings, and security, location, staff, atmosphere, cleanliness, facilities, value-for-money sub-ratings |
lowestPricePerNight, lowestDormPricePerNight, lowestPrivatePricePerNight, currency | Lowest prices (live for your dates when a check-in is set) |
originalDormPricePerNight, originalPrivatePricePerNight, promotions | Price before discount and active promotions |
freeCancellation, freeCancellationUntil | Free cancellation availability |
address, district, city, country, latitude, longitude, distanceFromCenterKm | Location |
facilities, facilitiesByCategory, images, overview | Amenities, photo URLs and short description |
isFeatured, isNew, hostelworldRecommends, veryPopular, position | Badges and position in the city list |
Profile fields (includeDetails) | description, directions, checkInFrom, checkInUntil, latestCheckOut, bestFor, paymentMethods, depositPercentage, cancellationPolicy, thingsToNote, policies, taxes, fees, timesBookedToday, businessRegNumber |
rooms (includeRooms) | Each available dorm and private room: name, type, capacity, ensuite, beds left, price per night, total price |
{
"propertyId": "15426",
"name": "St Christopher's Berlin - Mitte",
"type": "hostel",
"url": "https://www.hostelworld.com/hostels/p/15426/st-christopher-s-berlin-mitte/",
"rating": 8.3,
"reviewCount": 10435,
"ratings": {"security": 9.0, "location": 9.2, "staff": 8.6, "atmosphere": 8.2, "cleanliness": 7.5, "facilities": 7.3, "valueForMoney": 8.1},
"currency": "EUR",
"lowestPricePerNight": 19.88,
"lowestDormPricePerNight": 19.88,
"lowestPrivatePricePerNight": 85.91,
"originalDormPricePerNight": 22.09,
"promotions": [{"name": "10% everyone all platform", "discountPercent": 10, "type": "CUSTOM"}],
"freeCancellation": true,
"address": "Ziegelstr. 28",
"district": "Mitte",
"city": "Berlin",
"country": "Germany",
"latitude": 52.523588,
"longitude": 13.39096,
"distanceFromCenterKm": 1.28,
"facilities": ["Bicycle Parking", "Luggage Storage", "24 Hour Reception", "Free WiFi", "Rooftop Bar"],
"images": ["https://a.hwstatic.com/image/upload/f_auto,q_auto/v1/propertyimages/1/15426/m0tyooptf31sfivqsgdn"],
"searchLocation": "Berlin, Germany",
"checkIn": "2026-11-20",
"checkOut": "2026-11-22",
"guests": 1
}
Reviews mode, one row per review:
{
"reviewId": "16698766",
"propertyId": "274237",
"propertyName": "CITAN Hostel",
"propertyUrl": "https://www.hostelworld.com/hostels/p/274237/citan-hostel/",
"date": "2026-10-10",
"rating": 8.3,
"ratings": {"valueForMoney": 8.0, "security": 8.0, "location": 8.0, "staff": 10.0, "atmosphere": 8.0, "cleanliness": 8.0, "facilities": 8.0},
"text": "The staff were helpful and nice. Has a nice cafe and small pub on the ground floor...",
"language": "en",
"ownerResponse": null,
"reviewerName": "janedoe123",
"reviewerNationality": "USA",
"reviewerNationalityCode": "US",
"reviewerGender": "Female",
"reviewerAgeGroup": "41+",
"reviewerGroupType": "Female",
"tripTypes": ["Round the world trip"],
"reviewerReviewCount": 8,
"propertyRating": 9.5,
"propertyReviewCount": 1828
}
Pay per result, platform usage is billed separately at the normal rates (a typical run uses well under one cent).
includeDetails): $6.00 per 1,000, charged instead of Property.includeRooms): $4.00 per 1,000 properties.Examples: 1,000 hostels ≈ $2.00; 1,000 reviews ≈ $4.00. You can cap any run with a maximum total charge, and the scraper stops cleanly when it is reached.
Is it legal to scrape Hostelworld? The actor only reads public pages and data that any visitor can see. Check Hostelworld's terms and your local laws for your use case, and handle reviewers' personal data responsibly.
Do I need a Hostelworld account or a proxy? No account. The default datacenter proxy works well; you can switch to residential in the Proxy section.
How many results can I get? Everything Hostelworld lists for a city (typically 20-150 properties per city, fewer when a date is set because only properties with availability are listed) and every review of a property, thousands for popular hostels.
Why is a price empty? A property without dorms has no dorm price, and some properties have no availability for your dates. Without a check-in date the prices are Hostelworld's indicative "from" prices.
Can I schedule it or use the API? Yes. Schedule runs to monitor prices or new reviews, and call it through the API or integrations.
Why does the reviewer name look like a username? Hostelworld shows reviewers by their public nickname; that is what the scraper returns.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
modeenumOptionaldefault "properties"What to scrape
Properties: one row per hostel/hotel in each city (and per property URL). Reviews: one row per guest review of each property URL, or of the top properties of each city.
locationsarrayOptionalCities
City names (e.g. Berlin, Lisbon, Portugal or Berlin, USA), Hostelworld city URLs such as https://www.hostelworld.com/hostels/europe/germany/berlin/ (district URLs with /d// are filtered to that district), Hostelworld search URLs (their dates and guests are used), or numeric city ids.
propertyUrlsarrayOptionalProperty URLs or ids
Hostelworld property pages such as https://www.hostelworld.com/hostels/p/11286/eastseven-berlin-hostel/ (old hosteldetails.php links work too) or numeric property ids. In Reviews mode these are the properties whose reviews are saved; in Properties mode each becomes one property row.
maxItemsPerLocationintegerOptionaldefault 20Maximum properties per city
Stop after this many properties per city (in Reviews mode: how many of each city's properties to read reviews for). 0 means all.
maxReviewsPerPropertyintegerOptionaldefault 20Maximum reviews per property
Reviews mode: stop after this many reviews per property. 0 means all.
Dates, guests, currency, sorting and property filters.
checkInstringOptionalCheck-in date
Optional. With a date, prices are the live lowest dorm and private prices for your stay and only properties with availability are listed. Without one, Hostelworld's indicative prices are shown.
checkOutstringOptionalCheck-out date
Optional. Overrides Nights when set.
nightsintegerOptionaldefault 2Nights
Length of stay when only a check-in date is given (1-30).
guestsintegerOptionaldefault 1Guests
Number of guests for availability and prices.
currencystringOptionaldefault "EUR"Currency
Three-letter currency code for prices, e.g. EUR, USD, GBP, AUD.
sortByenumOptionaldefault "recommended"Sort properties by
Order of each city's properties (matters when the limit is lower than the city's total).
propertyTypesarrayOptionalProperty types
Keep only these types. Empty keeps all.
minRatingnumberOptionalMinimum rating (0-10)
Keep properties rated at least this on Hostelworld's 0-10 scale.
maxPricenumberOptionalMaximum price per night
Keep properties whose lowest price per night (in the chosen currency) is at most this.
Optional per-property profile and live room availability.
includeDetailsbooleanOptionaldefault falseInclude property profile
Adds the full description, directions, check-in and check-out times, best-for tags, payment methods, deposit, cancellation policy, things to note, policies, taxes and fees. One extra request per property, charged as 'Property with profile' instead of 'Property'.
includeRoomsbooleanOptionaldefault falseInclude live rooms and prices
Needs a check-in date. Adds every available dorm and private room for your stay with price per night, total price, capacity, ensuite and beds left. Charged as a 'Room availability' add-on per property.
Only used in Reviews mode.
reviewsSortenumOptionaldefault "newest"Sort reviews by
Order in which reviews are read. With Newest first, 'Reviews from' stops at the first older review.
reviewsFromstringOptionalReviews from
Keep reviews posted on or after this date (YYYY-MM-DD).
reviewsAllLanguagesbooleanOptionaldefault trueReviews in all languages
On: reviews in every language, as written. Off: English reviews only.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work well for Hostelworld.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| name | any | Name |
| url | any | Hostelworld page |
| type | any | Type |
| city | any | City |
| rating | any | Rating |
| reviewCount | any | Reviews |
| lowestDormPricePerNight | any | Dorm from |
| lowestPrivatePricePerNight | any | Private from |
| currency | any | Currency |
| distanceFromCenterKm | any | Km to centre |
| district | any | District |
| checkIn | any | Check-in |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Property | Charged for each hostel, hotel or guesthouse saved from a city search or property lookup. | $0.002 |
| Property with profile | Charged instead of 'Property' when the property profile is switched on and was loaded (description, directions, policies, check-in times, taxes and fees). | $0.006 |
| Review | Charged for each guest review saved. Empty results and invalid inputs are free. | $0.004 |
| Room availability | Add-on per property when live rooms are switched on and a check-in date is set: every available dorm and private room with prices. | $0.004 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/hostelworld-scraper').call({
"locations": [
"Berlin"
],
"maxItemsPerLocation": 20,
"maxReviewsPerProperty": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/hostelworld-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/hostelworld-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Top-rated properties with details and room prices.
Guest reviews from hostel links.
Hostels sorted by price with a rating filter.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.