# Hostelworld Scraper — Hostels, Prices & Reviews (`hipersoft/hostelworld-scraper`) Actor

Scrape Hostelworld hostels in any city: name, type, address, coordinates, rating and breakdown, review count, lowest dorm and private prices for your dates, facilities, photos, plus guest reviews with ratings, trip type and owner replies. Export CSV/JSON.

- **URL**: https://apify.com/hipersoft/hostelworld-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0005 / result

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Hostelworld Scraper: Hostels, Prices, Ratings & Guest Reviews

**Hostelworld Scraper** extracts hostel data from **Hostelworld (hostelworld.com)**, the world's largest hostel booking site with 36,000+ hostels, hotels and guesthouses in 180 countries. Search any **city** (Lisbon, Barcelona, London, Bangkok, Medellín…) and get every property's **name, type, address, district, GPS coordinates, overall rating and rating breakdown (security, location, staff, atmosphere, cleanliness, facilities, value for money), review count, lowest dorm and private-room prices for your dates, free-cancellation flag, distance from the centre, facilities, description and photos**. Optionally add **guest reviews** with rating breakdown, review text, owner replies, reviewer nationality, age group and trip type. Export to **CSV, Excel or JSON**.

### What does Hostelworld Scraper do?

- 🏨 **All hostels in a city**: hostels, hotels, guesthouses, apartments and campsites.
- 💶 **Prices for your dates**: lowest dorm bed and private room price per night for any check-in date, number of nights and guests, in 10 currencies.
- ⭐ **Ratings**: overall Hostelworld rating plus security, location, staff, atmosphere, cleanliness, facilities and value scores.
- 📍 **Location**: address, district, coordinates and distance from the city centre.
- 🛎️ **Facilities**: free breakfast, Wi-Fi, 24-hour reception, lockers, bar, kitchen and more.
- 📝 **Guest reviews (optional)**: newest reviews with text, rating breakdown, owner reply, reviewer nationality, age group, traveller type and trip type.
- 🎯 **Filters**: property type and minimum rating.
- 🔗 **Specific hostels**: paste Hostelworld property links to get details and reviews for just those.

### What data can you scrape from Hostelworld?

| Field | Description |
|---|---|
| Property ID, name, link | Hostelworld property |
| Type | Hostel, hotel, guesthouse, apartment, campsite |
| Address, district | Street address and neighbourhood |
| Coordinates | Latitude, longitude |
| Rating | Overall rating (0–100) and 7-part breakdown |
| Review count | Number of guest ratings |
| Prices | Lowest price, dorm price, private price per night |
| Free cancellation | Whether free cancellation is offered |
| Distance | Kilometres from the city centre |
| Facilities | Full facility list |
| Description and photos | Overview text and image links |
| Reviews | Text, date, rating breakdown, owner reply, nationality, age group, trip type |

### Use cases for Hostelworld data

- **Hostel owners and managers**: benchmark prices, ratings and facilities against competitors in your city.
- **Revenue management**: track dorm and private prices for upcoming dates.
- **Travel startups and content creators**: build "best hostels in…" lists from real ratings.
- **Reputation and sentiment analysis**: analyse guest reviews by nationality, age group and trip type.
- **Market research**: compare hostel supply and pricing across cities and countries.
- **Travel agencies and tour operators**: find well-rated budget accommodation for groups.

### How to scrape Hostelworld

1. Click **Try for free** to open Hostelworld Scraper in Apify Console.
2. Enter **cities** or paste **Hostelworld property links**.
3. Optionally set a **check-in date**, **nights**, **guests** and **currency** for prices.
4. Turn on **Include guest reviews** if you need reviews.
5. Click **Start** and download the data as **CSV, Excel or JSON**.

### Input

#### Example input

```json
{
  "cities": ["Lisbon", "Barcelona"],
  "checkIn": "2026-11-10",
  "nights": 2,
  "guests": 1,
  "currency": "EUR",
  "propertyTypes": ["HOSTEL"],
  "minRating": 85,
  "maxPropertiesPerCity": 50,
  "includeReviews": true,
  "maxReviewsPerProperty": 20
}
```

| Field | Description |
|---|---|
| **Cities** | City names or Hostelworld city links. |
| **Specific hostels** | Hostelworld property links or IDs. |
| **Check-in date, Nights, Guests** | Dates and party size for prices. |
| **Currency** | Price currency. |
| **Property types** | Hostels, hotels, guesthouses, apartments, campsites. |
| **Minimum rating** | 0–100 rating floor. |
| **Max properties per city** | Limit per city (0 = all). |
| **Include guest reviews** | Add review rows. |
| **Max reviews per property** | Limit per property (0 = all). |
| **Max results in total** | Overall row limit (0 = no limit). |

### Output

#### Property example

```json
{
  "recordType": "property",
  "propertyId": "73197",
  "name": "Lost Inn Lisbon",
  "type": "HOSTEL",
  "url": "https://www.hostelworld.com/hostels/p/73197/",
  "city": "Lisbon",
  "country": "Portugal",
  "district": "Rossio Square",
  "address": "Beco dos Apostolos 6",
  "latitude": 38.7082506,
  "longitude": -9.144032,
  "rating": 94,
  "reviewCount": 7300,
  "ratingBreakdown": { "security": 98, "location": 98, "staff": 95, "atmosphere": 92, "cleanliness": 93, "facilities": 91, "valueForMoney": 93 },
  "currency": "EUR",
  "lowestPricePerNight": 17.91,
  "lowestDormPrice": 17.91,
  "lowestPrivatePrice": 83.44,
  "freeCancellation": true,
  "hostelworldRecommends": true,
  "distanceFromCenterKm": 0.76,
  "facilities": ["Bicycle Parking", "Adaptors", "Luggage Storage", "24 Hour Reception", "Tours/Travel Desk"],
  "images": ["https://a.hwstatic.com/propertyimages/7/73197/lqqe9tgt5kaogtpy2bsq.jpg"]
}
```

#### Review example

```json
{
  "recordType": "review",
  "propertyId": "14348",
  "propertyName": "Palmers Lodge - Swiss Cottage",
  "city": "London",
  "reviewId": "16682920",
  "date": "2026-09-30",
  "rating": 94,
  "ratingBreakdown": { "security": 100, "location": 100, "staff": 100, "atmosphere": 100, "cleanliness": 80, "facilities": 100, "valueForMoney": 80 },
  "text": "Very nice hostel with historic charm. Good location near metro lines. Good breakfast and daily activities. Friendly staff.",
  "languageCode": "en",
  "ownerReply": null,
  "reviewerNationality": "USA",
  "reviewerAgeGroup": "41+",
  "travellerType": "FEMALE",
  "tripTypes": ["RTWTRIP"]
}
```

### How much does it cost to scrape Hostelworld?

Hostelworld Scraper uses **pay-per-result** pricing: a small fixed price per property or review row, with automatic discounts on higher Apify plans. See the **Pricing** tab for the exact price.

### More travel data

- [Airbnb Scraper](https://apify.com/hipersoft/airbnb-scraper): Airbnb listings and prices.
- [Google Maps Reviews Scraper](https://apify.com/hipersoft/google-maps-reviews): reviews of hotels, restaurants and attractions.

### FAQ

**Do I need dates to get prices?**
No, but dates give exact prices. Without a check-in date you get general lowest prices.

**How are ratings scaled?**
Ratings are 0–100, as on Hostelworld (94 = 9.4).

**Can I get only hostels, not hotels?**
Yes. Set **Property types** to Hostels.

**Can I monitor prices?**
Yes. Schedule the scraper with fixed dates to track price changes over time.

**What formats can I export?**
CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.

**Can I integrate Hostelworld Scraper with other apps?**
Hostelworld Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JS/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes.

**Is it legal to scrape Hostelworld?**
The scraper only collects publicly displayed property information and reviews, and does not collect reviewer names. You are responsible for using the data in line with Hostelworld's terms and the GDPR.

### Related Actors

- [Airbnb Scraper](https://apify.com/hipersoft/airbnb-scraper)
- [Google Maps Reviews Scraper](https://apify.com/hipersoft/google-maps-reviews)

### Notes

Original clean-room implementation. Returns only public data. Not affiliated with Hostelworld.

# Actor input Schema

## `cities` (type: `array`):

City names or Hostelworld city links, e.g. Lisbon, Barcelona, Bangkok, https://www.hostelworld.com/hostels/europe/england/london/.

## `hostels` (type: `array`):

Optional. Hostelworld property links or IDs, e.g. https://www.hostelworld.com/hostels/p/14348/palmers-lodge-swiss-cottage/.

## `checkIn` (type: `string`):

Optional. Get prices for these dates. Without a date you get general lowest prices.

## `nights` (type: `integer`):

Number of nights for prices.

## `guests` (type: `integer`):

Number of guests for prices.

## `currency` (type: `string`):

Price currency.

## `propertyTypes` (type: `array`):

Only these types. Leave empty for all.

## `minRating` (type: `integer`):

Only properties with at least this Hostelworld rating, e.g. 80 for 8.0+.

## `maxPropertiesPerCity` (type: `integer`):

0 means all properties in the city.

## `includeReviews` (type: `boolean`):

Also scrape guest reviews for each property (newest first).

## `maxReviewsPerProperty` (type: `integer`):

0 means all reviews from the last 3 years.

## `maxItems` (type: `integer`):

Stop after this many rows (properties + reviews). 0 means no limit.

## `proxyConfiguration` (type: `object`):

Not required for normal use.

## Actor input object example

```json
{
  "cities": [
    "Lisbon"
  ],
  "nights": 2,
  "guests": 1,
  "currency": "USD",
  "minRating": 0,
  "maxPropertiesPerCity": 20,
  "includeReviews": false,
  "maxReviewsPerProperty": 50,
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The results as dataset items.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "cities": [
        "Lisbon"
    ],
    "maxPropertiesPerCity": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/hostelworld-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "cities": ["Lisbon"],
    "maxPropertiesPerCity": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/hostelworld-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "cities": [
    "Lisbon"
  ],
  "maxPropertiesPerCity": 20
}' |
apify call hipersoft/hostelworld-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/hostelworld-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0RhqkshTnElYdXFuJ/builds/cjhDBmVrCqeuJe8se/openapi.json
