Agoda Activities Search Scraper avatar

Agoda Activities Search Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Agoda Activities Search Scraper

Agoda Activities Search Scraper

Scrape Agoda's Activities search pages to collect structured data on tours, experiences, and attractions. Captures pricing, reviews, images, cancellation policies, and more — perfect for travel aggregators and market researchers.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Stealth mode

Stealth mode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Agoda Activities Scraper: Extract Tour & Experience Listings at Scale


What Is Agoda Activities?

Agoda.com is one of Asia's largest travel platforms, offering not only hotel bookings but also a growing catalog of tours, day trips, and local experiences. Its Activities section lists thousands of options across cities worldwide, with rich metadata including pricing, reviews, and cancellation terms. Manually collecting this data is impractical at scale — the Agoda Activities Search Scraper automates extraction from search result pages, delivering clean, structured records ready for analysis or integration.


Overview

This scraper targets Agoda's Activities search result pages, collecting up to hundreds of listings per URL across multiple pages. It is suited for:

  • Travel aggregators building curated activity feeds
  • Market researchers analyzing pricing and availability trends
  • Tour operators benchmarking competitors
  • Data engineers feeding travel datasets into recommendation systems

Input Format

{
"urls": [
"https://www.agoda.com/vi-vn/activities/search?cityId=15470&cid=1922896&tag=7adbeb35-4108-414c-9559-32893b4cdfe5&page=2"
],
"ignore_url_failures": true,
"max_items_per_url": 200,
"page": 3,
"sort_by": "Default"
}
FieldTypeDescription
urlsarrayOne or more Agoda Activities search page URLs. Must be search result pages (e.g., /activities/search?cityId=...), not individual activity detail pages. Add URLs one by one or via bulk edit.
max_items_per_urlintegerMaximum number of activity records to collect per URL. Default: 20. Set higher (e.g., 200) for broader collection.
ignore_url_failuresbooleanIf true, the scraper continues when a URL fails instead of stopping the run. Recommended for bulk runs. Default: true.
pageintegerStarting page number within the search results. Useful for paginated collection across large city catalogs.
sort_bystringSort order for results. Common value: "Default". May also support relevance or price-based sorting depending on Agoda's available options.

Tip: To collect activities across multiple pages, create separate URL entries with different ?page=N parameters, or use the page field to offset the starting point.


Output Format

Sample output

{
"activity": {
"title": "Seine River Cruise by Bateaux Parisiens – Eiffel Tower",
"categories": [
"Attractions"
],
"description": "Cruise along the Seine River on a one-hour voyage departing from the iconic Eiffel Tower. Glide through the heart of Paris to admire the city's most celebrated waterways and historic architecture.\n\n- Pass by the medieval Notre-Dame Cathedral and the ornate Hotel de Ville\n- Sail past the Musee d'Orsay, the former railway station housing Impressionist masterpieces\n- Explore the scenic riverbanks before returning to the Eiffel Tower",
"duration": {
"minutes": 60,
"minutes_until": null,
"duration_type": "FIXED"
},
"location": {
"city": {
"id": 15470,
"name": "Paris"
},
"address_line": "",
"geo": {
"lat": 0.0,
"long": 0.0
},
"country": {
"id": 153,
"name": "France"
},
"postal_code": ""
}
},
"images": [
{
"url": "https://pix6.agoda.net/generic/52d4e29038b54354c8fcf027fd784cd9.jpeg?ce=0",
"description": "",
"image_type": "SUPPLIER",
"image_size": {
"height": 1667,
"width": 2500
}
}
],
"review_summary": {
"average_score": 0.0,
"total_count": 0
},
"detail": null,
"content_locale": "en-us",
"badges": {
"booking_info": [
{
"badge_type": "BOOKING_COUNT_ALL_TIME",
"enrichment_data": [
"351"
]
}
],
"activity_highlights": [
{
"badge_type": "BEST_SELLER",
"enrichment_data": null
},
{
"badge_type": "TOP_IN_CATEGORY",
"enrichment_data": [
"Attractions"
]
}
],
"deals": [
{
"badge_type": "DISCOUNT",
"enrichment_data": [
"18"
]
}
],
"key_attributes": [
{
"badge_type": "INSTANT_CONFIRMATION",
"enrichment_data": null
}
],
"promocodes": []
},
"activity_id": 1262390,
"activity_token": "AAAB2-F7Im1haWQiOm51bGwsIgsAoDEyNjIzOTAsInMOAPAmNTAwMDQsInNhYyI6Ijc4MzNhYjkxLTBmMTctNGMxNy1hOGM3LTFkOTk2MTFjOTc0MyIsIm85AABBABBvNQDwHCIsImN1ciI6IlZORCIsInByaWNlIjp7ImR0IjoiQk9PSyIsInEiOjEsInQXACBleAYA_xBjdCI6MjUxNzE1LjAsImNvIjozMDYyMjMuMH0sImFsIwAOFWXTAAIJAOB9LCJsbyI6W10sInBtYwkAr30sInN0YXJ0cHKNAHMVdIYBNG9zdAsARXBheHIMABRtCgAVYhQAFG9rASJwclAAsG9naWQiOm51bGx9",
"pricing_summary": {
"pricing": [
{
"currency": "VND",
"display": {
"per_book": {
"display_type": "BOOK",
"quantity": 1,
"total": {
"exclusive": {
"charge_total": 251715.0,
"crossed_out": 306223.0
},
"all_inclusive": {
"charge_total": 251715.0,
"crossed_out": 306223.0
}
},
"loyalty_offers": [],
"promocode_items": [],
"badges": null
},
"per_pax": [
{
"display_type": "PERSON",
"pax_code": null,
"quantity": 1,
"total": {
"exclusive": {
"charge_total": 251715.0,
"crossed_out": 306223.0
},
"all_inclusive": {
"charge_total": 251715.0,
"crossed_out": 306223.0
}
},
"loyalty_offers": []
}
]
}
}
]
},
"supplier_activity_code": "7833ab91-0f17-4c17-a8c7-1d99611c9743",
"cancellation_policy": {
"cancellation_type": "NON_REFUNDABLE",
"policies": [
{
"hours_from": 8760,
"hours_until": 0,
"penalty_code": "100P"
},
{
"hours_from": 0,
"hours_until": -1,
"penalty_code": "100P"
}
]
},
"from_url": "https://www.agoda.com/activities/search?cityId=15470&cid=1922896&tag=7adbeb35-4108-414c-9559-32893b4cdfe5&page=2"
}

Each activity record contains the following fields:

Core Identification

FieldMeaning
Activity IDUnique internal Agoda identifier for the activity
Activity TokenEncoded session/context token associated with the listing
Supplier Activity CodeReference code used by the third-party supplier or operator

Listing Content

FieldMeaning
ActivityCore listing data: name, location, category, and basic attributes
ImagesArray of image URLs representing the activity
DetailExtended description including highlights, inclusions, and itinerary
Content LocaleLanguage/locale of the content (e.g., vi-vn, en-us)
BadgesLabels such as "Best Seller", "New", or "Instant Confirmation"

Pricing & Commercial

FieldMeaning
Pricing SummaryPricing tiers, base price, currency, and any discount information
Cancellation PolicyRefund rules and deadlines (e.g., free cancellation up to 24h before)

Reviews

FieldMeaning
Review SummaryAggregated review score, total review count, and sentiment highlights

How to Use

  1. Find a search URL — Go to agoda.com/activities/search, filter by city or category, and copy the URL from your browser.
  2. Paste into urls — Add one or more search URLs to the array.
  3. Set limits — Adjust max_items_per_url based on how many listings you need. Start with 20 for testing.
  4. Configure pagination — Use ?page=N in URLs or the page field to target specific result pages.
  5. Run and export — Download results as JSON or CSV for use in spreadsheets, databases, or pipelines.

Common issues:

  • Ensure URLs point to search result pages, not individual activity pages.
  • If results seem incomplete, try reducing max_items_per_url and splitting across multiple URL entries.
  • Use ignore_url_failures: true for multi-URL runs to prevent a single failure from stopping the job.

Use Cases & Business Value

  • Aggregator feeds: Sync Agoda activity inventory into a custom travel marketplace
  • Pricing intelligence: Monitor how tour prices fluctuate across cities and seasons
  • Content enrichment: Pull descriptions, images, and badges to enrich internal databases
  • Review analytics: Analyze guest sentiment across activity categories

Conclusion

The Agoda Activities Search Scraper turns paginated search results into structured, analysis-ready datasets. With flexible pagination, configurable limits, and rich output spanning pricing, reviews, and cancellation terms, it covers the full data needs of travel industry professionals. Configure your first URL and start collecting.