# Agoda Scraper — Hotels, Flights, Packages & More (`lentic_clockss/agoda-scraper`) Actor

Scrape Agoda hotels, flights, packages, transportation, activities, deals & eSIM across locales. Get hotelId, prices, ratings, areas & detail URLs. Export JSON/CSV. Pay per result — no Agoda login.

- **URL**: https://apify.com/lentic\_clockss/agoda-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Travel, Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Agoda Scraper — Hotels, Flights, Packages & More

### What does Agoda Scraper do?

[Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper) extracts structured listing data from [Agoda](https://www.agoda.com) by destination and city id. It covers **hotels** (primary, recon-validated DOM cards), plus **flights, packages, transportation, activities, deals, and eSIM** across Agoda locales and regional hosts.

Use it for travel research, rate monitoring, lead generation, and destination inventory — **no Agoda login**. Export results as **JSON or CSV**.

### What you can scrape

| Field | Description |
|---|---|
| `service` | hotels / flights / packages / transportation / activities / deals / esim |
| `name` | Listing or offer title |
| `hotelId` / `listingId` | Stable Agoda id when available |
| `area` | Neighborhood / area text (hotels) |
| `rating` / `reviewCount` | Guest rating and review volume |
| `price` / `priceDisplay` / `currency` | Price signals when shown |
| `url` | Detail page URL |
| `domain` / `locale` | Host and path locale used for the search |
| `destination` | Search geography |
| `sponsored` | Sponsored placement flag |
| `scrapedAt` | Collection timestamp |

#### Hotels (primary)
City SERPs via Agoda `cityId` (`regionId`) with check-in / length-of-stay. Cards use `data-selenium=hotel-item` / `data-hotelid` (recon-validated).

#### Other verticals
Flights, packages, transportation, activities, deals, and eSIM are exposed as first-class `service` values. Depth varies by page type — start with small `maxResults` when validating a non-hotel market.

### Multi-domain & locales

Supported hosts include: `www.agoda.com`, `.co.uk`, `.com.au`, `.com.sg`, `.co.th`, `.com.my`, `.co.id`, `.com.vn`, `.co.jp`, `.com.tw`, `.com.hk`, `.co.kr`, `.com.cn`, `.com.br`, `.com.ar`, `.com.mx`, `.in`, `.ae`.

Locales include `en-us`, `en-sg`, `en-gb`, `th-th`, `zh-cn`, `ja-jp`, and more. Residential proxy country defaults from locale (unknown locales → **US**; prefer explicit `proxyCountry=SG` for SEA if needed).

### Why scrape Agoda?

- **Travel research** — collect hotel inventory with prices and ratings for a city
- **Competitive monitoring** — track price displays and sponsored placement
- **Lead generation** — structured detail URLs for enrichment
- **Multi-market coverage** — locales and regional hosts in one Actor

### More Actors like this

Looking for another **travel / stays** scraper, or a specialized Actor outside Agoda? Use a dedicated Actor when one exists — structured fields, better coverage, usually lower cost.

#### Similar travel & stays Actors
- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**
- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)

**Real Estate**
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Social & Content**
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**
- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**
- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic_clockss](https://apify.com/lentic_clockss).

---

### How to scrape Agoda (step-by-step)

1. Open [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper) and click **Try for free**.
2. Choose a `service` (start with `hotels`).
3. Set `destination` and preferably `regionId` (Agoda cityId, e.g. Bangkok `9395`, Singapore `4064`).
4. Optionally set `checkin` / `checkout`, `locale`, `currency`, and `maxResults`.
5. Click **Start** and download the dataset as JSON or CSV.

You can also run via the Apify API, Scheduler, or integrations (Make, Zapier, n8n, webhooks).

### How much does it cost?

This Actor uses **Pay per event** pricing. You are **not** charged separately for Apify platform usage on this Actor.

| Event | Price |
|---|---|
| Actor Start (`apify-actor-start`) | **$0.005** per start (memory-scaled) |
| result (`apify-default-dataset-item`) | **$3.00 / 1,000** results ($0.003 each) |

**Examples**

- 100 results ≈ $0.005 + $0.30 = **~$0.31**
- 1,000 results ≈ $0.005 + $3.00 = **~$3.01**

Free Apify-plan users are capped at **10 runs** and **200 results** for this Actor.

### Input

| Parameter | Default | Description |
|---|---|---|
| `service` | `hotels` | Vertical to scrape |
| `domain` | `www.agoda.com` | Regional host |
| `destination` | `Bangkok` | City / region |
| `regionId` | `9395` | Agoda cityId |
| `checkin` / `checkout` | — | Stay dates (hotels/packages) |
| `maxResults` | `50` | Cap (free plan ≤ 200) |
| `currency` / `locale` | `USD` / `en-us` | Market prefs |
| `proxyCountry` | from locale | Apify RESIDENTIAL country |

#### Hotels in Singapore

```json
{
  "service": "hotels",
  "domain": "www.agoda.com",
  "destination": "Singapore",
  "regionId": "4064",
  "checkin": "2026-08-20",
  "checkout": "2026-08-22",
  "adults": 2,
  "rooms": 1,
  "maxResults": 5,
  "currency": "SGD",
  "locale": "en-sg"
}
````

#### Hotels in Tokyo

```json
{
  "service": "hotels",
  "domain": "www.agoda.com",
  "destination": "Tokyo",
  "regionId": "5085",
  "checkin": "2026-09-10",
  "checkout": "2026-09-12",
  "maxResults": 5,
  "currency": "JPY",
  "locale": "ja-jp"
}
```

#### Activities (experimental depth)

```json
{
  "service": "activities",
  "domain": "www.agoda.com",
  "destination": "Bangkok",
  "regionId": "9395",
  "maxResults": 5,
  "locale": "en-us"
}
```

### Output / sample dataset

```json
{
  "source": "agoda.com",
  "service": "hotels",
  "listingId": "123456",
  "hotelId": "123456",
  "name": "Example Hotel Bangkok",
  "area": "Sukhumvit",
  "domain": "www.agoda.com",
  "destination": "Bangkok",
  "url": "https://www.agoda.com/example-hotel/hotel/bangkok-th.html",
  "rating": 8.4,
  "reviewCount": 12840,
  "price": 89.0,
  "priceDisplay": "USD 89",
  "currency": "USD",
  "sponsored": false,
  "scrapedAt": "2026-07-27T03:00:00+00:00"
}
```

### Tips

- Prefer a real Agoda **cityId** (`regionId`) for reliable hotel SERPs.
- Start with small `maxResults` (3–10) while validating a market.
- Acquisition uses **Camoufox** + Apify residential proxy via an authenticated Cloud Run worker.
- Standby Live View exposes `/health`, `/input-example`, and `/openapi.json`; scraping still runs via normal Actor runs.
- For SEA markets, `proxyCountry=SG` is often more reliable than TH.

### FAQ

#### Is it legal to scrape Agoda?

This Actor is **unofficial** and not affiliated with Agoda. Scraping public search results may be subject to Agoda terms, applicable laws, and your compliance policies. You are responsible for how you use the data.

#### Do I need an Agoda login or partner API?

No. Provide destination / cityId and receive structured dataset rows you can schedule and pipe into workflows.

#### Hotels vs other verticals?

Hotels are the strongest path (DOM hotel cards). Other LOBs are supported as input services; treat them as secondary until you validate depth for your market.

### Support

Questions or feature requests? Open an issue on the Actor page or contact the developer on Apify.

Related travel scrapers: [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper), [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper), [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper) on the [lentic\_clockss](https://apify.com/lentic_clockss) profile.

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `service` (type: `string`):

Agoda vertical to scrape.

## `domain` (type: `string`):

Agoda host (e.g. www.agoda.com, www.agoda.co.th, www.agoda.com.sg).

## `destination` (type: `string`):

City name for hotels/packages/activities, or arrival for flights.

## `regionId` (type: `string`):

Agoda cityId (e.g. Bangkok=9395). Preferred for reliable hotel SERP.

## `origin` (type: `string`):

Required for flights.

## `checkin` (type: `string`):

YYYY-MM-DD for hotels/packages.

## `checkout` (type: `string`):

YYYY-MM-DD for hotels/packages (los derived).

## `departureDate` (type: `string`):

YYYY-MM-DD departure date for flights.

## `returnDate` (type: `string`):

YYYY-MM-DD return date when tripType=roundtrip.

## `tripType` (type: `string`):

oneway or roundtrip for flights.

## `adults` (type: `integer`):

Number of adult guests.

## `children` (type: `integer`):

Number of children.

## `rooms` (type: `integer`):

Number of hotel rooms.

## `maxResults` (type: `integer`):

Maximum listings to return (free-tier may lower).

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

ISO currency code (USD, THB, SGD, ...).

## `locale` (type: `string`):

Agoda path locale (en-us, zh-cn, th-th, ...).

## `includeSponsored` (type: `boolean`):

Include sponsored hotel cards.

## `proxyCountry` (type: `string`):

ISO country for Apify RESIDENTIAL proxy (e.g. SG, US). Defaults from locale; unknown locales use US.

## `workerBaseUrl` (type: `string`):

Optional Cloud Run worker URL override (HTTPS only; host must be allowlisted).

## Actor input object example

```json
{
  "service": "hotels",
  "domain": "www.agoda.com",
  "destination": "Bangkok",
  "regionId": "9395",
  "origin": "",
  "checkin": "2026-08-15",
  "checkout": "2026-08-17",
  "departureDate": "",
  "returnDate": "",
  "tripType": "oneway",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "maxResults": 50,
  "currency": "USD",
  "locale": "en-us",
  "includeSponsored": false,
  "proxyCountry": "",
  "workerBaseUrl": ""
}
```

# Actor output Schema

## `listings` (type: `string`):

Default dataset containing scraped Agoda listings across supported verticals.

## `runSummary` (type: `string`):

Key-value store record with run counters, selected input, worker endpoint, and completion timestamp.

## `inputEcho` (type: `string`):

Key-value store record containing the sanitized input used by this run.

## `errorSummary` (type: `string`):

Key-value store record containing controlled error details when the Actor cannot complete the requested scrape.

# 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 = {
    "service": "hotels",
    "domain": "www.agoda.com",
    "destination": "Bangkok",
    "regionId": "9395",
    "currency": "USD",
    "locale": "en-us"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/agoda-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 = {
    "service": "hotels",
    "domain": "www.agoda.com",
    "destination": "Bangkok",
    "regionId": "9395",
    "currency": "USD",
    "locale": "en-us",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/agoda-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 '{
  "service": "hotels",
  "domain": "www.agoda.com",
  "destination": "Bangkok",
  "regionId": "9395",
  "currency": "USD",
  "locale": "en-us"
}' |
apify call lentic_clockss/agoda-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Agoda Scraper — Hotels, Flights, Packages & More",
        "description": "Scrape Agoda hotels, flights, packages, transportation, activities, deals & eSIM across locales. Get hotelId, prices, ratings, areas & detail URLs. Export JSON/CSV. Pay per result — no Agoda login.",
        "version": "0.2",
        "x-build-id": "Xhyyj5nFy7mfYeIRa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~agoda-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-agoda-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/lentic_clockss~agoda-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-agoda-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/lentic_clockss~agoda-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-agoda-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": {
                    "service": {
                        "title": "Service",
                        "enum": [
                            "hotels",
                            "flights",
                            "packages",
                            "transportation",
                            "activities",
                            "deals",
                            "esim"
                        ],
                        "type": "string",
                        "description": "Agoda vertical to scrape.",
                        "default": "hotels"
                    },
                    "domain": {
                        "title": "Agoda Domain",
                        "type": "string",
                        "description": "Agoda host (e.g. www.agoda.com, www.agoda.co.th, www.agoda.com.sg).",
                        "default": "www.agoda.com"
                    },
                    "destination": {
                        "title": "Destination",
                        "type": "string",
                        "description": "City name for hotels/packages/activities, or arrival for flights.",
                        "default": "Bangkok"
                    },
                    "regionId": {
                        "title": "City ID",
                        "type": "string",
                        "description": "Agoda cityId (e.g. Bangkok=9395). Preferred for reliable hotel SERP.",
                        "default": "9395"
                    },
                    "origin": {
                        "title": "Origin",
                        "type": "string",
                        "description": "Required for flights.",
                        "default": ""
                    },
                    "checkin": {
                        "title": "Check-in Date",
                        "type": "string",
                        "description": "YYYY-MM-DD for hotels/packages.",
                        "default": ""
                    },
                    "checkout": {
                        "title": "Check-out Date",
                        "type": "string",
                        "description": "YYYY-MM-DD for hotels/packages (los derived).",
                        "default": ""
                    },
                    "departureDate": {
                        "title": "Flight Departure Date",
                        "type": "string",
                        "description": "YYYY-MM-DD departure date for flights.",
                        "default": ""
                    },
                    "returnDate": {
                        "title": "Flight Return Date",
                        "type": "string",
                        "description": "YYYY-MM-DD return date when tripType=roundtrip.",
                        "default": ""
                    },
                    "tripType": {
                        "title": "Flight Trip Type",
                        "enum": [
                            "oneway",
                            "roundtrip"
                        ],
                        "type": "string",
                        "description": "oneway or roundtrip for flights.",
                        "default": "oneway"
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of adult guests.",
                        "default": 2
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of children.",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Rooms",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of hotel rooms.",
                        "default": 1
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum listings to return (free-tier may lower).",
                        "default": 50
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "ISO currency code (USD, THB, SGD, ...).",
                        "default": "USD"
                    },
                    "locale": {
                        "title": "Locale",
                        "type": "string",
                        "description": "Agoda path locale (en-us, zh-cn, th-th, ...).",
                        "default": "en-us"
                    },
                    "includeSponsored": {
                        "title": "Include Sponsored",
                        "type": "boolean",
                        "description": "Include sponsored hotel cards.",
                        "default": false
                    },
                    "proxyCountry": {
                        "title": "Proxy Country",
                        "type": "string",
                        "description": "ISO country for Apify RESIDENTIAL proxy (e.g. SG, US). Defaults from locale; unknown locales use US.",
                        "default": ""
                    },
                    "workerBaseUrl": {
                        "title": "Worker Base URL Override",
                        "type": "string",
                        "description": "Optional Cloud Run worker URL override (HTTPS only; host must be allowlisted).",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
