# Holidu Property Search Scraper (`stealth_mode/holidu-property-search-scraper`) Actor

Scrape vacation rental listings from Holidu.com with comprehensive property details, pricing, ratings, and amenities. Extract holiday homes, apartments, and villa data across global destinations for travel research, price comparison, and rental market analysis.

- **URL**: https://apify.com/stealth\_mode/holidu-property-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Holidu Property Search Scraper: Extract Vacation Rental Data Efficiently

### Understanding Holidu and Vacation Rental Data Value

Holidu.com is a leading vacation rental search engine aggregating millions of properties from platforms like Airbnb, Booking.com, and Vrbo. Unlike single-platform scrapers, Holidu provides cross-platform property comparison, making it valuable for understanding the broader vacation rental market.

The platform offers detailed property information including pricing across providers, guest ratings, amenities, cancellation policies, and booking options. For vacation rental managers, market researchers, and travel platforms, this data reveals pricing strategies, market saturation, and competitive positioning across destinations.

This scraper automates extraction of property search results, transforming manual browsing into structured datasets for analysis, integration, or competitive intelligence.

### What This Scraper Extracts

The scraper processes Holidu search results, capturing property listings with comprehensive details:

**Property Identification:** ID, group ID, external group ID, and provider information for tracking properties across platforms.

**Availability & Booking:** Availability status, express/instant bookable flags, and routing type indicate booking ease and platform preferences.

**Pricing Data:** Price, alternative price rates, and currency enable pricing analysis across dates, locations, and providers.

**Property Details:** Complete property information including bedrooms, bathrooms, capacity, and unique selling points (USPs).

**Location Data:** Geographic information and proximity to ski resorts or attractions for market segmentation.

**Visual Assets:** Photo URLs for property presentation and marketing analysis.

**Ratings & Reviews:** Guest ratings, Holidu ratings, and review extracts provide quality signals and sentiment analysis.

**Amenities:** Detailed amenity lists (V2 and V3 formats) for filtering and feature analysis.

**Policies:** Cancellation policy details for risk assessment and booking flexibility analysis.

### Input Configuration

The scraper uses structured search parameters to target specific properties:

```json
{
  "keyword": "Florida--USA",
  "check_in": "2026-05-30",
  "check_out": "2026-06-06",
  "page": 3,
  "max_items_per_url": 50
}
````

**Parameter Details:**

**keyword:** Location identifier from Holidu URLs (e.g., "Florida--USA", "Paris--France"). Find this in the URL path: `holidu.com/s/Florida--USA`. Required field.

**check\_in / check\_out:** Date range in YYYY-MM-DD format. Affects pricing and availability data. Essential for accurate market analysis.

**currency:** Preferred currency (USD, EUR, GBP). Defaults to USD. Ensures consistent pricing comparison.

**price\_to:** Maximum price filter (e.g., "1000"). Narrows results to budget range.

**rating:** Minimum rating filter ("90"=9.0+, "80"=8.0+, "70"=7.0+, "60"=6.0+). Focuses on quality properties.

**bedrooms / bathrooms:** Property size filters. Targets specific property types.

**page:** Page number for pagination. Defaults to 1. Use for deep scraping.

**max\_items\_per\_url:** Items to extract (default 20). Controls dataset size per search.

**Finding Keywords:** Navigate to Holidu.com, search your destination, and copy the location slug from the URL between `/s/` and `?`.

### Output Structure and Field Definitions

**Sample Output:**

```json
{
  "meta_data": {
    "search_source": "NS",
    "search_type": null,
    "impression_type": "SH",
    "multi_unit_data": {
      "number_of_units": 1,
      "units": [],
      "part_of_multi_unit": true
    }
  },
  "id": "63378358",
  "is_available": null,
  "outbound_link": null,
  "internal_link": "/d/63378358?searchTerm=Florida--USA&checkin=2026-05-30&checkout=2026-06-06&pageIndex=3&locale=en-US¤cy=USD&adults=2",
  "provider": {
    "id": "TRAVELSTAYTION_PCI",
    "logo_url": "https://static.holidu.com/img/provider/logos/TRAVELSTAYTION_PCI_2.png",
    "legal_name": "Staytion Ltd",
    "short_name": "TravelStaytion",
    "statistics": null,
    "company_address": "Cadogan Square Chelsea London SW1X 0JP United Kingdom",
    "is_premium_partner": false
  },
  "price": {
    "total": 7621,
    "daily": 1089,
    "strike_through_total": null,
    "strike_through_daily": null,
    "is_exact": false,
    "currency": "USD",
    "ccy": "USD",
    "discount_type": null,
    "discount_amount": null,
    "discount_percentage": null,
    "discount_description": null,
    "nights": 7
  },
  "usps": [
    {
      "id": "USP_PEOPLE",
      "format": "NUMBER",
      "value": 6,
      "unit": null,
      "group": "PEOPLE"
    },
    {
      "id": "USP_BED_ROOM",
      "format": "NUMBER",
      "value": 3,
      "unit": null,
      "group": "LAYOUT"
    },
    {
      "id": "USP_AREA",
      "format": "NUMBER_WITH_UNIT",
      "value": 904,
      "unit": "UNIT_SF",
      "group": "AREA"
    },
    {
      "id": "USP_BEACH",
      "format": "NUMBER_WITH_UNIT",
      "value": 150.0,
      "unit": "UNIT_YD",
      "group": "POI"
    }
  ],
  "external_group_id": null,
  "group_id": "16460335",
  "is_express_bookable": true,
  "is_instant_bookable": true,
  "routing_type": "DETAIL",
  "details": {
    "name": "Presidential Royale Direct Oceanfront Brand New Apartment - 1001",
    "short_name": [
      "904 ft²",
      "Apartment"
    ],
    "apartment_type_title": "Apartment",
    "short_description": null,
    "area": {
      "value": 904,
      "unit": "UNIT_SF"
    },
    "bedrooms_count": 3,
    "guests_count": 6,
    "pets_count": null,
    "apartment_type": "APARTMENT",
    "long_name": "Vacation apartment for 6 people, with sauna and balcony as well as ocean view and yard, kid friendly",
    "alternative_long_name": null,
    "bed_types": [
      "BED_DOUBLE",
      "BED_SINGLE"
    ],
    "unit_name": null
  },
  "likes": null,
  "location": {
    "lat": 25.82992,
    "lng": -80.12107,
    "name": "Miami Beach, Florida",
    "geo_hash": "dhx4by1w5y04",
    "distance_to_search_region_center": {
      "id": null,
      "format": "NUMBER_WITH_UNIT",
      "value": 1.6,
      "unit": "UNIT_MI"
    },
    "distance_to_original_search_region_center": null
  },
  "photos": [
    {
      "t": "https://img.holidu.com/images/349c37c8-62db-4a02-a7ba-a80918c455d2/t.jpg",
      "m": "https://img.holidu.com/images/349c37c8-62db-4a02-a7ba-a80918c455d2/m.jpg",
      "l": "https://img.holidu.com/images/349c37c8-62db-4a02-a7ba-a80918c455d2/l.jpg",
      "hr": "https://img.holidu.com/images/349c37c8-62db-4a02-a7ba-a80918c455d2/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/7595426d-7c43-49bb-8c9b-bcec544009ec/t.jpg",
      "m": "https://img.holidu.com/images/7595426d-7c43-49bb-8c9b-bcec544009ec/m.jpg",
      "l": "https://img.holidu.com/images/7595426d-7c43-49bb-8c9b-bcec544009ec/l.jpg",
      "hr": "https://img.holidu.com/images/7595426d-7c43-49bb-8c9b-bcec544009ec/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/94d6f80d-83ca-4d4a-8484-ed7aee0186bc/t.jpg",
      "m": "https://img.holidu.com/images/94d6f80d-83ca-4d4a-8484-ed7aee0186bc/m.jpg",
      "l": "https://img.holidu.com/images/94d6f80d-83ca-4d4a-8484-ed7aee0186bc/l.jpg",
      "hr": "https://img.holidu.com/images/94d6f80d-83ca-4d4a-8484-ed7aee0186bc/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/e1bf0931-5b5c-4c46-aadb-1462c232f0fa/t.jpg",
      "m": "https://img.holidu.com/images/e1bf0931-5b5c-4c46-aadb-1462c232f0fa/m.jpg",
      "l": "https://img.holidu.com/images/e1bf0931-5b5c-4c46-aadb-1462c232f0fa/l.jpg",
      "hr": "https://img.holidu.com/images/e1bf0931-5b5c-4c46-aadb-1462c232f0fa/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/8694ff0a-e439-44c9-ac61-8f99dcde7ac1/t.jpg",
      "m": "https://img.holidu.com/images/8694ff0a-e439-44c9-ac61-8f99dcde7ac1/m.jpg",
      "l": "https://img.holidu.com/images/8694ff0a-e439-44c9-ac61-8f99dcde7ac1/l.jpg",
      "hr": "https://img.holidu.com/images/8694ff0a-e439-44c9-ac61-8f99dcde7ac1/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/ccaa1087-910c-411a-9b88-7a2c1706da84/t.jpg",
      "m": "https://img.holidu.com/images/ccaa1087-910c-411a-9b88-7a2c1706da84/m.jpg",
      "l": "https://img.holidu.com/images/ccaa1087-910c-411a-9b88-7a2c1706da84/l.jpg",
      "hr": "https://img.holidu.com/images/ccaa1087-910c-411a-9b88-7a2c1706da84/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/652b282c-7842-44eb-b513-61ea1130437d/t.jpg",
      "m": "https://img.holidu.com/images/652b282c-7842-44eb-b513-61ea1130437d/m.jpg",
      "l": "https://img.holidu.com/images/652b282c-7842-44eb-b513-61ea1130437d/l.jpg",
      "hr": "https://img.holidu.com/images/652b282c-7842-44eb-b513-61ea1130437d/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/52a17ad1-b6b2-4470-82f4-dc2d85ac1699/t.jpg",
      "m": "https://img.holidu.com/images/52a17ad1-b6b2-4470-82f4-dc2d85ac1699/m.jpg",
      "l": "https://img.holidu.com/images/52a17ad1-b6b2-4470-82f4-dc2d85ac1699/l.jpg",
      "hr": "https://img.holidu.com/images/52a17ad1-b6b2-4470-82f4-dc2d85ac1699/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/54d65058-6e46-4b87-82cb-48df43c9fa85/t.jpg",
      "m": "https://img.holidu.com/images/54d65058-6e46-4b87-82cb-48df43c9fa85/m.jpg",
      "l": "https://img.holidu.com/images/54d65058-6e46-4b87-82cb-48df43c9fa85/l.jpg",
      "hr": "https://img.holidu.com/images/54d65058-6e46-4b87-82cb-48df43c9fa85/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/5347e183-9ea5-47c8-b6d3-7fcf09ae8c30/t.jpg",
      "m": "https://img.holidu.com/images/5347e183-9ea5-47c8-b6d3-7fcf09ae8c30/m.jpg",
      "l": "https://img.holidu.com/images/5347e183-9ea5-47c8-b6d3-7fcf09ae8c30/l.jpg",
      "hr": "https://img.holidu.com/images/5347e183-9ea5-47c8-b6d3-7fcf09ae8c30/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/6c783824-931d-4f75-a592-b519ed412054/t.jpg",
      "m": "https://img.holidu.com/images/6c783824-931d-4f75-a592-b519ed412054/m.jpg",
      "l": "https://img.holidu.com/images/6c783824-931d-4f75-a592-b519ed412054/l.jpg",
      "hr": "https://img.holidu.com/images/6c783824-931d-4f75-a592-b519ed412054/hr.jpg",
      "overlay": false
    },
    {
      "t": "https://img.holidu.com/images/f8e0d3f7-b87e-4550-a35b-db640f395f1d/t.jpg",
      "m": "https://img.holidu.com/images/f8e0d3f7-b87e-4550-a35b-db640f395f1d/m.jpg",
      "l": "https://img.holidu.com/images/f8e0d3f7-b87e-4550-a35b-db640f395f1d/l.jpg",
      "hr": "https://img.holidu.com/images/f8e0d3f7-b87e-4550-a35b-db640f395f1d/hr.jpg",
      "overlay": false
    }
  ],
  "rating": {
    "count": 75,
    "value": 94
  },
  "holidu_rating": null,
  "cancellation_policy": {
    "free_cancellation": null,
    "light_cancellation": null
  },
  "tags": [
    {
      "id": "NICE_VIEWS",
      "value": "Great views",
      "tooltip": "This property is very well located! It has the following views:"
    }
  ],
  "amenities_v2": {
    "a_m_e_n_i_t_y__i_m_p_o_r_t_a_n_t": [
      {
        "id": "AIR_CONDITION",
        "format": "STRING",
        "value": "Air conditioning",
        "count": 1,
        "group": "AIR_CONDITION"
      },
      {
        "id": "KITCHEN",
        "format": "STRING",
        "value": "Kitchen",
        "count": 1,
        "group": "KITCHEN"
      },
      {
        "id": "WASHER",
        "format": "STRING",
        "value": "Washing machine",
        "count": 1,
        "group": "WASHER"
      },
      {
        "id": "BALCONY_TERRACE",
        "format": "STRING",
        "value": "Balcony/Terrace",
        "count": 1,
        "group": "BALCONY_TERRACE"
      }
    ]
  },
  "amenities_v3": null,
  "dates": {
    "from": "2026-05-30",
    "to": "2026-06-06"
  },
  "review_extract": null,
  "missing_filters": [],
  "ski_resort_names": [],
  "alternative_price_rates": [],
}
```

**Meta Data:** Search context including keywords, dates, and filters applied.

**ID / Group ID / External Group ID:** Unique identifiers linking properties across platforms and tracking duplicate listings.

**Is Available:** Boolean indicating current availability for selected dates.

**Outbound Link / Internal Link:** Booking URLs (external partner or Holidu direct). Critical for conversion tracking.

**Provider:** Source platform (Airbnb, Vrbo, Booking.com). Enables cross-platform analysis.

**Price / Alternative Price Rates:** Current pricing and comparison rates across providers. Essential for price optimization.

**USPs:** Unique selling points highlighting property features (pool, beach access, pet-friendly).

**Is Express Bookable / Is Instant Bookable:** Booking speed indicators affecting conversion rates.

**Routing Type:** Booking flow type (direct, redirect). Impacts user experience analysis.

**Details:** Complete property specifications (bedrooms, bathrooms, capacity, size).

**Likes:** User engagement metric for popularity tracking.

**Location:** Geographic data including address, coordinates, and region for mapping and market analysis.

**Photos:** Image URLs for visual analysis and display.

**Rating / Holidu Rating:** Guest scores and Holidu's normalized rating for quality comparison.

**Cancellation Policy:** Refund terms affecting booking risk.

**Tags:** Property categories (villa, apartment, chalet) for classification.

**Amenities V2/V3:** Structured amenity lists (WiFi, kitchen, parking) in different format versions.

**Dates:** Check-in/out dates and booking window information.

**Review Extract:** Sample guest feedback for sentiment analysis.

**Missing Filters:** Unmet search criteria for data quality tracking.

**Ski Resort Names:** Nearby ski areas for winter destination analysis.

### Implementation Guide

**1. Define Search Parameters:** Choose destination keywords, date ranges, and filters matching your research goals.

**2. Configure Input:** Set up JSON with parameters. For large datasets, adjust `max_items_per_url` and use pagination via `page` parameter.

**3. Execute Scraping:** Launch via Apify. Processing 50 properties typically completes in 1-2 minutes.

**4. Export Data:** Download as JSON for databases or CSV for spreadsheet analysis.

**5. Handle Pagination:** For comprehensive coverage, increment `page` parameter across multiple runs or set high `max_items_per_url`.

**Error Tips:** Verify keyword format matches Holidu URLs. Ensure date formats are YYYY-MM-DD. Invalid filters may return empty results.

### Strategic Applications

**Dynamic Pricing Analysis:** Track price fluctuations across dates, seasons, and providers to optimize rental pricing strategies.

**Market Density Mapping:** Analyze property concentration and pricing by location to identify saturated vs. underserved markets.

**Amenity Benchmarking:** Compare amenity offerings across price points and locations to identify competitive advantages.

**Provider Performance:** Track which platforms (Airbnb, Vrbo) dominate specific markets and price ranges.

**Rating Correlation:** Analyze relationship between ratings, amenities, and pricing for quality positioning.

**Seasonal Trends:** Monitor availability and pricing patterns across seasons for inventory planning.

**Competitive Intelligence:** Track competitor properties, pricing changes, and booking availability.

### Best Practices

**Schedule Regular Scraping:** Weekly scraping captures pricing changes and seasonal trends. Daily monitoring for high-competition markets.

**Filter Strategically:** Use rating and price filters to focus on relevant market segments rather than scraping all properties.

**Cross-Reference Data:** Combine with local tourism data, events calendars, and occupancy reports for comprehensive market understanding.

**Validate Accuracy:** Spot-check scraped prices against live Holidu listings to ensure data freshness.

**Respect Rate Limits:** Space out large scraping runs to maintain sustainable access.

### Conclusion

The Holidu Property Search Scraper delivers comprehensive vacation rental market intelligence across global destinations. From pricing optimization to market analysis, this tool transforms Holidu's aggregated data into actionable insights for rental managers, travel platforms, and market researchers. Start extracting vacation rental intelligence today.

# Actor input Schema

## `keyword` (type: `string`):

Enter keyword. Check it on holidu.com listing page url. (e.g. https://www.holidu.com/s/Florida--USA?checkin=2026-04-30\&checkout=2026-05-06\&ctx=NJoonn-Zfs -> Florida--USA)

## `check_in` (type: `string`):

Select absolute date in format YYYY-MM-DD

## `check_out` (type: `string`):

Select absolute date in format YYYY-MM-DD

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

Enter currency (e.g., USD)

## `price_to` (type: `string`):

Enter max price (e.g., 1000)

## `rating` (type: `string`):

Select star rating

## `bedrooms` (type: `string`):

Enter max bedrooms (e.g., 2)

## `bathrooms` (type: `string`):

Enter max bathrooms (e.g., 2)

## `page` (type: `string`):

Enter page number (e.g., 1)

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape.

## Actor input object example

```json
{
  "keyword": "Florida--USA",
  "currency": "USD",
  "max_items_per_url": 20
}
```

# 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 = {
    "keyword": "Florida--USA",
    "currency": "USD",
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/holidu-property-search-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 = {
    "keyword": "Florida--USA",
    "currency": "USD",
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/holidu-property-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keyword": "Florida--USA",
  "currency": "USD",
  "max_items_per_url": 20
}' |
apify call stealth_mode/holidu-property-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stealth_mode/holidu-property-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Holidu Property Search Scraper",
        "description": "Scrape vacation rental listings from Holidu.com with comprehensive property details, pricing, ratings, and amenities. Extract holiday homes, apartments, and villa data across global destinations for travel research, price comparison, and rental market analysis.",
        "version": "0.0",
        "x-build-id": "DScG6kfYK35idEPvC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~holidu-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-holidu-property-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~holidu-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-holidu-property-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~holidu-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-holidu-property-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Enter keyword. Check it on holidu.com listing page url. (e.g. https://www.holidu.com/s/Florida--USA?checkin=2026-04-30&checkout=2026-05-06&ctx=NJoonn-Zfs -> Florida--USA)"
                    },
                    "check_in": {
                        "title": "Check-in date (YYYY-MM-DD)",
                        "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "Select absolute date in format YYYY-MM-DD"
                    },
                    "check_out": {
                        "title": "Check-out date (YYYY-MM-DD)",
                        "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "Select absolute date in format YYYY-MM-DD"
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "Enter currency (e.g., USD)"
                    },
                    "price_to": {
                        "title": "Max price",
                        "type": "string",
                        "description": "Enter max price (e.g., 1000)"
                    },
                    "rating": {
                        "title": "Filter by rating",
                        "enum": [
                            "",
                            "90",
                            "80",
                            "70",
                            "60"
                        ],
                        "type": "string",
                        "description": "Select star rating"
                    },
                    "bedrooms": {
                        "title": "Number of bedrooms",
                        "type": "string",
                        "description": "Enter max bedrooms (e.g., 2)"
                    },
                    "bathrooms": {
                        "title": "Number of bathrooms",
                        "type": "string",
                        "description": "Enter max bathrooms (e.g., 2)"
                    },
                    "page": {
                        "title": "Page number",
                        "type": "string",
                        "description": "Enter page number (e.g., 1)"
                    },
                    "max_items_per_url": {
                        "title": "Max items",
                        "type": "integer",
                        "description": "The maximum number of items to scrape."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
