For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Returns a paginated list of videos. Supports rich filtering across experience categories, audience segments, vibes, keywords, tags, geography, time context, geo-radius proximity and Xeni property ID.For general keyword searches (e.g. 'hotel', 'rooftop', 'park'), use the `search` parameter - it searches the full video index without requiring an exact value from the `/keywords` or `/tags` endpoints. Multiple values for the same filter are combined with OR logic. Set `includeCoordinates=true` to also receive a `coordinates` array of up to 500 map points for the full filtered result set, for rendering a map alongside the list.
Authentication
x-api-keystring
API key issued with your NaviSavi plan
Query parameters
pageintegerOptional>=1Defaults to 1
Page number (1-based)
limitintegerOptional1-100Defaults to 20
Results per page (max 100)
experienceCategorieslist of enumsOptional
Filter by one or more experience categories
audienceSegmentslist of enumsOptional
Filter by one or more audience segments
vibeslist of stringsOptional
Filter by one or more vibes in the format “{vibe_category} > {vibe}”, e.g. “Personal & Intimate > Solo travel”
placeCategorieslist of enumsOptional
Filter by one or more place types (venue or location category)
keywordslist of stringsOptional
Filter by one or more keyword names
tagslist of stringsOptional
Filter by one or more tag names
searchstringOptional>=1 character
Free-text search against video content, locations, and points of interest. Matches any video whose search index contains the term (case-insensitive). Use this instead of `keywords` or `tags` when you do not have an exact value from those lists - e.g. `hotel`, `rooftop`, `park`, `cinema`. Can be combined with other filters.
countrieslist of stringsOptional
Filter by one or more country names
regionslist of stringsOptional
Filter by one or more region names
localitieslist of stringsOptional
Filter by one or more locality names
locationslist of stringsOptional
Filter by one or more location names
destinationslist of stringsOptional
Filter by one or more destination slugs
minDurationdoubleOptional>=0Defaults to 0
Minimum video duration in seconds
maxDurationdoubleOptional>=0Defaults to 30
Maximum video duration in seconds
monthstringOptional
Filter by month name
seasonenumOptional
timeOfDayenumOptional
Case-insensitive match
latdoubleOptional-90-90
Latitude of the search centre. Must be provided together with lng and radiusKm.
lngdoubleOptional-180-180
Longitude of the search centre. Must be provided together with lat and radiusKm.
radiusKmdoubleOptional0.1-500
Search radius in kilometres (0.1-500). Must be provided together with lat and lng.
xeniPropertyIdlist of stringsOptional
Filter by one or more Xeni property IDs, to find videos matching a specific hotel or place to stay on the Xeni system
includeCoordinatesenumOptional
When true, include a coordinates array of up to 500 lightweight map points covering the entire filtered result set (not just the current page), suitable for rendering alongside the list. Off by default.
Allowed values:
thumbnailWidthintegerOptional>=1Defaults to 1280
Thumbnail width in pixels
thumbnailHeightintegerOptional>=1Defaults to 720
Thumbnail height in pixels
thumbnailTimedoubleOptional>=0Defaults to 4
Time offset in seconds for thumbnail frame (clamped to video duration, or 30s if unknown)
thumbnailTypeenumOptionalDefaults to png
Thumbnail image format
Allowed values:
minResolutionenumOptional
Minimum video resolution for contentUrl. Must be provided together with maxResolution.
maxResolutionenumOptional
Maximum video resolution for contentUrl. Must be provided together with minResolution.
Response
Paginated list of videos
datalist of objects
metaobject
coordinateslist of objects
Map points for the entire filtered result set (not just the current page), capped at 500. Present only when includeCoordinates=true. Independent of pagination, so request it once (e.g. on page 1) and reuse it while paging the same filters.
Errors
400
Bad Request Error
403
Forbidden Error
500
Internal Server Error
Returns a paginated list of videos. Supports rich filtering across experience categories, audience segments, vibes, keywords, tags, geography, time context, geo-radius proximity and Xeni property ID.For general keyword searches (e.g. ‘hotel’, ‘rooftop’, ‘park’), use the search parameter - it searches the full video index without requiring an exact value from the /keywords or /tags endpoints. Multiple values for the same filter are combined with OR logic. Set includeCoordinates=true to also receive a coordinates array of up to 500 map points for the full filtered result set, for rendering a map alongside the list.
Free-text search against video content, locations, and points of interest. Matches any video whose search index contains the term (case-insensitive). Use this instead of keywords or tags when you do not have an exact value from those lists - e.g. hotel, rooftop, park, cinema. Can be combined with other filters.