The legacy v1 merchant-partner specification still published by Viator, exposing taxonomy, product, photo, review, availability, pricing-matrix, booking, voucher and cancellation services under viatorapi.viator.com/service. Superseded by the Partner API v2 but retained in the public documentation.
Viator Merchant API v1 is one of 9 APIs that Viator publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Merchant, Legacy, Bookings, and Product. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.
This API exposes
28 operations
across 28 paths,
organized into 5 resource areas,
and defines 47 schemas.
It is described by OpenAPI 3.0.1, at version 1.0.0.
Requests are made against 2 base URLs: https://viatorapi.viator.com/service, https://viatorapi.sandbox.viator.com/service.
28 operations28 paths47 schemas13 GET15 POST
Metadata
The identity and technical contract details declared by the specification.
Viator Merchant API v1 declares
2 security schemes
for authenticating requests.
An API key is passed in the header as exp-api-key (API-key).
An API key is passed in the query as apiKey (Legacy-API-key).
By default, every request must be authenticated.
Paths & Operations 28
Across 28 paths, the API surfaces 28 operations — 13 GET, 15 POST. They span 5 resource areas: General services, Taxonomy services, Product services, Booking services, Deprecated services. Each is listed below with its method, path, parameters, and response codes.
The contract defines 47 schemas that model the data the API accepts and returns. The most detailed are photoObject (18 properties), reviewObject (14 properties), basicErrorModel (12 properties), bookingStatus_item (9 properties). Each schema is shown below with its type and property counts.
basicErrorModel
object
12 properties
iataCode
string
IATA airport code for the destination - a three-letter code defined by the International Air Transport Association (IATA) used to identify many airports around…
destinationType
string
destination type specifier - "COUNTRY": destination is a country - "REGION": destination is a recognized region of a country, such as a state, island within a…
topX
string
start and end rows to return in the format {start}-{end} - e.g. '1-10', '11-20' Note: - the maximum number of rows per request is 100; therefore, '100-400' wil…
webURL
string
ignore (Viator only)
bookingEngineId
string
booking type specifier for this product that indicates whether the booking will be CONFIRMED immediately or if it will remain PENDING even after the booking ha…
onRequestPeriod
integer
number of hours before the travel date that this product will be 'on-request' for - this field will contain a value if the bookingEngineId is 'FreesaleOnReques…
price
number
suggested sell ('from') price for this product in the currency set in the currencyCode parameter. This is the cheapest sell price, taking into consideration of…
merchantNetPriceFrom
number
Numeric 'from' (lowest possible) price that Viator will invoice the merchant for the sale of this product, excluding the transaction fee; i.e. the merchant net…
merchantNetPriceFromFormatted
string
Currency-formatted 'from' (lowest possible) price that Viator will invoice the merchant for the sale of this product, excluding the transaction fee (i.e. the m…
savingAmount
string
Ignore (Viator only)
savingAmountFormated
string
Ignore (Viator only)
translationLevel
integer
numeric indicator of the language translation level for this product that is one of: - 0: no translation (English only) - 80: full machine translation - 100: f…
priceFormatted
string
currency-formatted suggested sell ('from') price for this product in the currency set in the currencyCode parameter - For more information, see: [Merchant pric…
rrp
integer
numeric original price for this product if the product is on special / a discount has been applied. 0 if there is no discount on this product. See [Special off…
rrpFormatted
string
currency-formatted original price for this product if the product is on special / a discount has been applied. Empty string if there is no discount on this pro…
onSale
boolean
Ignore (Viator only)
reviewCount
integer
number of user reviews that have been submitted by users for this product If your account has been configured to limit the number of reviews you can receive, t…
rating
number
average user rating of this product users rate products by assigning a star-rating from 1-5; this value shows the average of the star ratings provided by users…
sortOrder
string
sort order in which to return the results that is one of: - 'TOPSELLERS': the top sellers (Note: What Viator gets paid impacts this sort order) - 'REVIEWAVGRAT…
SearchFreetextResponse
object
2 properties
specialOfferAvailable
boolean
indicator: true if a special offer is available for this product. If true the specialOffer field will contain a text string providing details of the special of…
SearchFreetextResponseProduct
SearchFreetextResponseDestination
SearchFreetextResponseAttraction
SearchFreetextResponseRecommendation
photoObject
object
object detailing a single photo from a user
18 properties
reviewObject
object
object containing a single user review
14 properties
reviews
array
array of user review objects The number of reviews returned here will either be the number of reviews you are entitled to according to your account configurati…
bandId
integer
unique numeric identifier for the age band - See: [Working with age bands](section/Appendices/Working-with-age-bands)
ratingCounts
object
dictionary of rating (stars) to number of reviews with each rating for this product" users rate products by assigning a star-rating from 1-5; these values show…
5 properties
specialOffer
string
natural-language description of any special offers available for this product when specialOfferAvailable is true. - empty string if there are no specials avail…
currencyCode
string
Three-letter code indicating the currency in which itemPrice and refundAmount are displayed
ageBandId
integer
unique numeric identifier for the age band - See: [Working with age bands](section/Appendices/Working-with-age-bands)
bookingStatus_itinerary
object
object containing itinerary booking status information
9 properties
bookingStatus_item
object
object containing item booking status information
9 properties
bookingEngineId-response
string
[booking type indicator](section/Key-concepts/Booking-concepts) that indicates whether the booking will be CONFIRMED immediately or if it will remain PENDING e…
CancellationReason
object
2 properties
CancellationReasonsResponse
object
1 property
401_UNAUTHORIZED
object
4 properties
406_NOT_ACCEPTABLE
object
4 properties
500_INTERNAL_SERVER_ERROR
object
4 properties
503_SERVICE_UNAVAILABLE
object
4 properties
RefundDetails
object
Details of the refund Note: Bookings that have not been confirmed by the supplier and have a status of "PENDING" will report an itemPrice, refundAmount and ref…
4 properties
CancelBookingQuoteResponse
object
3 properties
CancellationRequest
object
1 property
CancelBookingResponse
object
3 properties
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of Viator Merchant API v1, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy → On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.