Agoda Activities Search Scraper
Pricing
from $2.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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"}
| Field | Type | Description |
|---|---|---|
urls | array | One 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_url | integer | Maximum number of activity records to collect per URL. Default: 20. Set higher (e.g., 200) for broader collection. |
ignore_url_failures | boolean | If true, the scraper continues when a URL fails instead of stopping the run. Recommended for bulk runs. Default: true. |
page | integer | Starting page number within the search results. Useful for paginated collection across large city catalogs. |
sort_by | string | Sort 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=Nparameters, or use thepagefield 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
| Field | Meaning |
|---|---|
Activity ID | Unique internal Agoda identifier for the activity |
Activity Token | Encoded session/context token associated with the listing |
Supplier Activity Code | Reference code used by the third-party supplier or operator |
Listing Content
| Field | Meaning |
|---|---|
Activity | Core listing data: name, location, category, and basic attributes |
Images | Array of image URLs representing the activity |
Detail | Extended description including highlights, inclusions, and itinerary |
Content Locale | Language/locale of the content (e.g., vi-vn, en-us) |
Badges | Labels such as "Best Seller", "New", or "Instant Confirmation" |
Pricing & Commercial
| Field | Meaning |
|---|---|
Pricing Summary | Pricing tiers, base price, currency, and any discount information |
Cancellation Policy | Refund rules and deadlines (e.g., free cancellation up to 24h before) |
Reviews
| Field | Meaning |
|---|---|
Review Summary | Aggregated review score, total review count, and sentiment highlights |
How to Use
- Find a search URL — Go to
agoda.com/activities/search, filter by city or category, and copy the URL from your browser. - Paste into
urls— Add one or more search URLs to the array. - Set limits — Adjust
max_items_per_urlbased on how many listings you need. Start with20for testing. - Configure pagination — Use
?page=Nin URLs or thepagefield to target specific result pages. - 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_urland splitting across multiple URL entries. - Use
ignore_url_failures: truefor 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.