Search Experiences
Discover tours, activities, and attractions by location, category, keyword, or proximity.
Search Experiences
Discover experiences by destination and filters, run a free-text search, browse categories, or find things to do nearby. All requests use the end-user's JWT plus X-App-Id and X-Environment headers.
Search by Destination
POST /v1/travel/experiences
Full search over the catalog. All fields are optional — send only the filters you need. destination_id is a numeric destination identifier.
| Field | Type | Required | Description |
|---|---|---|---|
destination_id | integer | no | Numeric destination ID to scope the search |
category | string | no | Category slug/ID to filter by |
search_term | string | no | Free-text term, e.g. "snorkeling" |
start_date | string | no | YYYY-MM-DD |
end_date | string | no | YYYY-MM-DD |
currency | string | no | ISO-4217 currency code |
language | string | no | Language code |
min_price | number | no | Minimum price |
max_price | number | no | Maximum price |
min_duration_minutes | integer | no | Minimum duration in minutes |
max_duration_minutes | integer | no | Maximum duration in minutes |
min_rating | number | no | Minimum rating (0–5) |
tags | array<integer> | no | Tag IDs to filter by |
time_of_day | array<string> | no | MORNING, AFTERNOON, EVENING |
featured | boolean | no | Only featured experiences |
free_cancellation | boolean | no | Only free-cancellation experiences |
likely_to_sell_out | boolean | no | Only likely-to-sell-out experiences |
private_tour | boolean | no | Only private tours |
skip_the_line | boolean | no | Only skip-the-line experiences |
special_offer | boolean | no | Only experiences with a special offer |
recently_added | boolean | no | Only recently added experiences |
sort_by | string | no | FEATURED, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, RATING, REVIEW_COUNT, DURATION |
limit | integer | no | Page size |
offset | integer | no | Result offset for pagination |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiencesSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/travel/experiences' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"destination_id":732,"start_date":"2026-07-01","end_date":"2026-07-07","currency":"USD","sort_by":"FEATURED","limit":20}'Free-Text Search
POST /v1/travel/experiences/search
Search by keyword across products, destinations, and attractions.
| Field | Type | Required | Description |
|---|---|---|---|
search_term | string | yes | Search phrase, e.g. "cooking class Rome" |
search_types | array<string> | no | PRODUCTS, DESTINATIONS, ATTRACTIONS |
destination_id | integer | no | Numeric destination ID to narrow the search |
currency | string | no | ISO-4217 currency code |
language | string | no | Language code |
limit | integer | no | Number of results per type |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/searchSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/travel/experiences/search' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"search_term":"cooking class Rome","search_types":["PRODUCTS","DESTINATIONS"],"currency":"USD"}'Browse Categories
GET /v1/travel/experiences/categories
Returns all experience categories.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/categoriesSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/travel/experiences/categories' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Get Filters
GET /v1/travel/experiences/filters
Returns the available filter options (price, duration, ratings, and other facets) that can be applied to a search.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/filtersSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/travel/experiences/filters' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Experiences by Category
GET /v1/travel/experiences/category/{category_id}
Returns experiences within a specific category. Use a category_id returned from the categories endpoint.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/category/{category_id}Sandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/travel/experiences/category/{category_id}' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \Curated Experiences
GET /v1/travel/experiences/curated
Editorial picks — top-rated and staff-selected experience collections.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/curatedSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/travel/experiences/curated' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Popular Destinations
GET /v1/travel/experiences/popular-destinations
Top destinations for experiences, ranked by popularity.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/popular-destinationsSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/travel/experiences/popular-destinations' \ -H 'Content-Type: application/json' \ -H 'X-Environment: Sandbox' \
Nearby Experiences
POST /v1/travel/experiences/nearby
Find experiences near a GPS coordinate.
| Field | Type | Required | Description |
|---|---|---|---|
latitude | number | yes | Latitude of the user's location |
longitude | number | yes | Longitude of the user's location |
radius_km | number | no | Search radius in kilometers (default 50) |
category | string | no | Category filter |
currency | string | no | ISO-4217 currency code |
language | string | no | Language code |
limit | integer | no | Number of results to return |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/nearbySandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/travel/experiences/nearby' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"latitude":51.5074,"longitude":-0.1278,"radius_km":5,"limit":20}'