Experiences
Tours, activities, and attractions — discover, price, and book from your app.
Experiences
Experience endpoints live under /v1/travel/experiences. Let your users discover and book tours, activities, and attractions across thousands of destinations, directly from your white-label app.
Every request is authenticated with the end-user's JWT plus your app headers:
Authorization: Bearer <JWT>— issued by your OAuth2 providerX-App-Id: <uuid>(orX-App-Slug: <slug>) — identifies your white-label appX-Environment: Sandbox | Production— routes to the right environment
Discovery
Search Experiences
POST /v1/travel/experiences
Full search with filters — destination, dates, category, price range, duration, rating, and more.
Free-Text Search
POST /v1/travel/experiences/search
Search by keyword across products, destinations, and attractions.
Get Categories
GET /v1/travel/experiences/categories
Returns all experience categories.
Get Filters
GET /v1/travel/experiences/filters
Returns the available filter options that can be applied to a search.
Experiences by Category
GET /v1/travel/experiences/category/{category_id}
Returns experiences within a specific category.
See the Search guide for full request shapes.
Curated & Nearby
Curated Experiences
GET /v1/travel/experiences/curated
Editorial picks — top-rated and staff-selected experience collections.
Popular Destinations
GET /v1/travel/experiences/popular-destinations
Top destinations for experiences, ranked by popularity.
Nearby Experiences
POST /v1/travel/experiences/nearby
Find experiences near a GPS coordinate — ideal for "things to do around me".
Availability & Pricing
Get Experience Details
GET /v1/travel/experiences/{product_code}
Full product details — description, inclusions, options, cancellation policy, meeting point, and photos.
Check Availability
GET /v1/travel/experiences/{product_code}/availability
Returns the availability calendar for a product.
Calculate Price
POST /v1/travel/experiences/calculate-price
Get exact pricing for a specific option, date, and traveler mix before creating a hold.
See the Availability & Pricing guide for details.
Bookings
Experiences use a hold-then-pay flow. Reserve a slot, then complete payment before the hold expires.
Hold Booking
POST /v1/travel/experiences/bookings/hold
Get Hold Details
GET /v1/travel/experiences/bookings/{booking_id}/hold
List Bookings
GET /v1/travel/experiences/bookings
Get Booking Details
GET /v1/travel/experiences/bookings/{booking_id}
See the Bookings guide for the full flow.