# Agoda Hotel Reviews Scraper 🏨 Ratings, Text & Sentiment (`factden/agoda-hotel-reviews-scraper`) Actor

Scrape Agoda hotel reviews at scale - guest ratings, full original + translated text, positives/negatives, reviewer country & traveler type, stay dates, review photos & owner responses, plus LLM-ready markdown. Paste hotel URLs or IDs. Filter by date/rating/language; export JSON/CSV.

- **URL**: https://apify.com/factden/agoda-hotel-reviews-scraper.md
- **Developed by:** [Factden](https://apify.com/factden) (community)
- **Categories:** Travel, AI
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.002 / review

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

# README

## Agoda Hotel Reviews Scraper

**Scrape Agoda hotel reviews at scale** - guest **scores** (/10), full **original + translated review text**,
**what guests liked & disliked**, **reviewer country** and **traveler type**, **stay dates**, **review photos**,
and **hotel owner responses** - plus a per-review **LLM-ready markdown** block. Paste one or more
[Agoda](https://www.agoda.com) hotel URLs or bare hotel IDs and export clean **JSON, CSV, Excel, or via API**.
No login, no Agoda API key.

> **Reviews in every language, one actor.** Agoda aggregates guest reviews from **33 languages** and multiple
> booking sources. Default runs return **Agoda's own reviews**; opt in to other sources or pin specific
> languages when you need them - the **output schema stays identical**.

Runs on the Apify platform, so you get **scheduling**, a **REST API**, **webhooks & integrations**, **proxy
rotation**, and **run monitoring** out of the box - plus **incremental / since-date** runs so you only pull
what's new.

![Agoda hotel reviews - one row per review](https://raw.githubusercontent.com/factden/apify-actor-assets/main/agoda-hotel-reviews-scraper/02-reviews-overview.png)

### What makes this Agoda scraper different

- **One row per review, ready to analyze** - every review is a flat record with the hotel context
  (`hotelId` / `hotelName` / `hotelUrl`) merged on, so each row stands alone in a spreadsheet or a database.
- **Original + translated text** - you get what the guest actually wrote plus Agoda's translated title/body,
  with **positives and negatives kept separate**.
- **Per-language pull** - select one or more of Agoda's 33 review languages and the actor fetches a dedicated
  stream per language and **merges + de-duplicates** them for you.
- **AI-ready out of the box** - each review ships with a self-contained `markdownContent` block for RAG /
  vector-DB ingestion. No post-processing.
- **Fair pricing, no start fee** - pay only per review returned; a run that finds zero reviews costs **nothing**.

### What does Agoda Hotel Reviews Scraper do?

Give it Agoda hotel-page URLs or numeric hotel IDs and it returns **every public guest review** it can reach
for each property, newest-first, as clean structured rows. Each review carries the overall **/10 score**, the
word **rating label**, the written **review text** (original + translated), separate **liked / disliked**
notes, the **reviewer's country**, **traveler type**, **room type**, **stay dates**, **length of stay**,
**review photos**, and any **hotel owner response**. Alongside the reviews it returns a **hotel aggregate**:
property type, star rating, full address, coordinates, the Agoda score, the total review count, and per-source
scores.

### Does Agoda have a reviews API?

Agoda offers partner and affiliate APIs for **rates and availability**, but there is **no public API for
reading a property's guest reviews**. This actor fills that gap: point it at any Agoda hotel URL or ID and get
the reviews back as JSON/CSV, with no key and no partner account.

| | Agoda partner/affiliate API | **Agoda Hotel Reviews Scraper** |
|---|---|---|
| Read guest review text | Not available | **Yes - full original + translated** |
| Per-review score, liked/disliked, photos | Not available | **Yes** |
| Reviewer country & traveler type | Not available | **Yes** |
| Owner responses | Not available | **Yes** |
| Account / API key required | Yes (partner approval) | **No** |
| Output as JSON / CSV / Excel | - | **Yes, plus REST API & MCP** |

### Who is it for?

- **Revenue & reputation managers** monitoring their own and competitor properties.
- **Market & travel researchers** analyzing guest sentiment across a city, region, or brand.
- **Data & AI teams** building review-summarization, sentiment, or RAG chatbots.
- **Agencies & tooling vendors** powering guest-experience dashboards and owner-response tracking.

### Use cases

- **Reputation & sentiment analysis** - track scores and what guests praise or complain about over time.
- **Competitor benchmarking** - pull review volume, scores, and per-source ratings for any set of hotels.
- **Market research** - break reviews down by traveler type, reviewer country, and language.
- **AI / RAG pipelines** - ingest the `markdownContent` column straight into a vector DB.
- **Hospitality operations** - monitor owner responses and guest-experience trends per property.

### How to scrape Agoda reviews (to CSV)

1. Open a hotel's page on [Agoda](https://www.agoda.com) and copy the URL, e.g.
   `https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html`. Any regional Agoda domain and a locale
   prefix (e.g. `/en-gb/`) are fine, and a bare numeric hotel ID like `11019` also works.
2. Paste one hotel per line into **Hotel URLs or IDs**.
3. (Optional) Set **Max reviews per hotel**, a **date range**, a **score range**, a **sort order**, the
   **Review sources**, or one or more **Review languages**.
4. Click **Start**, then open the **Output** tab and **Export** as **CSV, JSON, HTML, or Excel** - or pull the
   data from the **API**.

![Input tab - hotel URLs plus filters & limits](https://raw.githubusercontent.com/factden/apify-actor-assets/main/agoda-hotel-reviews-scraper/01-input-form.png)

### Input

| Field | Description |
|---|---|
| **Hotel URLs or IDs** (`hotelUrls`) | Agoda hotel-page URLs (any regional domain / locale prefix) **or bare numeric hotel IDs** (`11019`). One per line. Required. |
| **Max reviews per hotel** (`maxReviews`) | Cap per hotel, fetched newest-first (default 200). |
| **Sort reviews by** (`sortBy`) | `newest` (default), `oldest`, `highestRating`, `lowestRating`. Reviews are fetched newest-first; highest/lowest reorder the retrieved set. |
| **From / To date** (`fromDate` / `toDate`) | Keep only reviews in a `YYYY-MM-DD` range - ideal for **incremental / since-date** monitoring. |
| **Min / Max rating** (`minRating` / `maxRating`) | Keep only reviews within a score window. **Agoda uses a 0-10 scale**, not 1-5. |
| **Review sources** (`reviewSources`) | Which booking sources' reviews to return. **Defaults to Agoda's own reviews**; add Booking.com / Priceline, or clear the field to include every source Agoda shows. |
| **Review languages** (`languages`) | Return only selected languages (from Agoda's 33). **Empty = all languages** in one combined stream; select several to fetch and merge a stream per language. |
| **Proxy** (`proxyConfiguration`) | Datacenter proxies are enough at typical volumes. |

#### Example input

```json
{
  "hotelUrls": [
    "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
    "https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html",
    "11019"
  ],
  "maxReviews": 50,
  "sortBy": "newest",
  "fromDate": "2026-01-01",
  "minRating": 1,
  "maxRating": 10,
  "reviewSources": ["agoda"],
  "languages": []
}
```

This mixes two hotel URLs and a bare hotel ID. When you pass a bare ID, the actor uses it directly; when you
pass a URL it resolves the current hotel automatically.

### Output

The actor writes to **two datasets**:

- **Reviews** (the default dataset) - **one row per guest review**, with the hotel context
  (`hotelId` / `hotelName` / `hotelUrl`) merged onto every row.
- **Hotels** - **one row per hotel** with the aggregate: property type, star rating, full address,
  coordinates, the Agoda score, total review count, and per-source scores.

The **Output** tab shows the Reviews dataset by default, plus an **AI ingest** view (the LLM-ready
`markdownContent` column) and the **Hotels** dataset. Download any of them as **JSON, HTML, CSV, or Excel**, or
fetch them from the API (the reviews dataset also exposes `?view=aiIngest`).

Here is a **real review row** from a run on the Park Avenue Bayswater Inn (London):

```json
{
  "hotelId": 11019,
  "hotelName": "Park Avenue Bayswater Inn Hyde Park",
  "hotelUrl": "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
  "reviewId": "1149287470",
  "source": "Agoda",
  "title": "Above average",
  "text": "All in all good hotel, can't complain but wasn't the best.",
  "positives": null,
  "negatives": null,
  "score": 6,
  "ratingText": "Good",
  "reviewDate": "2026-07-20",
  "reviewerName": "Tiffany",
  "reviewerCountry": "Australia",
  "travelerType": "Couple",
  "roomType": "Double Room",
  "checkInDate": "2026-07-03",
  "checkOutDate": "2026-07-07",
  "lengthOfStay": 4,
  "reviewPhotos": [],
  "ownerResponse": null,
  "markdownContent": "# Park Avenue Bayswater Inn Hyde Park review (Agoda)\n\n**Score:** 6/10 - Good\n..."
}
```

...and the matching **hotel row** from the Hotels dataset:

```json
{
  "hotelId": 11019,
  "hotelName": "Park Avenue Bayswater Inn Hyde Park",
  "hotelUrl": "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
  "propertyType": "Hotel",
  "stars": 4,
  "addressStreet": "8-16 Princess Square",
  "addressCity": "London",
  "addressRegion": "Hyde Park",
  "addressCountry": "United Kingdom",
  "addressZip": "W2 4NT",
  "latitude": 51.5128,
  "longitude": -0.1921,
  "score": 6.8,
  "reviewsCount": 2268,
  "providerScores": [
    { "providerId": 332, "source": "Agoda", "score": 6.8, "reviewCount": 2268, "maxScore": 10 },
    { "providerId": 3038, "source": "Booking.com", "score": 8.2, "reviewCount": 3237, "maxScore": 10 }
  ],
  "reviewsExtracted": 50,
  "extractedAt": "2026-08-05T15:33:42Z"
}
```

Scores are on Agoda's native **0-10 scale**.

**Hotels dataset** - one row per hotel with the full aggregate:

![Hotels - one row per hotel](https://raw.githubusercontent.com/factden/apify-actor-assets/main/agoda-hotel-reviews-scraper/04-hotel-overview.png)

**AI ingest view** - the self-contained, LLM-ready markdown for each review:

![AI ingest view - LLM-ready markdown](https://raw.githubusercontent.com/factden/apify-actor-assets/main/agoda-hotel-reviews-scraper/03-reviews-ai-ingest.png)

#### Data fields

**Reviews dataset** - one row per review. Every row also carries `hotelId`, `hotelName` and `hotelUrl`.

| Field | Description |
|---|---|
| `score`, `ratingText` | Overall score on Agoda's 0-10 scale + word label ("Exceptional", "Good"…). |
| `title`, `text` | Review headline and full body (original + translated, positives + negatives + comment combined). |
| `positives`, `negatives` | What the guest liked and disliked, kept separate. |
| `reviewDate` | Day the review was submitted (`YYYY-MM-DD`). |
| `reviewerName`, `reviewerCountry`, `travelerType` | Who wrote it and how they travelled (Couple, Family, Solo…). |
| `roomType`, `checkInDate`, `checkOutDate`, `lengthOfStay` | Stay context. |
| `reviewPhotos` | Guest photo URLs `{url, caption, id}`. |
| `ownerResponse` | Hotel/manager reply `{text, date}`, when present. |
| `source` | The booking site the review was posted on (Agoda, Booking.com, …). |
| `markdownContent` | Self-contained **LLM-ready** markdown block for RAG / vector-DB ingestion. |

**Hotels dataset** - one row per hotel.

| Field | Description |
|---|---|
| `hotelId`, `hotelName`, `hotelUrl` | Property id, name, and source URL. |
| `propertyType`, `stars` | Property type and star rating. |
| `addressStreet`, `addressCity`, `addressRegion`, `addressCountry`, `addressZip` | Full address. |
| `latitude`, `longitude` | Coordinates. |
| `score`, `reviewsCount` | Agoda's aggregate score (0-10) and total review count. |
| `providerScores` | Per-source score, review count and max score. |
| `reviewsExtracted`, `extractedAt` | How many reviews this run pulled, and when. |

### Run it via the API

Run the actor programmatically and get the reviews back in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/factden~agoda-hotel-reviews-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"hotelUrls":["https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html"],"maxReviews":50}'
```

The response is the default (reviews) dataset - one row per review. Append `?view=aiIngest` for the LLM-ready
markdown columns. The run's **Hotels** dataset (per-hotel aggregate) is available from the run's list of
datasets in the Console or via the API.

### Run on a schedule

Use Apify **Schedules** to run this actor hourly, daily, or weekly. Pair a tight **From date** with a low
**Max reviews per hotel** and you pull only what's new since the last run - the cheapest way to keep a
reviews dataset continuously fresh. Wire the results into **Google Sheets, Make, Zapier, n8n, a webhook**, or
your own app via the **Apify API**.

### AI agents & RAG

Every review includes a self-contained `markdownContent` block, so you can drop reviews straight into a vector
DB or hand them to an LLM with **no post-processing**:

```
## Park Avenue Bayswater Inn Hyde Park review (Agoda)

**Score:** 6/10 - Good
**Reviewed:** 2026-07-20
**Traveler:** Couple from Australia
**Stay:** Double Room · stayed 4 night(s)

### Above average

### Review
All in all good hotel, can't complain but wasn't the best.
```

AI agents can also call this actor through the **Apify MCP server**, so assistants like **Claude, ChatGPT and
LangChain** can pull Agoda reviews on demand.

### How much does it cost to scrape Agoda reviews?

This actor uses **pay-per-event** pricing with **no start fee** - you pay only for the reviews you actually
get, and **nothing** if a run returns zero reviews:

| Plan | Price per 1,000 reviews |
|---|---|
| Free | **$4.00** |
| Bronze | **$3.00** |
| Silver | **$2.50** |
| Gold+ | **$2.00** |

**Examples:** 500 reviews ≈ **$2.00** (Free) · 5,000 reviews ≈ **$20.00** (Free) / **$10.00** (Gold). Lower
**Max reviews per hotel** to cap spend, and your first runs are covered by **Apify's free tier**. There is
**no per-run start fee** - you are never charged just for launching a run.

### Tips & advanced options

- Reviews are fetched **newest-first**, so a tight **From date** plus a low **Max reviews per hotel** is the
  cheapest way to **monitor only what's new** (schedule it daily for incremental tracking).
- Feed many hotels in one run - the actor **de-duplicates** repeated URLs and IDs automatically.
- Use **Review languages** to pull only, say, Japanese or German reviews; the streams are merged and deduped.
- Use **Review sources** to widen beyond Agoda to Booking.com/Priceline, or clear it for every source.

### Related FactDen scrapers

Building a review-intelligence pipeline? Pair this with other FactDen actors on the Apify Store:

- **[Expedia Reviews Scraper](https://apify.com/factden/expedia-hotel-reviews-scraper)** - hotel reviews across
  all seven Expedia Group brands.
- **[Hotels.com Reviews Scraper](https://apify.com/factden/hotels-com-reviews-scraper)** - Hotels.com ratings,
  review text & sentiment.
- **[Trip.com & Ctrip Reviews Scraper](https://apify.com/factden/ctrip-trip-reviews-scraper)** - hotel reviews
  across Trip.com / Ctrip.
- **[Google Hotels Scraper](https://apify.com/factden/google-hotels-scraper)** - live hotel prices, the OTA
  rate ladder & guest reviews from Google Hotels.
- **[TripAdvisor Hotel Reviews API](https://apify.com/factden/tripadvisor-hotel-reviews-api)** - all TripAdvisor
  reviews for hotels, restaurants & attractions, plus subratings & the AI review summary.
- **[MakeMyTrip & Goibibo Reviews Scraper](https://apify.com/factden/makemytrip-scraper)** - MakeMyTrip + Goibibo
  hotel reviews & details (India's largest OTAs).
- **[Airbnb Data Scraper](https://apify.com/factden/airbnb-data-scraper)** - Airbnb listings, prices,
  availability, occupancy & reviews.

⭐ **Find this useful?** **Bookmark** the actor and leave a **review** on its Apify Store page - it helps other
travel and hospitality teams find it, and tells us which features to build next.

### FAQ, disclaimers & support

- **Does Agoda have a reviews API?** No public one for reading guest reviews - Agoda's partner/affiliate APIs
  cover rates and availability only. This actor returns the review data with no key and no partner account.
- **Do I need an Agoda account or API key?** No.
- **Is scraping Agoda reviews legal?** This actor collects only **publicly available** review content and does
  not touch private or account data. You are responsible for complying with Agoda's Terms of Service and
  applicable laws (including data-protection rules like **GDPR**) when using the data. See Apify's guide,
  [is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/), for background.
- **Can I use it via the Apify API or an MCP server?** Yes - run it through the Apify **REST API** (see the
  example above) or connect it to an AI agent via the **Apify MCP server**, so assistants like Claude or ChatGPT
  can fetch Agoda reviews on demand.
- **Can I get reviews in a specific language?** Yes - select one or more of Agoda's 33 review languages in
  **Review languages**; the actor fetches a stream per language and merges + de-duplicates them.
- **How many reviews can I get per hotel?** As many as the hotel has - set **Max reviews per hotel** to cap it;
  the hotel row's `reviewsCount` tells you how many exist in total.
- **A hotel returned fewer reviews than expected.** Your date/score/source/language filters, or **Max reviews
  per hotel**, may be limiting the result; `reviewsCount` shows how many exist in total.
- **A URL didn't resolve / "relisted or removed".** Agoda sometimes relists a hotel under a new URL. Open the
  hotel on agoda.com and paste its **current URL**, or use the **numeric hotel ID** directly.
- **Found a bug or need a field we don't return?** Open the **Issues** tab on this actor's Apify page. Custom
  solutions are available on request.

### Changelog

- **2026-08** - **Initial release.** Per-review rows + hotel aggregate across two datasets; **33-language**
  per-language pull; **Agoda / Booking.com / Priceline** source filter; per-review **LLM-ready markdown**;
  incremental **since-date** runs; JSON/CSV/Excel export and full REST API.

***

⭐ If this actor saved you time, a **review and a bookmark** on the Apify Store page mean a lot - they help
other travel and hospitality teams find it.

# Actor input Schema

## `hotelUrls` (type: `array`):

Paste one hotel per line — an Agoda hotel page URL (any regional Agoda domain; a locale prefix and query string are fine) or a bare numeric Agoda hotel ID. Examples: `https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html`, `https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html`, or just `11019`.

## `maxReviews` (type: `integer`):

How many reviews to pull per hotel (fetched newest-first). Lower this to control cost and run time.

## `sortBy` (type: `string`):

Output order of the returned reviews. Reviews are fetched newest-first from the source; `Highest rating` / `Lowest rating` reorder the retrieved set (not a global top-N across the whole hotel).

## `fromDate` (type: `string`):

Keep only reviews submitted on or after this day. Leave empty for no lower bound.

## `toDate` (type: `string`):

Keep only reviews submitted on or before this day. Leave empty for no upper bound.

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

Keep only reviews with a score at or above this value. Agoda scores are on a 0–10 scale.

## `maxRating` (type: `integer`):

Keep only reviews with a score at or below this value. Agoda scores are on a 0–10 scale.

## `reviewSources` (type: `array`):

Which review providers to return per hotel. Agoda aggregates reviews from several booking sites. **Defaults to Agoda's own reviews.** Add Booking.com / Priceline to widen the mix, or clear the field entirely to include every source Agoda shows.

## `languages` (type: `array`):

Return only reviews written in the selected language(s). **Leave empty for all languages** (a single combined stream). Select one or more to fetch and merge a dedicated stream per language.

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

Proxy settings. Datacenter proxies are sufficient for Agoda at typical volumes.

## Actor input object example

```json
{
  "hotelUrls": [
    "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
    "https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html"
  ],
  "maxReviews": 200,
  "sortBy": "newest",
  "minRating": 1,
  "maxRating": 10,
  "reviewSources": [
    "agoda"
  ],
  "languages": [],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `reviews` (type: `string`):

One row per guest review (hotel context merged onto each row) with score, title, full text, positives/negatives, reviewer country, traveler type, stay dates, photos, owner responses and an LLM-ready markdownContent block.

## `hotels` (type: `string`):

One row per hotel with property type, star rating, address, coordinates, aggregate Agoda score, total review count and how many reviews were extracted.

# 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 = {
    "hotelUrls": [
        "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
        "https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("factden/agoda-hotel-reviews-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 = { "hotelUrls": [
        "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
        "https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("factden/agoda-hotel-reviews-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 '{
  "hotelUrls": [
    "https://www.agoda.com/bayswater-inn-hotel/hotel/london-gb.html",
    "https://www.agoda.com/majerik-hotel/hotel/heviz-hu.html"
  ]
}' |
apify call factden/agoda-hotel-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZnyNzaPVHtdFlzlgm/builds/ftJ6iHsUCwVeRlVWj/openapi.json
