Skip to content

BeMyGuest API v2.0 (2.1)

The BeMyGuest API is the industry benchmark preferred by online travel agents, designed solely for Asia's attractions, tours and activities. This comprehensive API provides real-time access to a vast inventory of travel products.

Key Features:

  • Product Discovery: Search and retrieve detailed information for a wide range of travel products, including attractions, tours, and activities.
  • Real-Time Availability and Pricing: Check live availability and get up-to-date pricing for specific product types and dates.
  • End-to-End Booking Management: Create, confirm, and cancel bookings seamlessly.
  • Voucher Retrieval: Access and download booking vouchers directly through the API.
  • Configuration: Fetch essential configuration data such as supported languages, currencies, and locations to customize your integration.
Download OpenAPI description
Languages
Servers
Mock server

https://docs.bemyguest.com.sg/_mock/openapi/

Api Demo Server

https://api.demo.bemyguest.com.sg/

Api Production Server

https://api.bemyguest.com.sg/

Products

Endpoints for searching and retrieving product details.

Operations

Request

Retrieves a comprehensive list of all available products. This endpoint supports various filtering and sorting options to help you narrow down the results.

You can filter by product type, category, country, and city. Pagination is available using the page and per_page parameters.

You can also specify the sort order and the language for the response.

Security
Authorization
Query
typestring

type - UUID of type of product. Types is the product segregation: Activity, Event, Package, Day Tour, Voluntourism, Water Tour, Attraction (UUID available in /config)

categorystring

category - UUID of listing category. Categories are products groups, like zoo, aquapark, cooking class, and many many more (UUID available in /config)

countrystring

country - UUID of country

citystring

city - UUID of city, it will always overwrite country parameter if provided

pagestring

page - page number for results

per_pagestring

per_page - how many results per page - if not provided default value from user account will be used

sortstring

sort - sorting field - coma separated list of fields e.g. date,-price,-date,price

languagestring

language - UUID or code may be provided

fieldsstring

fields - coma separated list of keys (fields) to be returned (Fields include 'uuid','updatedAt','title','titleTranslated','validFrom','validThrough','basePrice','typeName','typeUuid','links')

curl -i -X GET \
  'https://docs.bemyguest.com.sg/_mock/openapi/v2/products?type=string&category=string&country=string&city=string&page=string&per_page=string&sort=string&language=string&fields=string' \
  -H 'X-Authorization: YOUR_API_KEY_HERE'

Responses

Successful Paginated Response

Bodyapplication/json
dataArray of objects(Product Summary)required

The main payload of the response.

data[].​uuidstring

UUID of product

data[].​updatedAtstring

last update date/time to product

data[].​titlestring

Title of product. Always in English

data[].​titleTranslatedstring

Title of product on requested language

data[].​validFromstring or null

Start date for product availability (or null when no limit)

Default "null"
data[].​validThroughstring or null

End date if product availability (or null when no limit)

Default "null"
data[].​basePricenumber

Base price of product

data[].​typeNamestring

Type of product

data[].​typeUuidstring

Type UUID

data[].​linksArray of objects(Link)

HATEOAS links

data[].​links[].​methodstringrequired
data[].​links[].​relstringrequired
data[].​links[].​hrefstringrequired
timestampstring(date-time)required

The timestamp when the response was generated.

linksArray of arrays
metaobject
meta.​paginationobject(Pagination)
meta.​pagination.​countinteger
meta.​pagination.​current_pageinteger
meta.​pagination.​linksobject
meta.​pagination.​links.​nextstring
meta.​pagination.​per_pageinteger
meta.​pagination.​total_pageinteger
Response
application/json
{ "data": [ { … }, { … } ], "links": [ { … } ], "meta": { "pagination": { … } }, "timestamp": "2025-08-18T12:04:54.742+08:00" }

Request

Fetches detailed information for a specific product using its unique identifier (UUID).

You can specify which fields to return and the desired language for the response content.

Security
Authorization
Path
uuidstring(uuid)required

UUID of product

Query
languagestring

language - UUID or code may be provided

fieldsstring

fields - coma separated list of keys (fields) to be returned

curl -i -X GET \
  'https://docs.bemyguest.com.sg/_mock/openapi/v2/products/{uuid}?language=string&fields=string' \
  -H 'X-Authorization: YOUR_API_KEY_HERE'

Responses

Successful Product Details Response

Bodyapplication:json
dataobjectrequired

The main payload of the response.

data.​additionalInfostring
data.​additionalInfoTranslatedstring
data.​addressstring

Address of the location of the attraction

data.​allProductTypesHaveOptionsboolean

true/false, when all product types of product have options.

data.​airportPickupboolean

true/false, Depreciated. When airportPickup is true, customer need to provide airport information. This value has been depreciated. It may be appear as booking option instead.

data.​averageDeliverynumber

Average time (in seconds) that is needed to process the booking

data.​audioHeadsetLanguagesArray of objects(Language)

Available languages for Audio Headset material

data.​audioHeadsetLanguages[].​namestringrequired
data.​audioHeadsetLanguages[].​codestring
data.​audioHeadsetLanguages[].​uuidstringrequired
data.​basePricenumber

Base price of product

data.​businessHoursFromstring

supplier business hours from

data.​businessHoursTostring

supplier business hours to

data.​categoriesArray of objects

Array of categories

data.​currencyobject

Currency

data.​descriptionstring

Description of product. Always in English

data.​descriptionTranslatedstring

Description of product on requested language

data.​hasOptionsboolean

true/false, when at least one product type of this product has options.

data.​highlightsstring

Highlights of product. Always in English

data.​highlightsTranslatedstring

Highlights of product on requested language

data.​hotelPickupboolean

true/false, Depreciated. When hotelPickup is true, customer need to provide hotel name and address. This value has been depreciated. It may be appear as booking option instead

data.​itinerarystring or null

Activity itinerary - only applicable for Package type, will be null for others

Default "null"
data.​itineraryTranslatedstring or null

translated version of itinerary on requested language

Default "null"
data.​latitudestring

Latitude of location

data.​locationsArray of objects

Array product location information

data.​longitudestring

Longitude of location

data.​maxPaxintegerint32

Maximum number of pax (adults)

data.​minPaxintegerint32

Minimum number of pax (adults)

data.​photosArray of objects

Array of photos in different dimensions (Sizes: original, 75x50, 175x112, 680x325). Please download the images to your platform. DO NOT hotlinking to these images

data.​photosUrlstring

images base url

data.​priceIncludesstring

What's included in product price

data.​priceIncludesTranslatedstring

priceIncludes on requested language

data.​reviewAverageScorenumber

Average review score

data.​reviewCountintegerint32

Number of reviews

data.​safetystring or null

activity safety information

Default "null"
data.​safetyTranslatedstring or null

translated version of safety information on requested language

Default "null"
data.​titlestring

Title of product. Always in English

data.​titleTranslatedstring

Title of product on requested language

data.​tourTypestring or null

Tour type of product private/join/null

Default "null"
data.​typeNamestring

Type of product

data.​translationLanguagesArray of objects(Language)

Available translated languages for product.

data.​translationLanguages[].​namestringrequired
data.​translationLanguages[].​codestring
data.​translationLanguages[].​uuidstringrequired
data.​updatedAtstring

last update date/time to product

data.​uuidstring(uuid)

UUID of product

data.​validFromstring or null

Start date for product availability (or null when no limit)

Default "null"
data.​validThroughstring or null

End date if product availability (or null when no limit)

Default "null"
data.​warningsstring or null

Warnings of the activity (related to safety and insurance)

Default "null"
data.​warningsTranslatedstring or null

translated version of warnings on requested language

Default "null"
data.​writtenLanguagesArray of objects(Language)

Available written languages for reading material.

data.​writtenLanguages[].​namestringrequired
data.​writtenLanguages[].​codestring
data.​writtenLanguages[].​uuidstringrequired
data.​covid19Measuresstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions

Default "null"
data.​covid19MeasuresTranslatedstring or nullDeprecated

Information on Covid-19 notice of Safety Standards of visiting the attractions on requested language

Default "null"
data.​isFlatPaxPricebooleanDeprecated

true/false (An indication to tell if the Product has the same price for each pax in all of its productTypes)

data.​isSrvEligiblebooleanDeprecated

true/false. indicate whether this product is available for Singapore Rediscover Vouchers Promo.

Default false
timestampstring(date-time)required

The timestamp when the response was generated.

Response
application:json
{ "data": { "additionalInfo": "IMPORTANT NOTICE:\r\n- Adults may only visit the attraction when accompanied by a child. Entry will be denied otherwise, and no refunds will be issued.\r\n\r\nChild policy:\r\n- Children under 2 years are free of charge when accompanied by a paying adult. \r\n- Children below 8 years must be accompanied by a paying adult at all times.\r\n- Children between 8 to 17 years are allowed to enter without an adult but must have an adult present upon entrance and exit of the attraction.", "additionalInfoTranslated": "IMPORTANT NOTICE:\r\n- Adults may only visit the attraction when accompanied by a child. Entry will be denied otherwise, and no refunds will be issued.\r\n\r\nChild policy:\r\n- Children under 2 years are free of charge when accompanied by a paying adult. \r\n- Children below 8 years must be accompanied by a paying adult at all times.\r\n- Children between 8 to 17 years are allowed to enter without an adult but must have an adult present upon entrance and exit of the attraction.", "address": "KidZania Kuala Lumpur Mutiara Damansara Petaling Jaya Selangor Malaysia", "airportPickup": false, "allProductTypesHaveOptions": false, "audioHeadsetLanguages": [], "averageDelivery": 8, "basePrice": 17.48, "businessHoursFrom": "10:00", "businessHoursTo": "18:00", "categories": [ … ], "covid19Measures": null, "covid19MeasuresTranslated": null, "currency": { … }, "description": "KidZania Kuala Lumpur is an interactive indoor theme park, where children can experience real-life jobs in a role-playing environment. The child-geared activity centre comes complete with a functioning economy, paved streets, moving vehicles, and buildings. KidZania offers around 70 role-playing activities where they'll learn all about jobs, money and the real world while developing life skills that simply cannot be taught in the classroom.", "descriptionTranslated": "KidZania Kuala Lumpur is an interactive indoor theme park, where children can experience real-life jobs in a role-playing environment. The child-geared activity centre comes complete with a functioning economy, paved streets, moving vehicles, and buildings. KidZania offers around 70 role-playing activities where they'll learn all about jobs, money and the real world while developing life skills that simply cannot be taught in the classroom.", "guideLanguages": [], "hasOptions": false, "highlights": "Teach your kids about the real world of business, the economy, and responsibilities in a fun and interactive way.\nStep into a kid-centric theme park, offering a range of role-playing opportunities for your child.\nImmerse your kids in grown-up responsibilities and the functioning of a modern city.", "highlightsTranslated": "Teach your kids about the real world of business, the economy, and responsibilities in a fun and interactive way.\nStep into a kid-centric theme park, offering a range of role-playing opportunities for your child.\nImmerse your kids in grown-up responsibilities and the functioning of a modern city.", "hotelPickup": false, "isFlatPaxPrice": true, "isSrvEligible": false, "itinerary": null, "itineraryTranslated": null, "latitude": "3.1579860", "links": [ … ], "locations": [ … ], "longitude": "101.6137710", "maxPax": 50, "minPax": 0, "photos": [ … ], "photosUrl": "https://cdn.bemyguest.com.sg", "priceExcludes": null, "priceExcludesTranslated": null, "priceIncludes": "Admission", "priceIncludesTranslated": "Admission", "reviewAverageScore": 0, "reviewCount": 0, "safety": "", "safetyTranslated": "", "title": "KidZania Kuala Lumpur Ticket", "titleTranslated": "KidZania Kuala Lumpur Ticket", "typeName": "Attraction", "typeUuid": "d3c54653-dd05-598f-b193-f6683d1064ab", "updatedAt": "2025-08-18 08:02:44", "uuid": "a9e0c99f-0140-5070-b7e5-c27f46b863d3", "validFrom": null, "validThrough": null, "warnings": null, "warningsTranslated": null, "writtenLanguages": [] }, "timestamp": "2025-08-18T12:04:54.742+08:00" }

Product-Types

Endpoints for retrieving product type information, pricing, and availability.

Operations

Bookings

Endpoints for creating and managing bookings.

Operations

Configuration

Endpoints for retrieving API configuration data.

Operations

Requests

Schemas that define requests.

Responses

Schemas that define API responses.

Webhooks