Overview
The/v2/guide-search endpoint returns a paginated list of curated travel guides from the Obvlo content engine. You can filter by geography, free-text query, and guest personalisation attributes such as trip type and interests.
By default, each guide result includes its embedded listings (points of interest). You can disable this with includeListings=false to get a lighter response.
Localised fields and the lang parameter
Guide fields (name, description, introText, keywords, attribution, centerLocation, preferences) and all localised fields of embedded listings carry translated content.
The shape of these fields depends on whether lang is provided:
lang | Field shape | Example |
|---|---|---|
Provided (e.g. lang=en-GB) | Plain value for the requested language. | "name": "Top Restaurants in Shoreditch" |
| Omitted | Language map — one key per available language code. | "name": { "en-GB": "Top Restaurants in Shoreditch" } |
lang is omitted, at least the default language (en-GB) is always included in the map.
Request
Required parameters
| Parameter | Type | Description |
|---|---|---|
orgId | string | Your organisation ID. |
Optional parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
profileId | string | — | Scope results to a specific host profile. |
searchQuery | string | — | Full-text query matched against guide names and descriptions. |
latlng | string | — | Geo-center for proximity ranking. Format: latitude,longitude (e.g. 51.5074,-0.1278). |
radius | number | Profile default | Search radius in metres around latlng. |
page | integer | 1 | Page number (1-based). |
hitsPerPage | integer | 10 | Results per page. Maximum 20. |
userCategory | string | — | Filter by user category (e.g. couple, family, solo). |
tripType | string | — | Filter by trip type (e.g. leisure, business). |
userInterests | string | — | Comma-separated interest tags used for personalised ranking. |
includeListings | string | true | Set to false to omit embedded listings from each guide. |
maxListingsPerGuide | integer | 20 | Maximum listings to embed per guide when includeListings=true. |
rankBy | string | score | Ranking strategy: score (relevance) or distance (nearest first, requires latlng). |
lang | string | — | BCP 47 language code (e.g. en-GB). When provided, localised fields in guides and their embedded listings are returned as plain values for that language instead of language maps. |
Examples
Basic search for an organisation
Basic search
Geo-filtered search near London
Geo-filtered, near London
Personalised search for a couple on a leisure trip
Personalised search
Search with a specific language
With parameter
Search without embedded listings
Without embedded listings
Response
- With lang=en-GB
- Without lang (language map)
Response fields
| Field | Type | Description |
|---|---|---|
results | array | Array of guide objects (see below). |
total | integer | Total number of guides matching the query. |
pages | integer | Total number of pages at the requested hitsPerPage. |
Guide object
| Field | Type | Description |
|---|---|---|
id | string | Unique guide identifier. |
contentType | string | Always "guide". |
name | string | object | Guide name. Plain string when lang is provided; language map otherwise. |
description | string | object | Guide description. Plain string when lang is provided; language map otherwise. |
introText | string | object | Intro text. Plain string when lang is provided; language map otherwise. |
keywords | array | object | Keywords. Array when lang is provided; language map of arrays otherwise. |
geoLocation | array | Coordinates as [latitude, longitude]. |
coverImage | object | Cover image with multiple size variants. See Image object. |
featured | boolean | Whether the guide is featured. |
hostIds | array | IDs of host profiles associated with this guide. |
listingIds | array | IDs of listings included in this guide. |
languageCodes | array | Language codes for which content is available. |
updatedAt | integer | Last updated timestamp (Unix ms). |
geoDistance | number | Distance in metres from the requested latlng (when provided). |
listings | array | Embedded listing objects (when includeListings=true). Localised fields follow the same lang behaviour as top-level listing search results. |
Image object
| Field | Type | Description |
|---|---|---|
id | string | Unique image identifier. |
category | string | Image category tag. |
attributions | array | Attribution strings for the image. |
images | array | Array of { size, url } variant objects. |