GuruWalk Reviews Scraper avatar

GuruWalk Reviews Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
GuruWalk Reviews Scraper

GuruWalk Reviews Scraper

Scrape GuruWalk reviews, ratings, guide responses, and traveler details from walking tour pages. Collect data from multiple tours, set review limits and a date cutoff, and export to CSV, JSON, or Excel for competitor research and reputation monitoring.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

knagymate

knagymate

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

GuruWalk Reviews Scraper | Walking Tour Ratings & Guide Feedback

Extract GuruWalk walking tour reviews, guide responses, traveler details, and aggregate ratings from public tour pages. This Apify Actor delivers structured data for tour operator benchmarking, guide performance analysis, reputation monitoring, and travel market research.

Collect feedback from multiple free walking tours without copying reviews page by page. Analyze individual comments alongside GuruWalk's Professionalism, Entertainment, Communication, Quality, and Route scores, then export the results to JSON, CSV, or Excel for reporting and customer insight workflows.

What data can you extract from GuruWalk?

  • Traveler reviews: review text, star rating, review ID, publication date, and language.
  • Guide feedback: guide or guru response and guide name when available.
  • Reviewer context: display name, username, avatar URL, location, country, and total reviews.
  • Booking details: traveler group type, adult attendees, child attendees, and combined traveler count.
  • Tour-level ratings: overall score, five category scores, and the review count shown on the tour page.
  • Source references: tour URL and tour ID for joining data and tracing findings back to the source.

The dataset contains both individual review records and tour summary records. This lets you compare high-level ratings while retaining the comments that explain traveler satisfaction.

Who is this scraper for?

Built for walking tour operators, local experience brands, travel marketplaces, destination marketing teams, and travel analytics providers that need repeatable access to customer feedback.

Business use caseHow the data helps
Guide performance benchmarkingCompare tour-level Professionalism, Communication, and Entertainment scores; use individual comments and guide names, when available, to investigate feedback.
Competitor researchCompare selected tours by aggregate ratings, review volume, traveler segments, and recurring praise or complaints.
Reputation monitoringCollect recent reviews on a schedule and identify emerging issues for your customer experience team.
Walking tour product improvementFind comments about pacing, route quality, storytelling, meeting points, and suitability for families.
Travel marketplace supplier evaluationAssess traveler feedback across potential tour partners before making a shortlist.
Customer insight and content planningTurn common traveler questions and booking concerns into clearer tour descriptions and useful FAQs.
AI-powered review analysisBuild sentiment classification, topic extraction, or review summaries grounded in source review IDs.

Aggregate scores describe the tour page, not a separate scorecard for every guide. For destination-level reporting, join tourId or tourUrl to your own city and tour reference data.

Features

  • Multiple GuruWalk tour URLs per run, with an independent review limit per URL.
  • Automatic review pagination, without manually navigating review pages.
  • Tour summaries included with every review, plus a separate summary record for each successfully parsed tour page.
  • Optional date cutoff for recurring review collection.
  • Configurable review volume, defaulting to 100 reviews per URL.
  • Structured Apify dataset output for spreadsheets, analytics, and data pipelines.
  • API access, schedules, and webhooks through the Apify platform.

Supported GuruWalk URLs

Provide public individual GuruWalk walking tour pages. These examples cover walking tours in Paris, London, Kyoto, and Mexico City:

DestinationExample tour URL
Paris, FranceThe Village of Montmartre Without the Crowds
London, United KingdomLondon Essentials: London in Under Two Hours
Kyoto, JapanKyoto Night Free Walking Tour: Gion & Geisha
Mexico City, MexicoHistoric Center of Mexico City: The Heart of the Capital

Add more tour URL objects to urls to collect reviews for multiple tours. City listings, search results, and guide profile pages are not supported inputs.

The Actor extracts the tour ID and aggregate ratings from the tour page, then paginates through GuruWalk's review API.

Use the English tour page for the most complete summary extraction. Category scores and review counts are parsed using English labels. Localized pages may yield missing summary values, and changing the URL language does not configure the review API language.

How to scrape GuruWalk reviews

  1. Open the Actor in Apify Console.
  2. Add one or more GuruWalk tour URLs.
  3. Set the maximum number of reviews per URL and optionally a cutoff date.
  4. Start the run and open its dataset.
  5. Export the records or retrieve them through the Apify API.

Start with one tour and a small review limit to assess the data before expanding your collection.

Input configuration

FieldTypeRequiredDescription
urlsArray of objectsYesGuruWalk tour URLs, each supplied as an object with a url property.
max_review_per_urlIntegerNoMaximum individual reviews to collect per URL. Default: 100. Minimum: 1. The separate summary record does not count toward this limit.
cutoff_dateDate stringNoReview publication cutoff in YYYY-MM-DD format. Stops collection for a tour at the first review with a parseable date before this date. Omit it or use an empty string for no cutoff.

Example input

Collect up to 25 reviews per tour across four destinations with this ready-to-use input:

{
"urls": [
{
"url": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds"
},
{
"url": "https://www.guruwalk.com/walks/41165-london-essentials-london-in-under-two-hours-free-walking-tour"
},
{
"url": "https://www.guruwalk.com/walks/54591-kyoto-night-free-walking-tour-gion-geisha"
},
{
"url": "https://www.guruwalk.com/walks/14861-historic-center-of-mexico-city-the-heart-of-the-capital"
}
],
"max_review_per_url": 25
}

Example input for recent review monitoring

{
"urls": [
{
"url": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds"
}
],
"max_review_per_url": 200,
"cutoff_date": "2026-01-01"
}

The cutoff includes reviews dated on the selected day. It applies to review publication dates, not tour attendance dates, and does not filter the tour summary.

The Actor uses the API's default review order and expects newest-first results for date-based stopping; it does not send an explicit sort parameter. If the source changes its ordering, date-based collection may be incomplete. Reviews with missing or unparseable dates can still appear. There is no sort_by input.

Output dataset

Record types

recordTypeContents
summaryOne tour-level snapshot emitted after the tour page is parsed, before review collection. Review-specific fields are null.
reviewOne individual review, including the same tourSummary snapshot for context.

Filter to recordType = "review" before counting reviews or calculating review-level averages. The four-tour example above can produce up to 104 dataset items: 25 reviews per tour plus four summary records.

Output fields

FieldDescription
recordTypesummary or review.
tourUrlInput GuruWalk tour URL.
tourIdTour ID extracted from the source page, returned as a string.
idReview identifier, returned as a string.
dateParsed review publication date, serialized as an ISO datetime.
travellerCountSum of available adult and child counts; null when that sum is zero. Missing counts are treated as zero when calculating this value.
ratingIndividual review rating on a 5-point scale.
authorNameReviewer display name.
authorUsernameGuruWalk reviewer username.
authorAvatarReviewer avatar URL, not a downloaded image.
authorPlaceReviewer location text.
authorCountryReviewer country.
authorTotalReviewsNumber of reviews written by the reviewer, as reported by GuruWalk.
commentsReview text returned by the API.
operatorCommentGuru or guide response, when present.
operatorNameGuide name, when supplied with the review.
languageReview language code returned by GuruWalk.
bookingTypeTraveler group type, such as alone, couple, family, or group.
adultAttendeesAdult attendee count, when available.
childAttendeesChild attendee count, when available.
tourSummaryTour-level summary object included on both record types.

Tour summary fields

Field within tourSummaryDescription
tourIdGuruWalk tour identifier.
startUrlInput tour URL used to obtain the summary.
numberOfReviewsReview count parsed from the tour page, not the number collected in this run.
ratings.overallOverall tour rating shown on the page.
ratings.professionalismAggregate Professionalism score.
ratings.entertainmentAggregate Entertainment score.
ratings.communicationAggregate Communication score.
ratings.qualityAggregate Quality score.
ratings.routeAggregate Route score.

Missing source values can be null or empty. Summary scores are page-level snapshots, not recalculated averages of the collected reviews and not restricted to the cutoff window.

Example summary output item

The examples below use illustrative values, not live ratings or real traveler feedback. Review-specific null fields are omitted from this summary example for readability.

{
"recordType": "summary",
"tourUrl": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds",
"tourId": "46480",
"tourSummary": {
"tourId": "46480",
"startUrl": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds",
"numberOfReviews": 200,
"ratings": {
"overall": 4.8,
"professionalism": 4.9,
"entertainment": 4.8,
"communication": 4.9,
"quality": 4.8,
"route": 4.7
}
}
}

Example review output item

{
"recordType": "review",
"tourUrl": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds",
"tourId": "46480",
"id": "1234567",
"date": "2026-02-15T00:00:00",
"travellerCount": 2,
"rating": 5.0,
"authorName": "Example Traveler",
"authorUsername": "example_traveler",
"authorAvatar": null,
"authorPlace": "London",
"authorCountry": "United Kingdom",
"authorTotalReviews": 3,
"comments": "Clear meeting instructions and engaging stories. The route helped us discover places we would have missed on our own.",
"operatorComment": "Thank you for joining the walk and sharing your experience.",
"operatorName": "Example Guide",
"language": "en",
"bookingType": "couple",
"adultAttendees": 2,
"childAttendees": 0,
"tourSummary": {
"tourId": "46480",
"startUrl": "https://www.guruwalk.com/walks/46480-the-village-of-montmartre-without-the-crowds",
"numberOfReviews": 200,
"ratings": {
"overall": 4.8,
"professionalism": 4.9,
"entertainment": 4.8,
"communication": 4.9,
"quality": 4.8,
"route": 4.7
}
}
}

Export and integrate GuruWalk review data

Download the run's dataset as JSON, CSV, or Excel using Apify's export options. JSON preserves the nested tourSummary object; for spreadsheets, flatten the summary fields you want to compare.

Start runs through the Apify API and retrieve the results using the run's defaultDatasetId:

GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json

When authentication is required, pass your Apify token in the Authorization: Bearer <APIFY_TOKEN> header. Keep tokens out of shared URLs and source code.

Use Apify schedules for recurring collection and webhooks to trigger downstream processing after a run finishes. The records can feed Python and pandas workflows, BI dashboards, data warehouses, or LLM applications for review classification and summarization.

Building a recurring review monitoring workflow

  1. Save your tour URLs, review limit, and optional cutoff in an Apify task.
  2. Schedule collection according to the volume of new reviews.
  3. Update cutoff_date for each collection window if needed. A saved date is fixed and does not advance automatically.
  4. Separate summary records from review records, then merge reviews using tourId and id when both are available.
  5. Save summary snapshots with your own collection timestamp to track rating changes over time.

The Actor does not maintain cross-run history or automatically remove reviews collected in previous runs. Use overlapping date windows and downstream deduplication for recurring collection, accounting for the source-order limitations above.

Frequently asked questions

Can I scrape reviews from multiple GuruWalk tours?

Yes. Add each tour URL as a separate object in urls. The review limit applies independently to every URL. The Paris, London, Kyoto, and Mexico City example uses a limit of 25 reviews per tour and can produce up to 100 review records plus four summary records, subject to source availability and the cutoff.

Can I export GuruWalk reviews to CSV or Excel?

Yes. Export the Apify dataset in your preferred format. Filter by recordType to separate review analysis from tour-level rating comparisons.

Does the scraper include all five GuruWalk rating categories?

It extracts Professionalism, Entertainment, Communication, Quality, and Route scores when they can be parsed from the tour page, plus the overall rating. These are aggregate scores, not category ratings for each individual review.

Can I filter reviews by date or language?

Use cutoff_date for date-based stopping. There is no language filter input: review API requests currently use language=en, and the Actor returns the text and language metadata supplied by GuruWalk. It does not perform its own translation or guarantee coverage of every review language.

Can I collect every review for a tour?

Set a sufficiently high max_review_per_url and omit the cutoff. Pagination continues until the limit is reached or the API reports no more pages. The page's total review count may differ from the accessible API results; complete historical or all-language coverage is not guaranteed.

Does this Actor scrape tour prices, bookings, or review photos?

No. It focuses on reviews and tour-level rating summaries. It does not extract pricing, private bookings, departure availability, or review photo galleries. authorAvatar is a reviewer profile image URL, not a tour photo.

How much does GuruWalk review scraping cost?

See the Actor's current pricing in Apify Store and your Apify plan for applicable charges. Runtime and resource use depend on the number of tours, available reviews, and requested limits. Start with a small run to assess the output and cost before scaling up. "Free walking tour" describes the tour category, not the Actor's pricing.

Limitations and responsible use

  • Source availability and changes to GuruWalk's pages or API can affect collection and field completeness.
  • Reviewer details, attendee counts, and guide responses are only available when supplied by the source.
  • The Actor provides extracted data, not precomputed sentiment, business recommendations, or guaranteed review coverage.
  • Reviews and profile data may be subject to privacy obligations and intellectual property rights. Collect only what you need and ensure appropriate rights before republishing content or using it for model training.
  • You are responsible for complying with GuruWalk's terms and applicable laws.

Use the example input for your first run, then configure the tour list and collection window for your guide benchmarking or review monitoring workflow.