Skip to main content

Endpoint

GET https://api.voyantcloud.com/v1/products/search Search for products across your catalog with full-text search and faceting. Results include both workspace-owned products and marketplace products from providers you have access to, with automatic workspace isolation and provider filtering.

Authentication

string
required
Bearer token (e.g. Authorization: Bearer YOUR_API_KEY)

Query parameters

string
Search query string. If omitted, returns all products matching filters.
string
default:"en"
Locale for search. Options: en, ro
integer
default:"0"
Zero-based page number (for page-based pagination)
integer
default:"20"
Number of results per page (1-100)
integer
Starting offset (for offset-based pagination). Takes precedence over page if provided.
integer
Number of results (for offset-based pagination). Defaults to pageSize if not provided.
string
Filter by product type (e.g., tour, cruise, accommodation)
string
Filter by status (e.g., active, draft, archived)
string
B2B: Filter by organization visibility (UUID format)
string
Field to sort by. Available options:
  • price or priceFrom - Sort by starting price
  • created - Sort by creation date
  • updated - Sort by last update date (default)
  • departure - Sort by earliest departure date
  • relevance - Sort by text search relevance score
string
default:"desc"
Sort order. Options: asc, desc.
string
Advanced filtering using Typesense filter syntax. This allows filtering on any indexed field.Syntax:
  • Array contains: tags:=[Black Friday]
  • Exact match: status:=active
  • Multiple values (OR): tags:=[Black Friday, Featured]
  • Numeric comparison: priceFromValue:>100
  • AND conditions: tags:=[Black Friday] && type:=tour
  • OR conditions: type:=tour || type:=cruise
Remember to URL-encode the filters parameter value. For example, tags:=[Black Friday] becomes tags%3A%3D%5BBlack%20Friday%5D.

Request example

Response

array
required
Array of product search results
integer
Current page number (page-based pagination only)
integer
Total number of pages (page-based pagination only)
integer
Number of results per page (page-based pagination only)
integer
Current offset (offset-based pagination only)
integer
Number of results returned (offset-based pagination only)
integer
required
Total number of matching results
integer
required
Query execution time in milliseconds
object
Facet buckets and counts for the current query (all facet attributes returned).
boolean
Whether facet counts are exact (true) or approximate (false).

Error handling

Invalid query parameters.Possible causes:
  • pageSize exceeds 100
  • Invalid locale value
  • Invalid organizationId format
Solution: Check your query parameters match the documented formats and constraints.
Missing or invalid API key.Solution: Check your Authorization: Bearer header is set correctly.
Search service is temporarily unavailable.Solution: Retry the request after a short delay. If the issue persists, contact support.

Features

Workspace isolation

All search results are automatically filtered to include only:
  • Products owned by your workspace (source: "main")
  • Marketplace products from providers you have active connections or grants for

Override precedence

If your workspace has created overrides for a marketplace product, the override version is returned instead of the base marketplace product, automatically de-duplicated.

Relevance ranking

Results are ranked by a relevance algorithm, which considers:
  • Text matching (query terms in title, description)
  • Popularity signals
  • Custom ranking factors

Facet Filtering

The search response includes a facets object, which contains all filterable attributes for the current result set. You can use these facets to build a filtered search UI. While you can use the top-level type and status parameters for basic filtering, the filters parameter provides advanced capabilities using Typesense filter syntax. Available facets:
  • type - Product type (tour, cruise, accommodation, etc.)
  • status - Product status (active, draft, archived)
  • categories - Category assignments
  • tags - Product tags
  • countries - Countries the product visits
  • regions - Geographic regions
  • priceFromCurrency - Price currency
  • source - Product source (main, marketplace, override)
Example: Filtering by multiple facets
  1. Perform an initial search to get available facets.
  2. Use the filters parameter in a subsequent request to refine the results.
This allows for dynamic and precise filtering based on any attribute indexed in the product catalog.

Use cases

Product search autocomplete

Build a search-as-you-type experience:
Search with type and status filters:

List products

Browse products with database filtering

Search facets

Search for facet values

Get product

Retrieve detailed product information