Sherpa - Visa and Travel Restrictions API

Sherpa Developer Hub

Welcome to the Sherpa developer hub. We offer a suite of solutions that guides travellers from planning to a safe return home. Take a look at the integration guides, specific use cases and an interactive API Reference. Ready? Let's go.

Guides    API Reference

Plug & Play Widget

The easiest way to add conversion-optimized requirements and applications to your traveller experience.


Do you have your API Key?

You will need an API Key to initialize the widget on your platform. Request an API key to get started .


Sherpa's plug & play widget informs your travellers of visa requirements and accepts submissions through an optimized application process. Integration with your traveller experience is as easy as following the two step process below.

Preview our eVisa widget below, and contact us for a custom guide that will allow you to drop a pre-configured widget onto any page in your traveller experience.

  • Pre-filled applications - Secure handover of booking details so that travellers don't have to re-enter information.
  • Mobile optimized - Fully responsive for any size device.
  • Secure payments - PCI compliant & able to process transactions from all over the world
  • Style & Brand - We'll style everything using your brand & style guide for a unified experience.
  • Localization - Present entry requirements in Arabic, Danish, German, English, Spanish, Finnish, French, Icelandic, Italian, Dutch, Norwegian, Polish, Russian, Swedish and Simplified Chinese.

Widget Preview

Integration Step 1: Place the widget

The below script can be added to any HTML page, where the endUrl parameter is provided as part of your custom implementation guide.

<script src=”{endUrl}”></script>

<div id=”sherpa-widget”></div>




Provided in custom integration guide


Provided in custom integration guide

2. Create the widget

Define the callback function:

function onSherpaEvent(event){



“iframeStartLoading” event passes back the options through the attribute data which were used to initialize the widget. This is a good way to check against if the widget shows unexpected information.

Once the SDK is loaded, the following output will be shown:

{type: "sdkLoaded", data: null}
    a. data: null
    b. type: "sdkLoaded"

After the SDK loaded event, the following function can be used to create the widget on the page:


The list of possible SDK events is available here:




SDK javascript is loaded


Integration iframe started loading


Iframe loaded successfully


Iframe loading issue


User successfully placed an order


User declined the order


User closed iframe

3. Pass Parameters

Passing parameters to the widget pre-populates the application, which makes it easier for travellers to complete and avoids asking them to re-enter information.

Note that the user will still be able to change the details where necessary. This means that we can guess values that aren’t necessarily known but will often be the same (e.g. nationality).

A list of parameters that can be passed to the widget is available here.

Check out the preview above in order to see how the parameters are passed to the widget. Note that this example doesn't include your custom styling

Testing Payment

Test a purchase using the below credit card details:

Card Number: 4242 4242 4242 4242
Expiration Date: any date in the future
CSV number: any random digits

Widget Options

You can also view the entire sheet with all widget options directly.

Updated 26 days ago

Plug & Play Widget

The easiest way to add conversion-optimized requirements and applications to your traveller experience.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.