API documentation

For opening access to the API, getting the API key (APP ID and APP key), please contact us us for further assistance.

API data format

We use a simple and more concise format JSON. To make a request with JSON, the appropriate HTTPS headers are:
Content-Type: application/json
Accept: application/json

Error Responses

If an error occurs, the API response will include an appropriate HTTP status code and error description.
{
"code": "404",
"message": "Access token or app id is not valid"
}

All methods must be called using HTTPS. Arguments can be passed as GET parameters.
Each request must contain APP ID and APP key.
The API response contains JSON object, JSON array or JSON string.

HTTP status codes

Common HTTP status codes information
■ 200 OK Standard response for successful HTTP requests.
■ 204 No Content The server successfully processed the request and is not returning any content
■ 400 Bad Request The server cannot or will not process the request due to an apparent client error
■ 401 Unauthorized Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
■ 403 Forbidden The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource
■ 404 Not Found The requested resource could not be found but may be available in the future
■ 500 Internal Server Error A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

API GET request structure

/api/public/port_download/YOUR_PORT_ID?begin_date=Y-m-d&end_date=Y-m-d&app_id=YOUR_APP_ID&app_key=YOUR_APP_ID
Quick and easy way to generate the API link to the JSON GET REQUEST is to go to your Dashboard, choose needed date interval and click the green button "API Access" (you can find it above the data table).

Parameters

■ YOUR_PORT_ID: the unique ID of each tracked port can be found via the link: Manage your ports
■ date format: the date should be used in the following format: Y-m-d. For example 2019-03-21. The end date must be greater than the start date

Response structure


{
"port_name": "Coco Cay, Bahamas",
"begin_date": "2019-04-28",
"end_date": "2019-05-03",
"data_array": [
{
"date": "2019-04-28",
"day_number": "Day 3",
"ship_name": "Enchantment of the Seas",
"itinerary": {
"previous_day": [
"Day 2",
"Nassau,Bahamas"
],
"next_day": [
"Day 4",
"Port Canaveral,Florida"
]
},
"arrival_time": "08:00 AM",
"departure_time": "05:00 PM",
"ship_pax_do_value": 2252,
"ship_pax_t_value": 2730,
"ship_crew_value": 852,
"ship_suites_value": 94,
"ship_balcony_value": 154,
"ship_outside_value": 431,
"ship_inside_value": 463
},
.
.
.
]
}

API variables description

■ port_name (string): The name of the port of call.
■ begin_date (date): Begin date of the selected date range. Date format: Y-m-d.
■ end_date (date): End date of the selected date range. Date format: Y-m-d.
■ data_array (array): The array of data for each date from the selected date interval.
    ■ date (date): The date when the cruise ship is in the port. Date format: Y-m-d.
    ■ day_number (string): The number of the day (in the itinerary) when the cruise ship is in the port.
    ■ ship_name (string): The cruise ship name.
    ■ itinerary (array): The array of data about the previous and the next day in the itinerary. If data is unavailable, the array will be empty.
        ■ previous_day (array): The array of data about the previous day in the itinerary. If there is no previous day in the itinerary, this array won`t be printed.
            ■ 0 (string): The number of the previous day in the itinerary.
            ■ 1 (string): The name of the port of the previous day in the itinerary. Or "at sea".
        ■ next_day (array): The array of data about the next day in the itinerary. If there is no next day in the itinerary, this array won`t be printed.
            ■ 0 (string): The number of the next day in the itinerary.
            ■ 1 (string): The name of the port of the next day in the itinerary. Or "at sea".
    ■ arrival_time (string): Arrival time of the cruise ship (* might be subject to change). If data is unavailable, the variable will be empty.
    ■ departure_time (string): Departure time of the cruise ship (* might be subject to change). If data is unavailable, the variable will be empty.
    ■ ship_pax_do_value (integer): Passengers (Double Occupancy). This number* is based on the assumption that each cabin has two people in it.
    ■ ship_pax_t_value (integer): Passengers (Total)*. Usually, the cruise ship could host more passengers than double occupancy. It happens because some cabins could accommodate more than two people (for example, a family with two children (four people) could travel in one cabin). Usually, this number is 20%-40% more than Pax (DO). Note: some ships have only double occupancy value.
    ■ ship_crew_value (integer): The approximate number* of crew members on the cruise ship.
    ■ ship_suites_value (integer): The quantity of suites on the cruise ship.
    ■ ship_balcony_value (integer): The quantity of balcony cabins on the cruise ship.
    ■ ship_outside_value (integer): The quantity of outside cabins on the cruise ship.
    ■ ship_inside_value (integer): The quantity of inside cabins on the cruise ship.