Discover API Guideline
The Discover endpoints return the curated content a partner pins under Template Setting: recommended hotels, airline routes, tours, and attraction products. Use them to build home page and landing page sections.
Endpoints
| Endpoint | Returns |
|---|---|
/api/v1/discover/hotels/recommended | Curated hotels for hotel discovery sections. |
/api/v1/discover/hotels/collections | Curated hotels grouped into marketing collections. |
/api/v1/discover/flights/recommended | Curated airline routes grouped by country. |
/api/v1/discover/tours/top-rate | Tours pinned as top rate. |
/api/v1/discover/tours/exclusive | Tours pinned as exclusive. |
/api/v1/discover/attractions/recommended | Curated attraction products grouped by destination. |
/api/v1/discover/attractions/trending | Attraction products pinned as trending. |
/api/v1/discover/attractions/traveler-favorites | Attraction products pinned as traveler favorites. |
/api/v1/discover/attractions/top-destinations | Top attraction destinations with galleries and categories. |
Every endpoint accepts GET or POST and needs a Partner-Access-Token header.
Content Ownership
Content is resolved per partner account. Hotels and flights fall back to the platform list when your account has curated nothing of its own, so a section is rarely empty. Tours and attractions have no fallback and return an empty array until your account pins content.
Where the Content Leads
- A hotel card carries
slugandhotel_code. Open it with/api/v1/tourmind/hotels/{slug}and price it with/api/v1/tourmind/hotels/search/prices. - A flight card carries the airport codes, dates, cabin, and trip type needed to prefill a flight search.
- A tour card carries
slugfor the tour detail endpoint. - An attraction card carries
product_noandslugfor the attraction product endpoints, and a destination carriescity_codeplus category codes you can pass into an attraction search.
Caching
Responses are cached per partner, currency, language, and query for up to 60 minutes, and the cache is released early whenever the underlying content changes.
Empty Responses
An endpoint with nothing curated returns a success envelope with an empty data array. This is not an
error, so hide the section rather than showing a failure state.
{
"result": 1,
"message": "success",
"data": []
}