tourradar_vertex-tour-search
[tourradar] Use this when the user describes what they want in natural language and you need AI-powered semantic search to understand their intent.
Before use this tool, please READ all possible filters. PLESE USE FILTERS, when can be used, to make search faster and much more precise. Please use start_city, end_city, cities, countries, start_country, end_country filters if possible. You can use multiple of them.
AI-powered semantic search for tours using natural language queries combined with optional filters. Uses Google Vertex AI to understand intent and find relevant tours based on descriptions, themes, or specific requests.
Use vertex-tour-search when:
The user describes what they want in natural language
You need semantic/AI-powered search to understand intent
Combining natural language with filters for refined results
Examples:
"Family-friendly safari with kids under 12"
"Romantic honeymoon trip with beach and mountains"
"Adventure tour with hiking and camping for beginners"
"Cultural immersion experience with local homestays"
"Wine tasting tour through European countryside"
Input
Required
textSearch: Natural language description of what the user is looking fordisplay_mode: How to display results —"listing"(default, carousel of tour cards) or"map"(interactive map view)
Optional Filters
Location Filters
Filter | Type | Description |
| string[] | Country where tour BEGINS (ISO 3166-1 alpha-2 codes). OR logic. |
| string[] | Country where tour ENDS (ISO 3166-1 alpha-2 codes). OR logic. |
| number[] | City IDs where tour starts. Use |
| number[] | City IDs where tour ends. Use |
| object | Countries visited DURING the itinerary. Supports AND/OR operator. |
| object | Cities visited on the itinerary. Supports AND/OR operator. |
Range Filters
Filter | Type | Description |
|
| Tour length in days |
|
| Maximum group size range |
|
| Minimum group size range |
|
| Minimum age requirement range. E.g., |
|
| Maximum age limit range. E.g., |
|
| Price range (currency: "EUR") |
AND/OR Filters
These filters support both AND and OR operators:
Filter | Values | Description |
| YYYY-MM strings | Filter by departure months |
| ISO 3166-1 alpha-2 codes | Countries visited during itinerary |
| City IDs | Cities visited on itinerary |
Structure: { values: [...], operator: "AND" | "OR" }
OR(default): Tour matches ANY of the specified valuesAND: Tour must match ALL specified values
Examples
Simple text search
{ "textSearch": "family adventure with wildlife" }With location filters
{
"textSearch": "hiking adventure",
"start_country": ["DE", "AT"],
"countries": { "values": ["IT", "CH"], "operator": "AND" }
}With range filters
{
"textSearch": "luxury beach vacation",
"duration": { "min": 7, "max": 14 },
"price": { "min": 2000, "max": 5000, "currency": "EUR" },
"max_group_size": { "min": 1, "max": 16 }
}With age filters
{
"textSearch": "family safari with young children",
"min_age": { "min": 1, "max": 6 },
"duration": { "min": 7, "max": 14 }
}With departure dates
{
"textSearch": "northern lights tour",
"departures": { "values": ["2026-01", "2026-02", "2026-03"], "operator": "OR" }
}Map display mode
{
"textSearch": "hiking tours in the Alps",
"display_mode": "map",
"countries": { "values": ["AT", "CH"], "operator": "OR" }
}Response
Returns a list of tours matching the query, each containing:
Tour ID, name, and URL
Operator information
Brief description matching the query context
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Filter by tour price in the selected currency. E.g., { min: 500, max: 2000, currency: 'EUR' } finds tours priced between €500 and €2000. Min and max value cannot be this same. | |
| cities | No | Filter tours by cities visited on the itinerary. City IDs can be obtained from the b2b-cities-search tool | |
| max_age | No | Filter by tour's maximum age limit. E.g., { min: 18, max: 39 } finds tours limited to young adults. Use to find age-restricted tours like youth or senior-specific trips. Min and max value cannot be this same. | |
| min_age | No | Filter by tour's minimum age requirement. E.g., { min: 1, max: 12 } finds tours that accept children under 12. Use to find family-friendly tours or tours with low age requirements. Min and max value cannot be this same. | |
| tourIds | No | Filter by specific tour IDs. Use this to narrow search results to known tours. | |
| currency | No | Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used. | |
| discount | No | Filter tours by discount percentage. E.g., { min: 10, max: 50 } finds tours with 10% to 50% off. Min and max value cannot be the same. | |
| duration | No | Filter tours by duration in days. Example: set min: 5 , max: 8 to find duration between those days. Include this filter when is needed | |
| end_city | No | City IDs where the tour ends (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours ending in any of the given cities | |
| countries | No | Filter by countries visited DURING the tour itinerary. Use 'start_country'/'end_country' for departure/destination countries. | |
| departures | No | Filter tours by available departure months | |
| start_city | No | City IDs where the tour starts (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours starting in any of the given cities | |
| textSearch | Yes | ||
| end_country | No | Filter by the country where the tour ENDS (final destination). ISO 3166-1 alpha-2 codes (e.g., ['IT', 'FR']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary. | |
| display_mode | No | How to display the search results. 'listing' shows a carousel of tour cards. 'map' shows tours on an interactive map. | listing |
| operator_ids | No | Filter tours by specific operator ids. You can add multiple operator ids, then OR operator will be used. For lookup for partner by name, please use algolia-operator-search tool. | |
| start_country | No | Filter by the country where the tour BEGINS (departure point). ISO 3166-1 alpha-2 codes (e.g., ['DE', 'AT']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary. | |
| max_group_size | No | Filter by tour's maximum group size. E.g., { min: 1, max: 20 } finds small group tours with max 20 participants. Min and max value cannot be this same. | |
| min_group_size | No | Filter by tour's minimum group size. E.g., { min: 1, max: 1 } finds tours that accept solo travelers. Min and max value cannot be this same. |