GetYourGuide Tours Scraper & Price Monitor - Ratings & Bookings
Pricing
from $3.20 / 1,000 tour returneds
GetYourGuide Tours Scraper & Price Monitor - Ratings & Bookings
For tour operators and travel agencies watching competitors: price, discount, rating, review count, duration, free cancellation and bookings yesterday for every tour on a GetYourGuide city page (Paris had 2,708 on 2026-10-10). Monitoring returns only new tours, price and rating moves. CSV or Excel.
Pricing
from $3.20 / 1,000 tour returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
GetYourGuide Tours Scraper & Price Monitor
Track competitor tour prices on GetYourGuide: give this Actor a city or area page (for example https://www.getyourguide.com/paris-l16/) and it returns every tour listed there with its price, discount, rating, review count, duration, free cancellation and bookings yesterday. Turn on monitoring and scheduled runs return only what changed: new tours, price moves, rating changes and tours that gained many reviews.
Built for tour operators, activity providers, travel agencies and destination marketers who want to see how the tours around theirs are priced and rated, without copying numbers by hand.
No GetYourGuide account or API key needed. Prices in the currency you choose (USD, EUR, JPY and more). Export as JSON, CSV or Excel, or push changes to Slack, email or a sheet with an Apify integration.
What you get
- One row per tour for each location, in GetYourGuide's order: title, short summary, starting price (
price) and the struck-through price before a discount (priceBeforeDiscount,discountPercent), whether the price is per person or per group (priceIsPer,priceUnitText), rating (rating, andratingShownexactly as the card shows it), review count, duration or validity, free cancellation, skip the line, "likely to sell out", new activity, bookings yesterday (bookedYesterday), booking cut-off, features (private option, pickup, small group, audio guide...), highlights, badges, category, image and the tour link. - Any currency GetYourGuide offers. Choose
currency(37 options, USD when empty). Every row carries the currency GetYourGuide actually used. - Four orders: popularity (what a visitor sees first), price low to high, price high to low, rating high to low.
positionfollows the order. - Monitoring mode (
monitoringMode): only tours that are new to the watch, whose price moved byminPriceChangePercentor more, whose shown rating moved (for example 4.6 to 4.7), or that gainedminNewReviewsreviews since the row last returned for them. Each changed row carries the previous values. - No failed runs for "nothing found". An unknown location, a refused request or a spending limit each come back as a free row that says why.
For new tours without reviews, rating is null, reviewCount is 0, and GetYourGuide's rating for the tour's provider is in providerRating / providerReviewCount.
Input
| Field | What it does |
|---|---|
locations | GetYourGuide city, region or country pages, one per entry: https://www.getyourguide.com/paris-l16/, rome-l33 or just the number 33. Pages in other languages (/de-de/paris-l16/) work too. Single tour pages are refused. Required. |
sortBy | popularity (empty = this), price-low-to-high, price-high-to-low or rating-high-to-low. |
currency | USD, EUR, GBP, JPY and the other currencies in GetYourGuide's menu. Empty = USD. |
maxTours | Tours to read per location, 1-1000, 24 per page. Empty = 100. In monitoring mode this is the range being watched. |
monitoringMode | Return only tours that are new to this watch or whose price, shown rating or review count moved. The first run returns every tour as new. |
minPriceChangePercent | Monitoring only. Smallest price move that counts, in percent of the price last returned. Empty = 2. |
minNewReviews | Monitoring only. Return a tour again when it gained at least this many reviews. 0 = do not watch review counts. Empty = 20. |
resetMonitoringState | Forget what this watch remembered; this run returns every tour as new. |
Output
{"status": "ok","locationQuery": "https://www.getyourguide.com/paris-l16/","locationId": 16,"position": 1,"page": 1,"tourId": "1282311","title": "Paris: Evening Lights Cruise with Legendary Bateaux-Mouches®","summary": "Experience the magic of Paris after dark on an evening cruise with Bateaux-Mouches. Glide along the Seine and admire the city's most famous landmarks beautifully illuminated.","price": 19.06,"priceBeforeDiscount": 23.54,"discountPercent": 19.04,"discountText": "Save up to 19%","currency": "USD","priceIsPer": "person","priceUnitText": "per person","rating": 4.34,"ratingShown": 4.3,"reviewCount": 5931,"duration": "70 minutes - 1.5 hours","validity": null,"freeCancellation": false,"skipTheLine": false,"likelyToSellOut": false,"newActivity": false,"bookedYesterday": 306,"bookingCutoff": null,"features": [],"highlights": [],"badges": ["Best match"],"category": "entryTicket","activityType": "waterActivity","providerRating": null,"providerReviewCount": null,"imageUrl": "https://cdn.getyourguide.com/img/tour/115954509470854c4b5876061d932af25b3db3397d3dcd3b63c6a94855f52a90.jpeg/132.jpg","tourUrl": "https://www.getyourguide.com/paris-l16/paris-bateaux-mouches-evening-cruise-souvenir-postcard-t1282311/","totalToursInLocation": 2708,"sortBy": "popularity","currencyRequested": "USD","scrapedAt": "2026-10-10T09:00:00.529Z"}
A value GetYourGuide does not show for a tour is null (for example priceBeforeDiscount when there is no struck-through price, or bookedYesterday when the card does not say). freeCancellation is true when the card shows "Free cancellation" and false when it does not; in our checks, tours without that label were non-refundable on their own page. The provider's company name is only on each tour's own page, so it is not in the rows.
In monitoring mode each row also has change (new, price-down, price-up, price-shown, rating-up, rating-down or reviews-added), previousPrice, previousCurrency, previousRatingShown, previousReviewCount and previousReturnedAt.
Free rows (never charged)
status | When |
|---|---|
location-not-found | GetYourGuide answered that the location does not exist. |
no-results | The location has no tours. |
currency-not-as-requested | GetYourGuide returned another currency than the one asked for (the rows say which). |
blocked | GetYourGuide kept refusing the list. The Actor does not answer check pages; it says which locations were not searched. |
unreadable | A page could not be read, or the answer was for another location. Nothing is guessed. |
bad-input | The input could not be used (for example a single tour page or a city name without its page). Nothing was requested. |
robots-disallowed | GetYourGuide's robots.txt disallows the address the Actor reads. Nothing was requested. |
no-change | Monitoring: nothing new and nothing moved since the last returned rows. |
budget-reached | The run reached the maximum total charge you set; the rest was not returned and not charged. |
Monitoring competitors on a schedule
- Run once with
monitoringModeon: every tour comes back asnewand becomes the starting point. - Schedule the same input (for example daily). Each run returns only tours that changed since the row last returned for them.
- A run with no change returns one free
no-changerow; only a small watch check fee is charged for that run.
The memory is kept per location, sort order and currency (changing maxTours keeps the same watch). Tours not returned because of a spending limit are not remembered, so the next run returns them. popularity is GetYourGuide's own ranking and can change from day to day; tours that move into your top maxTours come back as new (in a 2026-10-10 check, two Paris runs a few minutes apart returned 48 new, then no change).
How it works
Unofficial and not affiliated with GetYourGuide. The Actor reads the same tour list that GetYourGuide's location page loads when a visitor presses "Show more", 24 tours per request, and checks that each answer is for the location you asked for. It reads GetYourGuide's robots.txt at the start of every run and does not request addresses it disallows (it does not use GetYourGuide's search or date filters). It never logs in and never answers a check page; if GetYourGuide keeps refusing, the run stops with a free blocked row instead of guessing.
Pricing
You pay per tour row returned. Free rows are never charged. In monitoring mode, a run that finds no change is charged one watch check instead of rows.
FAQ
How do I find the page for my city? Open GetYourGuide, go to the city or region (for example "Things to do in Rome") and copy the address: it ends in -l and a number, like https://www.getyourguide.com/rome-l33/.
Is the price per person? Usually. priceIsPer says person or group, and priceUnitText repeats the card's own words (for example "per group up to 6"). The price is the "From" price on the card, before dates are chosen.
Can I watch a competitor's price every day? Yes. Turn on monitoringMode and schedule the run; you get a row only when that tour's price, shown rating or review count changes, with the old value next to the new one.
Does it collect reviews or reviewer names? No. It returns the rating and the number of reviews only.
Can I get prices for a specific date? Not yet: the list shows the "From" price. Tell us in the Issues tab if you need dated prices.
Thanks for using this Actor
We build these tools for people who run them every day, and we improve them from what users tell us.
- Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
- Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.
If this Actor saved you time, a short review helps other people find it.