Discover/Royal Caribbean API
live

Royal Caribbean APIroyalcaribbean.com

Search Royal Caribbean cruises by destination, ship, and duration. Get port-by-port itineraries, sailing dates, and fare data via 3 structured endpoints.

Endpoint health
verified 23h ago
get_cruise_details
get_asia_pacific_world_cruise
search_cruises
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the Royal Caribbean API?

The Royal Caribbean API provides 3 endpoints to search cruise listings and retrieve detailed itinerary and pricing data from royalcaribbean.com. Use search_cruises to filter sailings by destination code, ship code, and voyage length, then call get_cruise_details with a package code and sail date to get the full port-by-port schedule, ship information, onboard experience details, and all available fares for that itinerary.

Try it
Ship code to filter by (e.g. 'FR' for Freedom of the Seas, 'AN' for Anthem of the Seas, 'QN' for Quantum of the Seas).
Number of results to skip for pagination.
Maximum number of results to return per page.
Number of nights to filter by. Single value (e.g. '7') or range (e.g. '5-9').
Destination code to filter by (e.g. 'CARIB' for Caribbean, 'ALASK' for Alaska, 'FAR.E' for Far East, 'SOPAC' for South Pacific, 'TPACI' for Transpacific, 'EUROP' for Europe).
api.parse.bot/scraper/9c21e4c9-f0dc-44b3-a60a-8ab7756efd77/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9c21e4c9-f0dc-44b3-a60a-8ab7756efd77/search_cruises?page=1&ship=FR&skip=0&limit=5&nights=4-5&destination=CARIB' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace royalcaribbean-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Royal Caribbean Cruise API — search cruises, get itinerary details, explore transpacific routes."""
from parse_apis.royal_caribbean_cruise_api import RoyalCaribbean, Destination, CruiseNotFound

client = RoyalCaribbean()

# Search Caribbean cruises with a duration filter
for cruise in client.cruises.search(destination=Destination.CARIBBEAN, nights="4-5", limit=5):
    print(cruise.name, cruise.ship_name, cruise.lowest_price, cruise.departure_port)

# Take the first result and drill into its full itinerary
cruise = client.cruises.search(destination=Destination.ALASKA, limit=1).first()
if cruise:
    # Parse sailing ID to get package_code and sail_date
    sailing_id = cruise.sailings[0]
    pkg, date = sailing_id.split("_", 1)
    detail = client.cruisedetails.get(package_code=pkg, sail_date=date)
    print(detail.name, detail.total_nights, detail.destination_name)
    for port in detail.chapters[:3]:
        print(port.name, port.activity)

# Typed error handling for an invalid package/date combo
try:
    client.cruisedetails.get(package_code="INVALID99", sail_date="2099-01-01")
except CruiseNotFound as exc:
    print(f"Cruise not found: {exc}")

# Explore Asia-Pacific and Transpacific cruises
for match in client.asiapacificmatches.list(limit=3):
    print(match.cruise_name, match.ship_name, match.total_nights, match.departure_port)

print("exercised: cruises.search / cruisedetails.get / asiapacificmatches.list")
All endpoints · 3 totalmissing one? ·

Search for cruises with optional filters for destination, ship, and number of nights. Returns paginated results including cruise IDs, itinerary names, ship details, lowest prices, and available sailing dates. Pagination is manual via skip/limit. Each cruise includes a list of sailing IDs that encode the package code and sail date needed for get_cruise_details (format: 'packageCode_YYYY-MM-DD').

Input
ParamTypeDescription
shipstringShip code to filter by (e.g. 'FR' for Freedom of the Seas, 'AN' for Anthem of the Seas, 'QN' for Quantum of the Seas).
skipintegerNumber of results to skip for pagination.
limitintegerMaximum number of results to return per page.
nightsstringNumber of nights to filter by. Single value (e.g. '7') or range (e.g. '5-9').
destinationstringDestination code to filter by (e.g. 'CARIB' for Caribbean, 'ALASK' for Alaska, 'FAR.E' for Far East, 'SOPAC' for South Pacific, 'TPACI' for Transpacific, 'EUROP' for Europe).
Response
{
  "type": "object",
  "fields": {
    "total": "integer, total number of matching cruises",
    "cruises": "array of cruise objects with id, name, package_code, ship_name, ship_code, departure_port, lowest_price, sailings, product_view_link"
  },
  "sample": {
    "data": {
      "total": 359,
      "cruises": [
        {
          "id": "FR05MIA-2694211651",
          "name": "Western Caribbean Cruise",
          "sailings": [
            "FR05W655_2026-08-31"
          ],
          "ship_code": "FR",
          "ship_name": "Freedom of the Seas",
          "lowest_price": 347.72,
          "package_code": "FR05W655",
          "departure_port": "Miami",
          "product_view_link": "itinerary/5-night-western-caribbean-cruise-from-miami-on-freedom-FR05W655?sailDate=2026-08-31&packageCode=FR05W655&groupId=FR05MIA-2694211651&country=USA"
        }
      ]
    },
    "status": "success"
  }
}

About the Royal Caribbean API

Searching and Filtering Cruises

The search_cruises endpoint accepts optional filters including destination (e.g. 'CARIB' for Caribbean, 'ALASK' for Alaska, 'FAR.E' for Far East), ship (e.g. 'EN' for Enchantment of the Seas, 'AN' for Anthem of the Seas), and nights (a single value like '7' or a range like '5-9'). Results are paginated via skip and limit parameters. Each cruise object in the response includes an id, a productViewLink, lowestPriceSailing with a price value, and a masterSailing containing itinerary details such as the itinerary name and code.

Cruise Itinerary Details

The get_cruise_details endpoint takes two required inputs — package_code (found in masterSailing.itinerary.code from search results) and sail_date in YYYY-MM-DD format — and returns a structured itinerary object. This includes packageCode, name, overviewDescription, totalNights, destination, ship, and chapters which represent the port-by-port schedule with individual port descriptions. The response also includes countries_visited (an array of country names derived from port addresses) and all_available_sailings with pricing data for each departure date.

Asia-Pacific and World Cruise Coverage

The get_asia_pacific_world_cruise endpoint requires no input parameters and returns all sailings across Far East, South Pacific, and Transpacific routes in a single call. Each item in the matches array contains both a cruise_info summary (equivalent to a search result) and a details object with the complete port schedule, ship details, and pricing — making it suitable for building destination-specific views or fare comparison tools without chaining multiple requests.

Reliability & maintenanceVerified

The Royal Caribbean API is a managed, monitored endpoint for royalcaribbean.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when royalcaribbean.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official royalcaribbean.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
23h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a cruise fare tracker that monitors lowestPriceSailing prices across Caribbean and Alaska routes over time.
  • Generate itinerary comparison pages using chapters (port schedule) data from get_cruise_details for multiple sailings.
  • Populate a trip-planning app with countries_visited and port descriptions for a selected package code and sail date.
  • Aggregate all Asia-Pacific and Transpacific sailing options and fares in one request using get_asia_pacific_world_cruise.
  • Filter cruises by ship code and voyage length to surface sailings that match a traveler's availability and preferred vessel.
  • Extract all_available_sailings pricing arrays to display a date-based fare calendar for a specific itinerary.
  • Support destination research tools by mapping destination codes to itinerary names, port stops, and current fares.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Royal Caribbean have an official developer API?+
Royal Caribbean does not publish a public developer API or documented API program for third-party access to cruise search, itinerary, or pricing data.
What does `get_cruise_details` return beyond basic itinerary info?+
In addition to the port-by-port chapters schedule and totalNights, the endpoint returns overviewDescription, ship details, destination, countries_visited (as a plain array of country names), and an all_available_sailings array that includes fare data for each available departure date on that itinerary. If no sailings are available, that field is null.
How does pagination work in `search_cruises`?+
The endpoint returns a total integer representing the full count of matching cruises, and a cruises array for the current page. Use the skip parameter to offset results and limit to control page size. To retrieve all results for a given filter combination, increment skip by your limit value until you have consumed total records.
Does the API cover onboard pricing, cabin categories, or availability by cabin type?+
Not currently. The API returns lowestPriceSailing fare values and all_available_sailings pricing at the sailing level, but does not break down fares by cabin category or expose individual cabin availability. You can fork this API on Parse and revise it to add an endpoint targeting cabin-level pricing if that detail is needed.
Are shore excursions or dining package data included in the response?+
Not currently. The get_cruise_details response covers port schedules, ship details, and sailing fares, but does not include shore excursion listings or onboard dining package options. You can fork this API on Parse and revise it to add coverage for those data types.
Page content last updated . Spec covers 3 endpoints from royalcaribbean.com.
Related APIs in TravelSee all →
ncl.com API
Browse Norwegian Cruise Line's fleet of ships, search available cruises by destination and sail dates, and view detailed itineraries with ports of call for any sailing. Plan your cruise vacation by comparing ship names, departure dates, and complete port schedules all in one place.
shoreexcursionsgroup.com API
Search and browse shore excursions from ports worldwide, comparing pricing, features, highlights, and customer reviews all in one place. Find the perfect activity for your cruise stop by filtering destinations and ports, then dive into detailed excursion information to plan your next adventure.
disneycruise.disney.go.com API
Browse and compare Disney Cruise Line shore excursions across all ports and destinations with detailed information on pricing, duration, age requirements, and activity descriptions. Search by location or keyword to find the perfect Port Adventure for your cruise vacation.
expedia.com API
Search for hotels and flights across Expedia while viewing detailed property information to compare prices and amenities for your travel plans. Get comprehensive travel options all from one integration without manually browsing the website.
rcdb.com API
Discover and explore roller coasters and amusement parks with detailed information including coaster specifications, park details, images, and search capabilities. Find random coasters for inspiration or quickly search for specific rides to compare features and view photos from the world's largest roller coaster database.
saga.co.uk API
Search and book holiday excursions from Saga UK with detailed information on destinations, pricing, flights, and meal options. Find the perfect getaway by browsing excursion listings and comparing trip details including cost, duration, and included activities.
travelocity.com API
Search for travel destinations and browse hotel listings on Travelocity. Compare options by location, dates, and availability to find and book accommodation.
yachtworld.com API
Search and browse thousands of boat listings on YachtWorld by make, class, type, condition, location, and price range. Retrieve detailed specifications, propulsion data, media assets, and broker contact information for any listing.