# Trivago Scraper | Hotel Prices and Listings (`parseforge/trivago-scraper`) Actor

Scrape hotel data from Trivago including hotel names, prices, ratings, locations, amenities, review scores and deals across booking sites. Build accommodation datasets for travel price comparison, trip planning and hospitality market research at scale across the full catalog

- **URL**: https://apify.com/parseforge/trivago-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Travel, E-commerce, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN 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/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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏨 Trivago Hotel Scraper

> 🚀 **Export Trivago hotel listings in seconds.** Scrape **hotel names, prices, ratings, star classifications, review counts, and Trivago listing URLs** for any city worldwide. No API key required.

> 🕒 **Last updated:** 2026-05-22 · **📊 9 fields** per record · **🌍 Worldwide coverage** · **🏨 Thousands of hotels per city**

The **Trivago Hotel Scraper** extracts real-time hotel data from Trivago's search results and returns **9 structured fields per hotel**, including pricing, guest ratings, star classifications, and direct booking links. Trivago aggregates prices from hundreds of booking providers, making it one of the most comprehensive hotel price comparison sources available.

The scraper supports any city or destination worldwide - from major hubs like New York, Paris, and London to smaller regional destinations. Each run fetches live data, so prices and availability reflect current market conditions.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Travel-tech teams, hospitality analysts, data scientists, price comparison platforms, researchers | Hotel price monitoring, competitor analysis, travel market research, dataset building, rate parity checks |

---

### 📋 What the Trivago Scraper does

Five workflows in a single run:

- 🌍 **City hotel search.** All hotels in any city or destination worldwide.
- 💰 **Live pricing.** Real-time "price from" values from Trivago's aggregated booking sources.
- ⭐ **Ratings and reviews.** Guest rating scores (out of 10) and total review counts.
- 🌟 **Star classification.** Official hotel star ratings (1-5 stars).
- 📅 **Date-aware pricing.** Optional check-in/check-out dates return accurate per-night prices.

Each record includes the hotel name, city, rating, review count, price from, currency, star classification, Trivago URL, and a high-quality hotel image URL.

> 💡 **Why it matters:** hotel price data powers travel product decisions, market analysis, and consumer-facing tools. Scraping Trivago manually is error-prone and time-consuming. This Actor returns structured, ready-to-use hotel datasets in seconds.

---

### 🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>location</code></td><td>string</td><td><code>"New York City"</code></td><td>City or destination to search (e.g. "Paris", "London", "Tokyo").</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>checkIn</code></td><td>string</td><td><code>null</code></td><td>Check-in date in YYYY-MM-DD format. Leave blank for flexible search.</td></tr>
<tr><td><code>checkOut</code></td><td>string</td><td><code>null</code></td><td>Check-out date in YYYY-MM-DD format. Leave blank for flexible search.</td></tr>
</tbody>
</table>

**Example: top 50 hotels in Paris for a weekend trip.**

```json
{
    "location": "Paris",
    "checkIn": "2026-06-15",
    "checkOut": "2026-06-18",
    "maxItems": 50
}
````

**Example: all hotels in Tokyo without specific dates.**

```json
{
    "location": "Tokyo",
    "maxItems": 100
}
```

> ⚠️ **Good to Know:** prices shown are the lowest available at run time and may vary by booking provider and availability. For the most accurate results, specify check-in and check-out dates. Without dates, Trivago returns forecasted or flexible pricing.

***

### 📊 Output

Each hotel record contains **9 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🖼️ `imageUrl` | string | `"https://imgcy.trivago.com/..."` |
| 🏨 `name` | string | `"The Plaza, A Fairmont Hotel"` |
| 🏙️ `city` | string | `"New York"` |
| ⭐ `rating` | number | `9.0` |
| 💬 `reviewCount` | integer | `13582` |
| 💰 `priceFrom` | number | `914` |
| 💱 `currency` | string | `"USD"` |
| 🌟 `stars` | integer | `5` |
| 🔗 `trivUrl` | string | `"https://www.trivago.com/en-US/odr/..."` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-22T11:25:45.846Z"` |

#### 📦 Sample records

<details>
<summary><strong>🏨 Luxury hotel: The Plaza, New York</strong></summary>

```json
{
    "imageUrl": "https://imgcy.trivago.com/c_lfill,d_dummy.jpeg,e_sharpen:60,f_auto,h_468,q_auto,w_702/partner-images/7b/0c/c2c3e547e9ace924fd8b81d486928e19c83be03128aae8a4b3ceddbc7fdf",
    "name": "The Plaza, A Fairmont Hotel",
    "city": "New York",
    "rating": 9.0,
    "reviewCount": 13582,
    "priceFrom": 914,
    "currency": "USD",
    "stars": 5,
    "trivUrl": "https://www.trivago.com/en-US/odr/the-plaza-a-fairmont-hotel-new-york",
    "scrapedAt": "2026-05-22T11:14:18.302Z"
}
```

</details>

<details>
<summary><strong>🏨 Budget hotel: ibis budget Paris Porte de Montmartre</strong></summary>

```json
{
    "imageUrl": "https://imgcy.trivago.com/c_lfill,d_dummy.jpeg,e_sharpen:60,f_auto,h_468,q_auto,w_702/hotelier-images/b6/05/234da46da0ef95a67652870fe8e9c83190281c3f74d88f67f94470fbb436",
    "name": "ibis budget Paris Porte de Montmartre",
    "city": "Paris",
    "rating": 6.1,
    "reviewCount": 28400,
    "priceFrom": 49,
    "currency": "USD",
    "stars": 2,
    "trivUrl": "https://www.trivago.com/en-US/odr/hotel-ibis-budget-paris-porte-de-montmartre",
    "scrapedAt": "2026-05-22T11:25:45.846Z"
}
```

</details>

<details>
<summary><strong>🏨 Mid-range hotel: Hotel Saint Christophe, Paris</strong></summary>

```json
{
    "imageUrl": "https://imgcy.trivago.com/c_lfill,d_dummy.jpeg,e_sharpen:60,f_auto,h_468,q_auto,w_702/partner-images/40/57/38c92da38105da56b90fa239f3a7eec71528a127b1bf5b7b9baad2574342",
    "name": "Hotel Saint Christophe",
    "city": "Paris",
    "rating": 8.7,
    "reviewCount": 4200,
    "priceFrom": 151,
    "currency": "USD",
    "stars": 3,
    "trivUrl": "https://www.trivago.com/en-US/odr/hotel-saint-christophe-paris",
    "scrapedAt": "2026-05-22T11:25:45.846Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🌍 | **Worldwide coverage.** Any city or destination Trivago supports - thousands of destinations globally. |
| 💰 | **Live pricing.** Real-time prices from Trivago's aggregated booking sources, updated every run. |
| 📅 | **Date-aware.** Specify check-in/check-out dates for accurate per-night pricing. |
| ⭐ | **Rich metadata.** Star classification, guest ratings, review counts, and hotel images in every record. |
| 🔗 | **Direct links.** Trivago listing URLs for every hotel for seamless deep-linking. |
| 🚫 | **No authentication.** Works entirely with public Trivago data. No login or API key needed. |
| ⚡ | **Fast.** 10 hotels in under 30 seconds, 35+ per page. |

> 📊 Trivago aggregates prices from 400+ booking sites, making it one of the richest single-source hotel price comparison datasets available for scraping.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Dates | Setup |
|---|---|---|---|---|---|
| **⭐ Trivago Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **Worldwide** | **Live per run** | Yes | ⚡ 2 min |
| Manual Trivago browsing | Free | Manual | Manual | Yes | 🐢 Hours per city |
| Hotel booking APIs (direct) | $99+/month | Partial | Live | Yes | ⏳ Days of integration |
| Static hotel datasets | Free | Outdated | Never | No | 🕒 Variable |

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Trivago Hotel Scraper page on the Apify Store.
3. 🎯 **Set input.** Enter a city name, optional check-in/check-out dates, and set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your hotel data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 💰 Price Intelligence & Monitoring

- Track hotel price changes across cities over time
- Monitor competitor rates in key markets
- Identify pricing gaps and revenue opportunities
- Rate parity audits across booking platforms

</td>
<td width="50%" valign="top">

#### 🗺️ Travel Tech & Products

- Hotel search features with live price data
- City travel guides with curated accommodation options
- Price comparison tools and widgets
- Hotel recommendation engines

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 📊 Market Research & Analytics

- Hospitality market sizing by city and region
- Star-rating distribution analysis
- Guest rating trends and benchmarks
- Seasonal pricing pattern research

</td>
<td width="50%" valign="top">

#### 🤖 Data Science & ML

- Training datasets for hotel price prediction models
- NLP corpora from hotel names and descriptions
- Anomaly detection in pricing patterns
- Geographic clustering of accommodation types

</td>
</tr>
</table>

***

### 🔌 Automating Trivago Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Daily or weekly refreshes keep downstream databases in sync automatically.

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Tourism economics and demand forecasting studies
- Urban hospitality density mapping
- Reproducible studies using real-time pricing data
- Travel behavior research datasets

</td>
<td width="50%">

#### 🎨 Personal and creative

- Personal travel planning and budget research
- Side projects and travel app portfolios
- City comparison tools for digital nomads
- Vacation planning dashboards

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Affordable accommodation research for events
- Regional tourism support and promotion
- Investigative journalism on travel pricing
- Community travel guides

</td>
<td width="50%">

#### 🧪 Experimentation

- Train hotel price prediction ML models
- Prototype travel product ideas with real data
- Test dashboard concepts with live hotel feeds
- Validate hypotheses about pricing behavior

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Trivago%20Hotel%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Trivago%20Hotel%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Trivago%20Hotel%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Trivago%20Hotel%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Enter a city name, optional dates, and click Start. The Actor resolves the location, queries Trivago's search API, and returns structured hotel records with pricing, ratings, and links.

#### 🌍 Which cities are supported?

Any city or destination that Trivago supports - thousands of cities worldwide. The Actor uses Trivago's own location resolver to find the correct destination.

#### 💰 Are prices real-time?

Yes. Every run fetches live data from Trivago, which aggregates prices from 400+ booking providers. Prices reflect availability at run time.

#### 📅 Should I specify check-in/check-out dates?

Yes, for the most accurate pricing. Without dates, Trivago returns forecasted or approximate prices. Specifying dates returns confirmed per-night rates.

#### 🔁 How often should I run this Actor?

For price monitoring, daily runs are ideal. For market research, weekly runs are usually sufficient. Use Apify Schedules to automate recurring runs.

#### 💳 Do I need a paid Apify plan?

No. The free plan provides 10 hotels per run. A paid plan lifts the limit up to 1,000,000 hotels per run and enables scheduling.

#### 🏨 How many hotels can I scrape per city?

Trivago typically returns 35+ hotels per page. The Actor paginates automatically to reach your `maxItems` limit or Trivago's total for that city.

#### ⚖️ Is this data legal to use?

Trivago's hotel listings are publicly accessible search results. For commercial use, review Trivago's terms of service and applicable laws in your jurisdiction.

#### 💼 Can I use this data commercially?

The Actor returns public search result data. You are responsible for ensuring your use case complies with Trivago's terms of service.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

#### 🔄 What if the scraper returns no results?

If a location returns no results, try a more specific or well-known city name (e.g. "New York" instead of "New York City"). The Actor uses Trivago's own location resolver, so major international destinations always work.

#### 🌐 What currency are prices shown in?

Prices are returned in USD by default. The currency field in each record confirms the currency code.

***

### 🔌 Integrate with any app

Trivago Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate hotel data workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe hotel data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes.

***

### 🔗 Recommended Actors

| Actor | Description |
|---|---|
| [**🏕️ Hipcamp Scraper**](https://apify.com/parseforge/hipcamp-scraper) | Campsite and outdoor accommodation listings |
| [**🏠 Vrbo Scraper**](https://apify.com/parseforge/vrbo-scraper) | Vacation rental listings and pricing |
| [**🌍 GetYourGuide Scraper**](https://apify.com/parseforge/getyourguide-scraper) | Tours, activities, and experiences worldwide |
| [**📍 Foursquare Scraper**](https://apify.com/parseforge/foursquare-scraper) | Venue data, ratings, and location information |
| [**🗺️ Rome2Rio Scraper**](https://apify.com/parseforge/rome2rio-scraper) | Multi-modal travel routes and transport options |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more travel and hospitality scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Trivago N.V. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. Only publicly available search result data is collected.

# Actor input Schema

## `location` (type: `string`):

City or destination to search for hotels (e.g. 'New York City', 'Paris', 'London')

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

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

Check-in date in YYYY-MM-DD format (e.g. 2025-12-20). Leave blank for flexible search.

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

Check-out date in YYYY-MM-DD format (e.g. 2025-12-23). Leave blank for flexible search.

## Actor input object example

```json
{
  "location": "New York City",
  "maxItems": 10
}
```

# 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 = {
    "location": "New York City",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/trivago-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 = {
    "location": "New York City",
    "maxItems": 10,
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trivago Scraper | Hotel Prices and Listings",
        "description": "Scrape hotel data from Trivago including hotel names, prices, ratings, locations, amenities, review scores and deals across booking sites. Build accommodation datasets for travel price comparison, trip planning and hospitality market research at scale across the full catalog",
        "version": "0.1",
        "x-build-id": "Y3fP2jbgR6iam7Ou0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~trivago-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-trivago-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/parseforge~trivago-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-trivago-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/parseforge~trivago-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-trivago-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",
                "required": [
                    "location"
                ],
                "properties": {
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or destination to search for hotels (e.g. 'New York City', 'Paris', 'London')"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "checkIn": {
                        "title": "Check-in Date",
                        "type": "string",
                        "description": "Check-in date in YYYY-MM-DD format (e.g. 2025-12-20). Leave blank for flexible search."
                    },
                    "checkOut": {
                        "title": "Check-out Date",
                        "type": "string",
                        "description": "Check-out date in YYYY-MM-DD format (e.g. 2025-12-23). Leave blank for flexible search."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
