Experiences
Tours, activities, and attractions — search, book, wishlist, and manage.
Experiences
Experience endpoints live under /v1/travel/experiences. Access 300K+ tours, activities, and attractions across 2,500+ destinations. Authentication requires Authorization: Bearer <token>.
Discovery
Search Experiences
POST /v1/travel/experiences
Full search with filters — location, date, category, price range.
{
"destination_id": "d-london",
"start_date": "2025-06-01",
"end_date": "2025-06-07",
"categories": ["sightseeing", "food-and-drink"],
"currency": "USD",
"pax": 2
}
Free-Text Search
POST /v1/travel/experiences/search
Search by keyword across all destinations.
{
"query": "cooking class Rome",
"currency": "USD"
}
Get Experience Details
GET /v1/travel/experiences/{product_code}
Full product details — description, inclusions, cancellation policy, meeting point, photos.
Get Categories
GET /v1/travel/experiences/categories
Returns all experience categories and sub-categories.
Get Filters
GET /v1/travel/experiences/filters
Returns available filter options (price range, duration, languages, etc.).
Curated & Recommendations
Curated Experiences
GET /v1/travel/experiences/curated
Editorial picks — top-rated and staff-selected experiences.
Popular Destinations
GET /v1/travel/experiences/popular-destinations
Top destinations sorted by booking volume.
Nearby Experiences
POST /v1/travel/experiences/nearby
Find experiences near a GPS coordinate.
{
"lat": 51.5074,
"lng": -0.1278,
"radius_km": 5
}
Experiences by Category
GET /v1/travel/experiences/category/{category_id}
Returns experiences in a specific category.
Availability & Pricing
Check Availability
GET /v1/travel/experiences/{product_code}/availability
Returns available dates, time slots, and pricing for a product.
| Query param | Type | Description |
|---|---|---|
start_date | string | ISO 8601 start date |
end_date | string | ISO 8601 end date |
pax | integer | Passenger count |
currency | string | ISO 4217 currency code |
Calculate Price
POST /v1/travel/experiences/calculate-price
Get exact pricing for a specific date, time slot, and pax combination before booking.
{
"product_code": "4026LOND",
"date": "2025-06-03",
"time_slot": "10:00",
"pax": { "adults": 2, "children": 1 }
}
Bookings
Hold Booking
POST /v1/travel/experiences/bookings/hold
Reserve availability for up to 15 minutes while the user completes payment.
{
"product_code": "4026LOND",
"date": "2025-06-03",
"time_slot": "10:00",
"pax": { "adults": 2 },
"lead_traveller": {
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone": "+447700900000"
}
}
Response: booking_id + hold_expires_at timestamp.
Get Hold Details
GET /v1/travel/experiences/bookings/{booking_id}/hold
List Bookings
GET /v1/travel/experiences/bookings
Returns the authenticated user's experience booking history.
Get Booking Details
GET /v1/travel/experiences/bookings/{booking_id}
Recent Searches
Get Recent Searches
GET /v1/travel/experiences/recent
Returns the user's recent experience searches.
Clear Recent Searches
DELETE /v1/travel/experiences/recent
Wishlists
List Wishlists
GET /v1/travel/experiences/wishlists
Create Wishlist
POST /v1/travel/experiences/wishlists
{ "name": "Rome Trip 2025" }
Get Wishlist
GET /v1/travel/experiences/wishlists/{wishlist_id}
Update Wishlist
PUT /v1/travel/experiences/wishlists/{wishlist_id}
Delete Wishlist
DELETE /v1/travel/experiences/wishlists/{wishlist_id}
Add Item to Wishlist
POST /v1/travel/experiences/wishlists/{wishlist_id}/items
{ "product_code": "4026LOND" }
Remove Item from Wishlist
DELETE /v1/travel/experiences/wishlists/{wishlist_id}/items/{product_code}
Get All Wishlisted Product Codes
GET /v1/travel/experiences/wishlists/product-codes
Returns a flat list of product codes across all wishlists — useful for marking items as saved in search results.