# Hostelworld Hostel Scraper (`parseforge/hostelworld-scraper`) Actor

Scrapes hostel listings from Hostelworld by city and country. Returns each property as a flat row with name, rating, price, location, and amenities. Optionally filter by check-in and check-out dates.

- **URL**: https://apify.com/parseforge/hostelworld-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Travel, Developer tools, Automation
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Hostelworld Hostel Scraper

**Scrape hostel listings from any city on Hostelworld, with prices, ratings, amenities, and availability.** Feed it a city and country, optionally add dates, and get every property in a flat row. Export to CSV, JSON, Excel, or XML.

Hostelworld's search pages list every budget accommodation in a city, but copying them by hand is slow and the official API is restricted. This Actor reads the public search results for any destination you give it, collects each hostel's name, rating, price, location, and amenities, and returns them in one structured dataset. No login, no API key, no browser needed.

| Who uses it | What they scrape Hostelworld for |
|---|---|
| Budget travel bloggers | Building a directory of the cheapest hostels in every major city. |
| Revenue managers at hostel chains | Checking how their own properties rank against competitors in a destination. |
| Market researchers | Tracking the number of hostels and average prices in a region over time. |
| Travel app developers | Seeding a hostel database with fresh listings for a new booking feature. |

### What it does

This Actor collects hostel listings from Hostelworld by city and country, and returns each property as a flat row with its core details.

- 🏙️ **City-wide search:** give it a city and country, and it pulls every hostel on the first page of results.
- 📅 **Optional date filter:** add check-in and check-out dates to see only properties available for your trip.
- 📊 **Flat row output:** every hostel comes as one row with its name, rating, price, and amenities, ready for spreadsheets.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Hostelworld data

**🗺️ Build a hostel directory.**

A travel blogger runs the Actor for 50 cities, exports the CSV, and publishes a searchable map of budget stays.

**📈 Monitor competitor pricing.**

A hostel chain runs the Actor weekly for Bangkok with dates set 30 days out, and compares its own rates against the scraped prices.

**🔍 Find last-minute availability.**

A backpacker runs the Actor for Amsterdam with tomorrow's date to see which hostels still have beds.

**📊 Track market supply.**

A researcher runs the Actor monthly for 20 European capitals and counts the number of active listings to measure tourism recovery.

### Why choose this scraper

| | What you get |
|---|---|
| **No API key needed** | Reads the public search pages, so you skip OAuth and rate-limit negotiations. |
| **One row per hostel** | Every property lands in your dataset with a fixed schema, no nested JSON to unpack. |
| **Dates are optional** | Leave dates blank to get all listed hostels regardless of availability. |

### How it compares

This Actor focuses on scraping the core hostel listing data from city search results, while other Hostelworld scrapers on Apify add reviews, rate calendars, or direct URL inputs.

| Feature | ParseForge | Hostelworld Scraper (3 users) | Hostelworld Scraper (2 users) | Hostelworld Rate & Availability Monitor (2 users) |
|---|---|---|---|---|
| Search by city and country | Yes | Yes | Yes | Not listed |
| Optional check-in and check-out dates | Yes | Not listed | Not listed | Yes |
| Guest reviews included | Not listed | Yes | Yes | Not listed |
| Forward-dated rate calendar | Not listed | Not listed | Not listed | Yes |
| Scrape by direct URL | Not listed | Yes | Yes | Not listed |
| Flat row output per hostel | Yes | Not listed | Not listed | Not listed |

### Configure the run

Drive the Actor with a city and country, and optionally add check-in and check-out dates to filter by availability. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10,
 "city": "Bangkok",
 "country": "Thailand"
}
```

A larger pull:

```json
{
 "maxItems": 200,
 "city": "Bangkok",
 "country": "Thailand"
}
```

### Pricing

Pay-per-result: **$0.021 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Hostelworld Hostel Scraper](https://apify.com/parseforge/hostelworld-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Hostelworld through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/hostelworld-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the city and country names match exactly how they appear on Hostelworld. Try the search on the website first to confirm the destination exists. Also, if you set dates far in the future, availability may be limited.

**The Actor returns fewer hostels than I see on the website.**

Increase the maxItems value. Hostelworld paginates results, and the Actor stops when it hits your limit. Also, some hostels may be filtered out if you set dates and they have no availability.

**I get an error about the city not being found.**

Use the exact spelling from Hostelworld's search bar. For cities with common names, include the country to disambiguate. For example, 'London, United Kingdom' rather than 'London'.

**The prices in the output look different from the website.**

Hostelworld shows prices in the local currency by default. The Actor captures whatever currency the site displays for your search. Check your Hostelworld language and currency settings in a browser to match them.

**Can I run this on a schedule?**

Yes, Apify supports scheduled runs. Set up a recurring task to scrape the same city daily or weekly, and the dataset will update automatically.

### FAQ

| Question | Answer |
|---|---|
| Can I scrape multiple cities in one run? | The Actor takes one city and country per run. To scrape multiple cities, run it once per destination, or set up multiple tasks in Apify. |
| Does it scrape all pages of results? | It collects up to the number of hostels you set in the maxItems field. Hostelworld paginates results, and the Actor will fetch subsequent pages until it reaches your limit. |
| What happens if I leave the dates empty? | The Actor returns all hostels listed for that city, without filtering by availability. You get the full directory. |
| Does it include guest reviews? | This Actor focuses on the hostel listing data: name, rating, price, location, and amenities. It does not collect individual guest reviews. |
| Can I scrape a specific hostel by URL? | This Actor searches by city and country. To scrape a specific property page, you would need a different tool that accepts direct URLs. |
| Is this the official Hostelworld API? | No, this is an unofficial scraper that reads the public website. It does not require an API key or Hostelworld partnership. |
| What format does the data come in? | You can export your results to CSV, JSON, Excel, or XML from the Apify dataset tab. |
| Does it work for any country? | Yes, Hostelworld lists properties in 179 countries. Enter the city and country as they appear on the site, and the Actor will find them. |
| Can I filter by price or rating? | The Actor collects all hostels from the search results. You can filter the exported dataset in your spreadsheet tool by the price or rating columns. |
| How many hostels can I scrape per run? | You set the maximum in the input, up to 1,000,000. The actual number depends on how many hostels Hostelworld lists for that city. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Hostelworld Group Limited. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

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

How many hostels to collect per run.

## `city` (type: `string`):

City to search for hostels and budget accommodations (e.g. Bangkok, Paris, Amsterdam, Tokyo).

## `country` (type: `string`):

Country where the city is located (e.g. Thailand, France, Netherlands, Japan).

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

Optional check-in date in YYYY-MM-DD format. Leave blank for availability-independent results.

## `checkOut` (type: `string`):

Optional check-out date in YYYY-MM-DD format.

## Actor input object example

```json
{
  "maxItems": 10,
  "city": "Bangkok",
  "country": "Thailand"
}
```

# Actor output Schema

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

No description

# 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 = {
    "maxItems": 10,
    "city": "Bangkok",
    "country": "Thailand"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/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 = {
    "maxItems": 10,
    "city": "Bangkok",
    "country": "Thailand",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/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 '{
  "maxItems": 10,
  "city": "Bangkok",
  "country": "Thailand"
}' |
apify call parseforge/hostelworld-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/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/bWhttnO9mdzWl7xJp/builds/nhNfETDZkwbIceI6p/openapi.json
