Holidaycheck.de Hotels Scraper avatar

Holidaycheck.de Hotels Scraper

Pricing

Pay per usage

Go to Apify Store
Holidaycheck.de Hotels Scraper

Holidaycheck.de Hotels Scraper

Extract HolidayCheck hotel listings from destination hotel pages and destination landing pages. Collect hotel names, destination hierarchy, review summaries, selling points, pricing context, travel details, and offer metadata in a structured dataset that is ready for research and market analysis.

Pricing

Pay per usage

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

1

Total users

1

Monthly active users

18 days ago

Last modified

Share

What does HolidayCheck Hotels Scraper do?

HolidayCheck Hotels Scraper extracts hotel listings from HolidayCheck (holidaycheck.de), Germany's leading travel review and booking platform. Give the Actor one or more HolidayCheck destination hotel URLs and it collects structured records for every hotel on those listing pages, including hotel identity, destination hierarchy, review scores, star ratings, pricing context, travel details, and offer metadata.

The Actor turns browsing a destination into a repeatable dataset. Instead of copying hotels from a browser, you paste a HolidayCheck URL, choose how many results you want, and download clean JSON, CSV, Excel, or XML rows for research, monitoring, and analytics.

Why use HolidayCheck Hotels Scraper?

  • Reliable hotel datasets - Collect hundreds of hotel records from HolidayCheck destination pages without manual copy-paste.
  • Automation-ready output - Export results to JSON, CSV, Excel, or XML, or push them into Google Sheets, webhooks, Make, or Zapier.
  • Review and price context - Each record includes review ratings, recommendation rates, pricing, travel dates, and destination details that make the dataset useful on its own.
  • Package and hotel-only searches - The Actor preserves the search mode already encoded in your HolidayCheck URL, so package and hotel-only listings stay accurate.
  • Schedule and monitor - Run the Actor on demand or schedule repeat runs to track hotel supply and review signals for the same destinations over time.

What data can you extract from HolidayCheck?

FieldDescription
nameHotel name
hotel_urlDirect HolidayCheck hotel detail URL
starsStar rating for the hotel
destination_nameDestination shown on the source page
destination_typeDestination type such as continent, country, region, or city
review_ratingOverall review score
review_recommendation_rateShare of reviewers who recommend the hotel
offer_price_per_personPrice per person for the current search context
offer_currencyCurrency of the returned price
travelkindSearch mode such as package or hotelonly
parentsParent destination hierarchy
coordinatesLatitude and longitude of the hotel
offerDates, room, meal, airports, and travel details for the search context

How to use HolidayCheck Hotels Scraper

  1. Open the Actor on Apify Store.
  2. Add one or more HolidayCheck hotel listing or destination URLs under urls.
  3. Set the maximum number of results with results_wanted.
  4. Optionally set max_pages to control how many result pages each URL may request.
  5. Run the Actor.
  6. Download the dataset or connect it to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
urlsArrayYes-One or more HolidayCheck URLs. Direct /dh/ hotel listing URLs are preferred; destination pages (/urlaub/, /ferien/, or short URLs such as /alpen) are resolved automatically.
results_wantedIntegerNo20Maximum number of hotels to collect across all provided URLs.
max_pagesIntegerNo3Safety cap for how many result pages to request per URL. Each page contains up to 12 hotels.
proxyConfigurationObjectNo{"useApifyProxy": false}Proxy mode. Use Apify Residential or your own residential proxy for reliable access. See the Proxy Configuration section below.

Proxy Configuration

HolidayCheck restricts automated traffic, and datacenter IPs or repeated requests are often blocked with an error page instead of hotel data. Light testing from your own connection usually works, but a residential proxy is the reliable way to keep production and scheduled runs smooth.

ModeWhen to use
None (default)Quick local testing or small one-off runs from your own connection.
Apify ResidentialRecommended for production, scheduled, and large runs. Residential IPs look like real visitors, so blocks are rare.
Custom residentialBring your own residential or ISP proxy pool.

The recommended setup uses Apify Residential proxy:

{
"urls": [
{
"url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=package"
}
],
"results_wanted": 20,
"max_pages": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

To use your own proxy pool, set proxyConfiguration.proxyUrls to a list of proxy server URLs.

How proxy handling works

  • Stable IP per destination - Each destination is processed through one consistent proxy connection, so the whole run for that destination looks like a single visitor session.
  • Automatic recovery on blocks - If a request is blocked or rate limited, the Actor retries with a fresh proxy connection and refreshes the page context automatically. Runs recover on their own.
  • No extra setup - Enable the proxy mode in the input and the Actor manages IP rotation and retries for you.

Output Data

Each dataset item can contain the following fields:

FieldTypeDescription
idStringHolidayCheck hotel ID
nameStringHotel name
hotel_urlStringHolidayCheck hotel detail URL
starsNumberHotel star rating
stars_sourceStringSource of the star classification
destination_idStringDestination ID from the source page
destination_nameStringDestination name
destination_typeStringDestination type such as continent, country, region, or city
destination_page_pathStringDestination path on HolidayCheck
listing_urlStringListing page used for extraction
source_urlStringOriginal URL provided as input
localeStringLocale of the extracted page
travelkindStringSearch mode such as package or hotelonly
positionNumberPosition in the collected dataset
coordinatesObjectLatitude and longitude
parentsArrayParent destination hierarchy
fingerprint_tagsArrayPositive fingerprint tags returned for the hotel
fingerprint_filtersArrayFingerprint filters attached to the hotel
fingerprint_scoresObjectFingerprint scores keyed by fingerprint name
reviewObjectRating, recommendation rate, ranking, trend, counts, and selling points
latest_awardObjectLatest known HolidayCheck award information
campaignsArrayCampaign tags attached to the listing
should_indexBooleanIndexing flag returned for the hotel
offerObjectPrice, dates, room, meal, airports, cashback labels, flights, and travel details for the current search context

Usage Examples

Scrape a single destination

Collect the first hotels from a HolidayCheck destination hotel listing:

{
"urls": [
{
"url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=package"
}
],
"results_wanted": 20,
"max_pages": 3
}

Scrape multiple destinations

Collect hotels from more than one destination in a single run:

{
"urls": [
{
"url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=package"
},
{
"url": "https://www.holidaycheck.de/dh/hotels-deutschland/f85228c2-8b9d-4be8-aa0f-ca7a90ffcbad?duration=7&rooms=a-a&travelkind=hotelonly"
}
],
"results_wanted": 48,
"max_pages": 2
}

Hotel-only search context

Keep the hotelonly search mode from the input URL to collect room-rate listings:

{
"urls": [
{
"url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=hotelonly"
}
],
"results_wanted": 12,
"max_pages": 2
}

Destination page input

Start from a destination page and let the Actor resolve the matching hotel listing:

{
"urls": [
{
"url": "https://www.holidaycheck.de/urlaub/afrika"
},
{
"url": "https://www.holidaycheck.de/ferien/afrika"
}
],
"results_wanted": 24,
"max_pages": 2
}

Sample Output

{
"id": "c15c4047-b815-3282-8366-82c036d575c3",
"name": "Pickalbatros Jungle Aqua Park Resort - Neverland Hurghada",
"hotel_url": "https://www.holidaycheck.de/hi/pickalbatros-jungle-aqua-park-resort-neverland-hurghada/c15c4047-b815-3282-8366-82c036d575c3",
"stars": 4,
"destination_id": "7de062f4-676c-3e2b-ad4a-12fd69afbeb6",
"destination_name": "Afrika",
"destination_type": "CONTINENT",
"destination_page_path": "/urlaub/afrika",
"listing_url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=package",
"source_url": "https://www.holidaycheck.de/dh/hotels-afrika/7de062f4-676c-3e2b-ad4a-12fd69afbeb6?duration=7&rooms=a-a&travelkind=package",
"locale": "de-DE",
"travelkind": "package",
"position": 1,
"review_rating": 5.6486,
"review_recommendation_rate": 0.9701,
"offer_price_per_person": 717,
"offer_currency": "EUR",
"coordinates": {
"longitude": 33.9289,
"latitude": 27.2925
},
"parents": [
{
"id": "77aeb81d-a0d3-3544-92df-d355846f7c82",
"name": "Hurghada",
"destination_type": "CITY"
}
],
"review": {
"rating": 5.6486,
"recommendation_rate": 0.9701,
"count_unarchived": 12860
},
"offer": {
"type": "package",
"price_per_person": 717,
"currency": "EUR",
"start_date": "2026-09-08",
"end_date": "2026-09-15",
"room_name": "Doppelzimmer",
"meal_type": "GT06-AI",
"departure_airport": "DUS",
"destination_airport": "HRG"
}
}

Tips for Best Results

  • Prefer direct hotel listing URLs - Use /dh/ destination hotel URLs when possible. They preserve the exact search context already configured on HolidayCheck.
  • Keep result size practical - Start with results_wanted: 20 for a quick validation run, then increase max_pages only when you need deeper pagination.
  • Use search-specific URLs - If you care about a specific travel context, use a URL that already contains the right dates and travel mode. The Actor keeps that context when collecting offer details.
  • Use a residential proxy for production runs - HolidayCheck restricts automated traffic, so use Apify Residential or your own residential proxy when running scheduled or large jobs.
  • Check for missing fields - HolidayCheck does not return every field for every hotel or search context. Missing fields usually reflect what the source page publishes, not an Actor failure.

Integrations

Connect your hotel dataset with:

  • Google Sheets - Export hotel lists for review and comparison.
  • Webhooks - Trigger downstream workflows after each run.
  • Make or Zapier - Connect results to no-code automations.
  • API - Access datasets programmatically from your own systems.

Export formats

  • JSON - For APIs and engineering workflows.
  • CSV - For spreadsheet and reporting workflows.
  • Excel - For business sharing and analysis.
  • XML - For structured system integrations.

Frequently Asked Questions

Can I export HolidayCheck data to CSV or Excel?

Yes. Apify datasets can be downloaded in CSV, Excel, JSON, XML, and other supported formats.

Do I need a proxy to run this Actor?

A residential proxy is strongly recommended for reliable results. HolidayCheck restricts automated traffic and blocks datacenter IPs. The Actor runs without a proxy for light testing, but production and scheduled runs should use Apify Residential proxy or your own residential proxy pool.

Can I run this Actor on a schedule?

Yes. You can schedule the Actor in Apify Console to refresh data hourly, daily, weekly, or at another interval.

Which HolidayCheck URLs work best?

Direct /dh/ destination hotel listing URLs work best. Destination pages under /urlaub/ and /ferien/, and short destination URLs such as /alpen, are also supported and are resolved to the matching hotel listing automatically.

Can I use more than one URL in a single run?

Yes. Add multiple HolidayCheck URLs to urls, and the Actor will process them in order until it reaches the requested result limit.

Does the Actor support package and hotel-only searches?

Yes. The Actor keeps the search mode that is already encoded in the provided URL, so both package and hotelonly listings are collected correctly.

Why do some records contain more fields than others?

HolidayCheck does not return the same data for every hotel and every search context. Empty values are removed instead of being returned as null.

Is this Actor suitable for non-technical users?

Yes. The Actor can be run from Apify Console with form-based inputs, and the output can be downloaded without writing code.

Scraping public web data can be legal, but you are responsible for complying with applicable laws, website terms, and privacy rules.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is designed for legitimate data collection from publicly available sources. Users are responsible for using the data responsibly and complying with applicable laws and website terms.