Hostelworld Scraper icon

Hostelworld Scraper - Hostels, Hotels, Prices, Reviews & Events

Scrape Hostelworld hostels, hotels, guesthouses, B&Bs, apartments and campsites by city, property URL or ID. Extract prices, ratings, rooms, facilities, full reviews, Linkups events and attendee details.

Open actor on Apify ↗Need a custom scraper?Telegram @abotapi ↗

Hostelworld Scraper at a glance

Hostelworld Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its output documents 97 fields, including type, propertyid, property, type and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.10 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Web data
Pricing
$1.80 per 1,000 results (Free plan), from $1.10 on paid plans
Output
97 documented fields · JSON, CSV, Excel
Inputs
29 options

What Hostelworld Scraper can do

  • Three ways in. Search a city by name (in any property type), paste property or city-search URLs, or give numeric property IDs. No URL building needed.
  • One row, everything inside. Each property carries its card data plus optional full details, the room board with per-night prices, its guest reviews and its Linkups events.
  • Reviews-only mode. Flip reviewsOnly and the dataset holds nothing but review rows, full text, per-category ratings, traveller details and owner replies.
  • Linkups events. Pub crawls, city walks and meetups hosted at each property, inside a date window you control.
  • Who's going. The traveller nationality mix heading to each property, as shown on the site.
  • Sorted output. Re-order listings by price, rating, review count or name, the website's own order is preserved on request.

Choose what to collect

These inputs let you configure Hostelworld Scraper - Hostels, Hotels, Prices, Reviews & Events. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredSearch mode finds hostels, hotels and other stays in the cities you name. URL mode accepts pasted property pages, or city search pages which the actor walks page by page.

Choices: search, url

locationsarrayCities to search, one per line. Examples: Berlin, Lisbon Portugal, Bangkok.
propertyTypestringWhat to search for in the chosen cities.

Choices: hostel, hotel, guesthouse, bed-and-breakfast, apartment, campsite, accommodation

districtstringNarrow the search to one district, e.g. kreuzberg in Berlin. Leave empty for the whole city.
sortBystringOrder in which properties from the search are returned.

Choices: recommended, price_low, price_high, rating, reviews, name

startUrlsarrayProperty pages (…/hostels/p/703/circus-hostel/), the mobile share form (…/st/hostel/703/…), or city search pages for any property type (…/hostels/europe/germany/berlin/, …/hotels/…, with or without ?page=N). Search pages walk forward page by page.
propertyIdsarrayOptionally add numeric Hostelworld property IDs directly (the number in /p/703/). Works in both modes.
Show 22 more inputs
More input fields
InputWhat it controls
maxItemsintegerMaximum rows to save across the whole run (property rows, or review rows in reviews-only output). The run can return fewer when the site has fewer matches.
maxPagesintegerAdvanced safety bound for search-page walking, 1-500 (leave empty for the internal bound; listings always stop at Max items first).
includeDetailsbooleanFetch the full detail page for every listing: description, facilities, room board with prices, policies, check-in, payment methods, address and directions, photos, business registration. Charged per property.
includeReviewsbooleanCollect guest reviews with full text, per-category ratings, traveller details and owner replies. Charged per review.
maxReviewsPerPropertyintegerCap on reviews collected from each property.
reviewSortstringOrder of reviews returned for each property.

Choices: newest, oldest, topRated, lowestRated

allLanguagesbooleanInclude machine-translated reviews written in other languages, not just English.
includeEventsbooleanCollect Linkups events (hostel gatherings: pub crawls, city walks, meetups) hosted at each property, inside Events window. Charged per event.
eventsDaysAheadintegerHow many days ahead to look for Linkups events.
eventsPageSizeintegerCap on Linkups events collected from each property.
includePeoplebooleanAdd the travellers heading to each property in the events window (nationality mix and avatars, as shown on the site).
reviewsOnlybooleanWhen ON, the dataset holds ONLY review rows (one row per review with property fields denormalized) and property rows are not emitted. Max items then counts review rows.
currencystringISO code prices are returned in.
resumeFromRunIdstringOptional run or dataset ID from a previous run: rows already collected there are skipped, so this run returns only the delta. Cannot be combined with an existing Incremental mode baseline for the same scope.
incrementalModebooleanRemember the last run for this exact scope (state key below) and return only NEW/UPDATED rows next time: changes to prices, ratings, reviews counts, details text, rooms, facilities, events or people drive UPDATED; the availability flag, booked-today counter, rotating image URLs and scrape timestamps never do (see Ignore fields below). UNCHANGED rows are neither saved nor charged.
stateKeystringOptional name for the incremental baseline. Leave empty to key it automatically on this run's scope.
emitUnchangedbooleanIncremental mode only: also save rows that did not change since the last run (classified UNCHANGED).
emitExpiredbooleanIncremental mode only: also save rows from the last run that this run could not find anymore (classified EXPIRED). Only when the full scope was scanned.
ignoreFieldsForChangesarrayAdvanced. Field names that must never mark a row UPDATED in incremental mode (telemetry you do not care about). Availability flag, booked-today counter and scraped-at timestamp are already ignored by default.
mcpConnectorsarrayOptionally send scraped rows into connected apps via Model Context Protocol connectors. Authorize a connector under Apify > Settings > API & Integrations, then select it here. Supported: Notion, Linear, Airtable, and Apify.
notionParentPageUrlstringURL or id of the Notion page under which result pages are created. Required for Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on how many rows are written to each selected connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

typetype
propertyIdpropertyId
propertyNameProperty (text)
propertyTypeType (text)
propertyUrlURL (link)
addressaddress
addressFullAddress (text)
cityCity (text)
countryCountry (text)
avgRatingRating (number)
numberReviewsReviews (number)
cityCenterDistanceKmcityCenterDistanceKm
Show 85 more fields
latitudelatitude
longitudelongitude
sharedMinPriceDorm from (number)
privateMinPricePrivate from (number)
lowestPricePerNightlowestPricePerNight
lowestDormPricePerNightlowestDormPricePerNight
lowestPrivatePricePerNightlowestPrivatePricePerNight
freeCancellationAvailablefreeCancellationAvailable
promotionspromotions
vatIncludedvatIncluded
cancellationPoliciesListcancellationPoliciesList
currencyCurrency (text)
hasAvailabilityhasAvailability
checkInFromCheck-in from (number)
checkInUntilcheckInUntil
latestCheckOutCheckout (text)
depositPercentagedepositPercentage
freeCancellationfreeCancellation
cancellationPolicycancellationPolicy
paymentMethodspaymentMethods
facilitiesFacilities (text)
roomsRooms (text)
maxNumberOfGuestsPerBookingmaxNumberOfGuestsPerBooking
starRatingstarRating
timesBookedTodaytimesBookedToday
businessRegNumberbusinessRegNumber
bestForbestFor
descriptiondescription
hostelworldSayshostelworldSays
directionsdirections
thingsToNotethingsToNote
peopleGoingCountPeople going (number)
peopleGoingpeopleGoing
eventsCountEvents (number)
eventsevents
reviewsCountReviews saved (number)
reviewsSummaryreviewsSummary
badgesbadges
imageUrlsimageUrls
heroImageUrlsheroImageUrls
introintro
sustainabilitysustainability
sourceModeSource mode (text)
sourceQuerysourceQuery
sourceUrlsourceUrl
scrapedAtScraped at (date)
changeTypechangeType
changedFieldschangedFields
firstSeenAtfirstSeenAt
lastSeenAtlastSeenAt
reviews.reviewIdReview ID (text)
reviews.reviewDateDate (date)
reviews.ratingOverallOverall (number)
reviews.ratingValuereviews.ratingValue
reviews.ratingSafetyreviews.ratingSafety
reviews.ratingLocationreviews.ratingLocation
reviews.ratingStaffreviews.ratingStaff
reviews.ratingAtmospherereviews.ratingAtmosphere
reviews.ratingCleanlinessreviews.ratingCleanliness
reviews.ratingFacilitiesreviews.ratingFacilities
reviews.reviewTextReview (text)
reviews.likedreviews.liked
reviews.dislikedreviews.disliked
reviews.ownerReplyOwner reply (text)
reviews.recommendedreviews.recommended
reviews.languageCodereviews.languageCode
reviews.isMachineTranslatedreviews.isMachineTranslated
reviews.reviewerNicknameReviewer (text)
reviews.reviewerNumberOfReviewsreviews.reviewerNumberOfReviews
reviews.reviewerNationalityNationality (text)
reviews.travellerGroupTypeGroup (text)
reviews.travellerAgeRangereviews.travellerAgeRange
events.eventIdEvent ID (text)
events.kindKind (text)
events.nameEvent (text)
events.descriptionevents.description
events.categoryevents.category
events.startTimeStarts (text)
events.endTimeevents.endTime
events.locationLocation (text)
events.priceevents.price
events.totalParticipantsParticipants (number)
events.isRecurringevents.isRecurring
events.imageUrlevents.imageUrl
reviewIdReview ID (text)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "type": "property",
  "propertyId": 703,
  "propertyName": "Circus Hostel",
  "propertyType": "HOSTEL",
  "propertyUrl": "https://www.hostelworld.com/hostels/p/703/circus-hostel/",
  "city": "Berlin",
  "country": "Germany",
  "addressFull": "Weinbergsweg 1a, 10119",
  "latitude": 52.530147,
  "longitude": 13.401918,
  "avgRating": 9.26,
  "numberReviews": 8087,
  "sharedMinPrice": 21.24,
  "privateMinPrice": 149.44,
  "currency": "EUR",
  "checkInFrom": 0,
  "latestCheckOut": "12:00",
  "facilities": [
    "Free WiFi",
    "Luggage Storage",
    "Self-Catering Kitchen"
  ],
  "rooms": [
    {
      "roomType": "4 Bed Mixed Dorm",
      "category": "dorms",
      "capacity": 4,
      "pricePerNight": 36.11
    }
  ],
  "reviewsCount": 20,
  "reviews": [
    {
      "review_reviewId": "16686493",
      "review_ratingOverall": 5.1,
      "review_reviewText": "…",
      "review_ownerReply": null
    }
  ],
  "eventsCount": 6,
  "events": [
    {
      "eventId": 5487030,
      "name": "BVG Crawl",
      "totalParticipants": 12
    }
  ],
  "peopleGoingCount": 30,
  "reviewsSummary": {
    "positiveCount": 251,
    "negativeCount": 5,
    "soloPercentage": 91.24
  },
  "scrapedAt": "2026-10-07T12:00:00+00:00"
}

Ways to use this data

  • Hostel and hotel market research: track dorm and private prices, ratings and review volumes across cities and property types.
  • Revenue and competitor monitoring: watch room boards, promotions and free-cancellation terms for a set of properties on a schedule.
  • Guest-experience analysis: collect full review text with per-category ratings (staff, security, location, atmosphere, cleanliness, facilities, value) and owner replies.
  • Event-led travel tools: surface Linkups events at hostels in the coming days, with participant counts.
  • Travel apps and AI agents: feed clean JSON into your booking assistant, map app or MCP-connected workspace.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Hostelworld Scraper return?

Hostelworld Scraper returns 97 documented fields, including type, propertyid, property, type, url, address, address and city. Availability of each field depends on the source page and the selected mode.

How much does Hostelworld Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.10 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only the reviews of a property?

Yes. Turn on Output reviews only (reviewsOnly) and the dataset contains nothing but review rows, each with the property's name, city and ratings denormalized onto it. Use it together with reviewSort and maxReviewsPerProperty.

Can I get only new or changed properties on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new and updated properties, and unchanged ones are not billed.

Why did my run fail instead of returning an empty dataset?

If the site refuses every request, the run stops with a clear message so "no matches" is never confused with "nothing could be read". Run it again in a few minutes. If only some sources could be read, you still get what was found.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.