getyourguide.com APIgetyourguide.com ↗
Search tours, retrieve activity details, reviews, pricing, booking options, and autocomplete suggestions from GetYourGuide via 6 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/a8f4f412-e580-4cdb-bf86-dbde40b6d478/search_activities?page=1&query=paris' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for activities and tours by keyword. Automatically resolves the query to a location using autocomplete if no location_id is provided. Returns paginated results sorted by popularity.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g., 'paris', 'snorkeling', 'rome') |
| location_id | integer | Location ID to scope search to a specific location. If omitted, the query is resolved to a location via autocomplete. |
{
"type": "object",
"fields": {
"page": "integer indicating the current page number",
"activities": "array of activity objects with activity_id, title, url, price, rating, review_count, duration, abstract, category, availability_message, and photos"
},
"sample": {
"data": {
"page": 1,
"activities": [
{
"url": "https://www.getyourguide.com/cairns-l298/from-cairns-great-barrier-reef-half-day-snorkeling-tour-t788227/",
"price": {
"currency": "USD",
"base_price": 129.54,
"starting_price": 103.63,
"formatted_starting_price": "$104"
},
"title": "Cairns: Great Barrier Reef Half-Day Snorkelling Tour",
"photos": [
{
"urls": [
{
"url": "https://cdn.getyourguide.com/img/tour/1b95d38c62d0f682.jpg/53.jpg",
"size": "thumb"
}
]
}
],
"rating": 4.71461,
"abstract": "Embark on a thrilling ride to the World Heritage Listed Great Barrier Reef.",
"category": "cruise",
"duration": "4 hours",
"activity_id": 788227,
"review_count": 1514,
"availability_message": "Available this Saturday"
}
]
},
"status": "success"
}
}About the getyourguide.com API
The GetYourGuide API exposes 6 endpoints for searching and retrieving tours, activities, and experiences listed on getyourguide.com. You can search by keyword with search_activities, pull structured product data including aggregate ratings and offer pricing via get_activity_details, and fetch paginated reviews or date-specific booking availability — all returning typed JSON with fields like activity_id, rating, review_count, duration, and price.
Search and Browse Activities
The search_activities endpoint accepts a query string (e.g. 'snorkeling', 'paris') and an optional location_id to scope results to a specific city. Without a location_id, the query is automatically resolved to a location. Results are paginated via the page parameter and return arrays of activity objects carrying activity_id, title, url, price, rating, review_count, duration, abstract, category, and availability_message. The list_activities_by_location endpoint mirrors this but takes a location_id directly — Paris is 16, Rome 33, London 57.
Activity Details, Reviews, and Booking Options
get_activity_details accepts a full activity URL and returns a structured product_info object containing name, description, image URLs, aggregateRating, offers, and embedded reviews, plus a breadcrumbs object with BreadcrumbList data. get_activity_reviews returns up to 10 reviews per page for a given activity_id, each with id, rating, author_title, author_subtitle, text, and optional media attachments. Both endpoints use the same activity_id that appears in search results.
Booking Options and Availability
get_activity_options takes an activity_id and an optional date (in YYYY-MM-DD format) and returns an array of block objects representing the booking interface: exposedOptionsFilters (date picker, participant categories, language selector) and option cards with current pricing. This lets you check what variants and languages are available on a given date without navigating the site.
Location Autocomplete
autocomplete_search accepts a query string and returns a suggestions array where each item includes locationId, type, locationType, a picture URL, and an onClickLink. The searchAction field provides a direct deep link to the top result. This endpoint is useful for resolving place names to location_id values before calling search_activities or list_activities_by_location.
- Build a tour comparison tool using
price,rating, andreview_countfields from search results. - Aggregate city-specific activity listings by
location_idfor travel guide apps. - Display real-time booking variants and language options per activity using
get_activity_options. - Pull structured review text and author metadata for sentiment analysis via
get_activity_reviews. - Resolve user-typed city or landmark names to
locationIdvalues usingautocomplete_search. - Sync activity catalog data including descriptions, images, and pricing into a CMS using
get_activity_details. - Monitor availability changes for specific activities by polling
get_activity_optionswith differentdatevalues.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does GetYourGuide have an official developer API?+
What does `get_activity_details` return beyond what search results include?+
get_activity_details returns a product_info object with the full structured product schema: name, description, image URL arrays, aggregateRating, offers (including pricing details), and embedded reviews. It also returns a breadcrumbs object. Search endpoints return a lighter summary — abstract, price, rating, review_count, duration — without the full offer structure or image sets.Does the API cover wishlist data, user accounts, or operator profiles?+
How does pagination work across the search and review endpoints?+
search_activities and list_activities_by_location accept a page integer and return a page field in the response confirming the current page. get_activity_reviews uses the same pattern and returns up to 10 reviews per page. There is no total-count or next-page token in the response, so you iterate pages until the results array is empty or shorter than the page size.Does the API return availability for specific dates across multiple activities at once?+
get_activity_options checks availability for one activity_id at a time with an optional date parameter. Bulk availability checks across many activities in a single call are not supported. You can fork this API on Parse and revise it to batch multiple activity IDs.