GetYourGuide Reviews Scraper
Pricing
from $0.49 / 1,000 results
GetYourGuide Reviews Scraper
Extracts the aggregate rating and latest guest reviews for any GetYourGuide tour/activity page by activity URL.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
Extracts the aggregate rating and latest guest reviews for any GetYourGuide tour/activity page — just give it the activity URL.
Why use this actor
- No account, no login, no API key — works on public activity pages only.
- Returns the activity's aggregate rating (score, best-possible score, total review count) plus the platform's most recent guest reviews, each with rating, full text, reviewer name, and publish date.
- Every activity you submit gets at least one output row — including a clear diagnostic reason on the rare rows that couldn't be fetched, so nothing silently disappears from your results.
- Automatically retries once on a fresh IP if a bot-mitigation challenge is hit — confirmed on real runs to recover most challenges without any action from you.
How it works
- You give the actor one or more GetYourGuide activity page URLs.
- For each activity, it reads the rating and reviews directly out of the page's own structured data (the same data GetYourGuide publishes for Google's rich snippets) — no separate API call, no pagination to manage.
- Results are streamed to your dataset as they finish.
- You export the finished dataset as JSON, CSV, or Excel straight from the Apify Console.
Input
{"activityUrls": ["https://www.getyourguide.com/geneva-l54/best-of-geneva-guided-city-tour-with-scenic-lake-cruise-t4873/"],"maxConcurrency": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
| Field | Type | Description |
|---|---|---|
activityUrls | array of strings | GetYourGuide activity/tour page URLs. |
maxConcurrency | integer | How many activities to process at the same time. Default 5. |
proxyConfiguration | object | Proxy settings. Residential is on by default — a datacenter IP gets bot-mitigation-challenged noticeably more often on this site. |
Output
Each activity produces one summary row plus one review row per guest review. Real examples from a live run:
Summary row (recordType: "SUMMARY"):
{"_input": "https://www.getyourguide.com/geneva-l54/best-of-geneva-guided-city-tour-with-scenic-lake-cruise-t4873/","_source": "S1-activity-page-jsonld","_scrapedAt": "2026-08-10T12:04:00Z","recordType": "SUMMARY","activityId": "4873","activityUrl": "https://www.getyourguide.com/geneva-l54/best-of-geneva-guided-city-tour-with-scenic-lake-cruise-t4873/","name": "Best of Geneva City Tour: UN Area, Old Town & Boat Cruise","description": "Explore the Old Town and the international district of Geneva on this guided tour...","aggregateRating": { "ratingValue": 4.29, "bestRating": 5, "reviewCount": 437 },"offers": { "priceCurrency": "USD", "...": "price fields" },"_reviewsInDataset": 10,"_reviewsTotalOnPlatform": 437,"_note": "GetYourGuide's activity page publishes only its 10 most recent reviews as structured data; 437 exist on the platform in total."}
Review row (recordType: "REVIEW"):
{"_input": "https://www.getyourguide.com/geneva-l54/best-of-geneva-guided-city-tour-with-scenic-lake-cruise-t4873/","_source": "S1-activity-page-jsonld","_scrapedAt": "2026-08-10T12:04:00Z","recordType": "REVIEW","activityId": "4873","activityName": "Best of Geneva City Tour: UN Area, Old Town & Boat Cruise","reviewRating": { "ratingValue": 5, "bestRating": 5 },"reviewBody": "Gabriel was so nice. His accent was so good, we understood everything! :) We loved the whole experience and we totally recommend it !","author": { "name": "Alexandra" },"datePublished": "2026-08-05T06:02:04+02:00"}
When an activity can't be found or the input isn't a GetYourGuide URL, the actor still emits one row for that input with a clear reason:
{"_input": "https://www.getyourguide.com/this-activity-does-not-exist-t999999999/","_source": "none","_scrapedAt": "2026-08-10T12:04:00Z","recordType": "ERROR","_error": "not_found","_errorDetail": "No Product structured data on ... -- likely a removed/invalid activity page."}
| Field | Type | Description |
|---|---|---|
_input | string | The activity URL you submitted. |
_source | string | Which internal strategy produced this row. "none" on a failed row. |
_scrapedAt | string | UTC timestamp of when this row was produced. |
recordType | string | "SUMMARY", "REVIEW", or "ERROR". |
activityId | string | GetYourGuide's numeric activity ID (present on successful rows). |
_reviewsInDataset / _reviewsTotalOnPlatform / _note | — | Present on a SUMMARY row only when the platform has more reviews than are published in this dataset — see Notes / limits below. |
_error | string | Present only on rows that couldn't be fetched, e.g. not_found, invalid_input, waf_challenge. |
_errorDetail | string | Human-readable detail for the error, present only alongside _error. |
| (all other fields) | — | On a successful row, every field GetYourGuide's own structured data provides is passed through unchanged. |
Notes / limits
- Reviews are a snapshot, not full history. GetYourGuide's activity pages publish only their most recent reviews as structured data (up to 10 per activity, confirmed across activities with 5 to 1,095 total reviews) — there is no pagination available for this data source.
aggregateRating.reviewCountalways reflects the true total; thereviewrows in this dataset are the latest slice of it, flagged explicitly on the SUMMARY row whenever the total exceeds what's included. - An activity with zero reviews still gets a SUMMARY row (not an error) — it just has no accompanying REVIEW rows.
Other actors in this collection
| Actor | What it returns |
|---|---|
| Agoda Reviews Scraper | Guest reviews for hotels listed on Agoda.com |
| Orbitz Hotel Reviews Scraper | Guest reviews for hotels listed on Orbitz.com |