The legacy v1 affiliate-partner specification, a non-transactional subset covering utility services, destination and category taxonomy, product and attraction search, product detail, reviews and photos under viatorapi.viator.com/service. Superseded by the Partner API v2.
Viator Affiliate 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 Affiliates, Legacy, Product, and Attractions. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.
This API exposes
20 operations
across 20 paths,
organized into 5 resource areas,
and defines 27 schemas.
It is described by OpenAPI 3.0.2, at version 1.0.
Requests are made against a single base URL, https://viatorapi.viator.com/service.
20 operations20 paths27 schemas13 GET7 POST
Metadata
The identity and technical contract details declared by the specification.
Viator Affiliate API v1 declares
2 security schemes
for authenticating requests.
An API key is passed in the query as apiKey (Legacy-API-key).
An API key is passed in the header as exp-api-key (API-key).
By default, every request must be authenticated.
Paths & Operations 20
Across 20 paths, the API surfaces 20 operations — 13 GET, 7 POST. They span 5 resource areas: Utility services, Taxonomy services, Product services, Attraction services, Support services. Each is listed below with its method, path, parameters, and response codes.
Utility services 4
Utility services
GET
/util/sitedetails
/util/sitedetails
utilSitedetails3 params→ 200
GET
/util/countrymap
/util/countrymap
utilCountrymap1 param→ 200
GET
/util/guid
/util/guid
utilGuid1 param→ 200
POST
/util/siteBinaryData
/util/siteBinaryData
utilSiteBinaryData1 parambody→ 200
Taxonomy services 3
Taxonomy services
GET
/taxonomy/destinations
/taxonomy/destinations
taxonomyDestinations1 param→ 200
GET
/taxonomy/categories
/taxonomy/categories
taxonomyCategories2 params→ 200
POST
/taxonomy/attractions
/taxonomy/attractions
taxonomyAttractions1 parambody→ 200
Product services 7
Product services
POST
/search/products
/search/products
searchProducts1 parambody→ 200
POST
/search/products/codes
/search/products/codes
searchProductsCodes1 parambody→ 200
POST
/search/freetext
/search/freetext
searchFreetext1 parambody→ 200
GET
/product
/product
product7 params→ 200
GET
/product/reviews
/product/reviews
productReviews5 params→ 200
GET
/product/photos
/product/photos
productPhotos4 params→ 200
POST
/available/products
/available/products
availableProducts1 parambody→ 200
Attraction services 5
Attraction services
POST
/search/attractions
/search/attractions
searchAttractions1 parambody→ 200
GET
/attraction
/attraction
attraction3 params→ 200
GET
/attraction/reviews
/attraction/reviews
attractionReviews3 params→ 200
GET
/attraction/photos
/attraction/photos
attractionPhotos3 params→ 200
GET
/attraction/products
/attraction/products
attractionProducts5 params→ 200
Support services 1
Support services
GET
/support/customercare
/support/customercare
supportCustomercare1 param→ 200
Schemas 27
The contract defines 27 schemas that model the data the API accepts and returns. The most detailed are photoObject (18 properties), reviewObject (16 properties), basicErrorModel (12 properties), ratingCounts (5 properties). Each schema is shown below with its type and property counts.
basicErrorModel
object
12 properties
defaultCurrencyCode
string
Default currency code
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' - maximum number of rows per request is 100 - therefore, '100-400' will return…
webURL
string
URL to forward users to in order to complete their purchase on the Viator site Example: http://es.live.rc.viator.com/tours/Sydney/Sydney-and-Bondi-Hop-on-Hop-o…
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…
currencyCode
string
currency code for the currency to use for pricing fields - Note: See [Supported currency codes](section/Appendices/Supported-currency-codes) for available curr…
bookingEngineId
string
ignore (relevant only to merchant and transactional-affiliate partners)
onRequestPeriod
integer
ignore (relevant to merchant and transactional-affiliate partners only)
translationLevel
integer
numeric indicator of the language translation level for this product that is one of: - 0: no translation (English only) - 90: full machine translation - 100: f…
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…
priceFormatted
string
currency-formatted suggested sell ('from') price for this product in the currency set in the currencyCode parameter
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…
savingAmount
integer
numeric price difference of the price of this product (price) while on sale (onSale is true) compared to the product's original price (rrp). See [Special offer…
savingAmountFormated
string
currency-formatted price difference of the price of this product (price) while on sale (onSale is true) compared to the product's original price (rrp) - if no…
onSale
boolean
indicator: true if the product is 'on sale' and a discount has been applied to the price. When a product is on sale, the price and priceFormatted fields give t…
specialOfferAvailable
boolean
indicator: true if a special offer is available for this product. See [Special offers and on-sale pricing](section/Key-concepts/Special-offers-and-on-sale-pric…
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…
photoObject
object
object detailing a single photo from a user
18 properties
reviewObject
object
object containing a single user review
16 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. - Note: empty string if there are no specials…
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 Affiliate 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.