Tripadvisor Place Cruise API

Our Tripadvisor Place API returns place_result with type: cruise for a cruise ship page. Along with the fields every place can have, it can contain cruise_line, overview, itineraries, decks, cabins, activities, entertainment, dining and more.


The API endpoint is https://serpapi.com/search?engine=tripadvisor_place

Head to the playground for a live and interactive demo.

API examples

Example for cruise with  place_id: 15691866

Example for cruise with  place_id: 15691866

JSON Example

{
  ...
  "place_result": {
    "type": "cruise",
    "name": "Symphony of the Seas",
    "rating": 4.0,
    "reviews": 353,
    "cruise_line": "Royal Caribbean International",
    "images": [
      "https://media-cdn.tripadvisor.com/media/photo-m/1280/16/44/6a/19/ultimate-family-suite.jpg",
      "https://media-cdn.tripadvisor.com/media/photo-m/1280/16/44/68/14/spacious-interior-cabin.jpg",
      ...
    ],
    "itineraries": [
      {
        "title": "7 NIGHT WESTERN CARIBBEAN CRUISE",
        "nights": 7,
        "destination": "Caribbean - Western",
        "departure_port": "Galveston",
        "ports": [
          {
            "day": 1,
            "name": "Galveston",
            "place_id": "55879",
            "serpapi_link": "https://serpapi.com/search.json?engine=tripadvisor_place&place_id=55879&tripadvisor_domain=www.tripadvisor.com"
          },
          {
            "day": 2,
            "name": "Cruising"
          },
          ...
        ],
        "departure_dates": [
          "2026-10-25",
          "2026-11-01",
          ...
        ],
        "deals": {
          "departure_date": "2027-01-24",
          "offers": [
            {
              "provider": "Cruises.com",
              "cabin_type": "suite",
              "price": "$3654.00",
              "extracted_price": 3654.0,
              "original_price": "$3679.00",
              "extracted_original_price": 3679.0,
              "link": "https://www.cruisecritic.com/redirect/vendor-redirect/?url=https%3A%2F%2Fwww.cruises.com%2Fsc.do%3Fd%3D01%2F24%2F2027%26d2%3D01%2F31%2F2027%26i%3D945034%26c%3D44%26v%3D1045%26utm_medium%3Dcomparison_engine%26utm_source%3Dcdot-trip_advisor%26utm_campaign%3Dta_meta_comparison_desktop%26ccdid%3D%3CDID%3E&sailing_id=2022567&vendor_id=31&url_checksum=b620e5973bd18e986b3bdad2fa84a333ec14aaea&product_name=Meta"
            },
            {
              "provider": "Cruises.com",
              "cabin_type": "balcony",
              "price": "$767.00",
              "extracted_price": 767.0,
              "original_price": "$824.00",
              "extracted_original_price": 824.0,
              "link": "https://www.cruisecritic.com/redirect/vendor-redirect/?url=https%3A%2F%2Fwww.cruises.com%2Fsc.do%3Fd%3D01%2F24%2F2027%26d2%3D01%2F31%2F2027%26i%3D945034%26c%3D44%26v%3D1045%26utm_medium%3Dcomparison_engine%26utm_source%3Dcdot-trip_advisor%26utm_campaign%3Dta_meta_comparison_desktop%26ccdid%3D%3CDID%3E&sailing_id=2022567&vendor_id=31&url_checksum=b620e5973bd18e986b3bdad2fa84a333ec14aaea&product_name=Meta"
            },
            ...
          ]
        }
      },
      ...
    ],
    ...
  }
}

Example of overview and decks

Example of overview and decks

JSON Example

{
  ...
  "place_result": {
    ...
    "overview": {
      "passengers": 5518,
      "crew": 2200,
      "passengers_to_crew_ratio": 2.51,
      "passengers_to_space_ratio": 41.3,
      "launch_year": 2018
    },
    "decks": [
      {
        "level": 3,
        "floor_plan": "https://cruise-static.tacdn.com/ships/deck-plans/6599b61f9663b8d6fb7ee1036c9f262b.png",
        "cabins": [
          {
            "name": "Interior",
            "category": "1V"
          },
          {
            "name": "Ocean View",
            "category": "2N"
          },
          ...
        ]
      },
      {
        "level": 4,
        "floor_plan": "https://cruise-static.tacdn.com/ships/deck-plans/3264e21922bbab11d58bab26cd906890.png"
      },
      ...
    ],
    ...
  }
}

Example of cabins

Example of cabins

JSON Example

{
  ...
  "place_result": {
    ...
    "cabins": [
      {
        "type": "inside",
        "min_size": 149,
        "max_size": 260,
        "connected_rooms": 128,
        "accessible_rooms": 8,
        "max_passengers": 6,
        "count": 524
      },
      {
        "type": "outside",
        "min_size": 179,
        "max_size": 271,
        "connected_rooms": 32,
        "accessible_rooms": 2,
        "max_passengers": 6,
        "count": 266
      },
      ...
    ],
    ...
  }
}

Example of activities, entertainment and dining

Example of activities, entertainment and dining

JSON Example

{
  ...
  "place_result": {
    ...
    "activities": [
      {
        "name": "CruiseCritic Meet and Mingle",
        "count": 1,
        "requires_additional_fees": false
      },
      {
        "name": "Dance Classes",
        "count": 1,
        "requires_additional_fees": false
      },
      ...
    ],
    "entertainment": [
      {
        "name": "Casino Royale",
        "count": 1,
        "requires_additional_fees": true
      },
      {
        "name": "Dazzles",
        "count": 1,
        "requires_additional_fees": false
      },
      ...
    ],
    "dining": [
      {
        "name": "Main Dining Room",
        "cuisine": "American",
        "count": 1,
        "requires_additional_fees": false
      },
      {
        "name": "Wonderland",
        "cuisine": "Avant Garde",
        "count": 1,
        "requires_additional_fees": true
      },
      ...
    ],
    ...
  }
}

Example of review_distribution and reviews_list

Example of review_distribution and reviews_list

JSON Example

{
  ...
  "place_result": {
    ...
    "review_distribution": [
      {
        "rating": "Excellent",
        "count": 180
      },
      {
        "rating": "Very Good",
        "count": 64
      },
      ...
    ],
    "reviews_list": [
      {
        "title": "Great service, new ship.",
        "snippet": "Beautiful ship, but somewhat crowded. Service was above excellent. Places we visit a lot include Crown lounge, casino, solarium bistro, and main dining room. Everything was excellent with only a few complaints. Food in the wind jammer halfway was fair. Would definitely return again.",
        "link": "https://www.tripadvisor.com/ShowUserReviews-g1-d15691866-r1081265513-Symphony_of_the_Seas-World.html",
        "rating": 5,
        "date": "2026-10-10",
        "author": {
          "username": "247stuartw",
          "link": "https://www.tripadvisor.com/Profile/247stuartw",
          "avatar": "https://media-cdn.tripadvisor.com/media/photo-o/1a/f6/e2/4a/default-avatar-2020-42.jpg",
          "contributions": 51,
          "hometown": "Texas"
        }
      },
      ...
    ],
    ...
  }
}

JSON structure overview

{
  "place_result": {
    ...
    "cruise_line": "String - Name of the cruise line (e.g., 'Royal Caribbean International').",
    "overview": {
      "passengers": "Integer - Passenger capacity.",
      "crew": "Integer - Number of crew members.",
      "passengers_to_crew_ratio": "Number - Passengers per crew member (e.g., 2.51).",
      "passengers_to_space_ratio": "Number - Gross tonnage per passenger (e.g., 41.3).",
      "launch_year": "Integer - Year the ship was launched.",
      "refurbish_year": "Integer - Year the ship was last refurbished."
    },
    "itineraries": [
      {
        "title": "String - Itinerary title (e.g., '7 NIGHT WESTERN CARIBBEAN CRUISE').",
        "nights": "Integer - Number of nights.",
        "destination": "String - Cruise destination (e.g., 'Caribbean - Western').",
        "departure_port": "String - Port of departure.",
        "ports": [
          {
            "day": "Integer - Day of the cruise.",
            "name": "String - Port name, or 'Cruising' for days at sea.",
            "place_id": "String - Place ID of the port's destination.",
            "serpapi_link": "String - SerpApi link to the port's destination."
          },
          ...
        ],
        "departure_dates": "Array - Upcoming departure dates (YYYY-MM-DD).",
        // Only when Tripadvisor returns prices
        "deals": {
          "departure_date": "String - Departure date the offers are for (YYYY-MM-DD).",
          "offers": [
            {
              "provider": "String - Name of the booking provider.",
              "cabin_type": "String - Cabin type (e.g., 'inside', 'outside', 'balcony', 'suite').",
              "price": "String - Price per person (e.g., '$672.00').",
              "extracted_price": "Number - Numeric price per person (e.g., 672.0).",
              "original_price": "String - Original price per person, when discounted.",
              "extracted_original_price": "Number - Numeric original price per person.",
              "link": "String - URL to the offer."
            },
            ...
          ]
        }
      },
      ...
    ],
    "decks": [
      {
        "level": "Integer - Deck level.",
        "name": "String - Deck name (e.g., 'Main Deck').",
        "floor_plan": "String - URL of the deck's floor plan image.",
        "cabins": [
          {
            "name": "String - Cabin name (e.g., 'Interior').",
            "category": "String - Cabin category code (e.g., '1V')."
          },
          ...
        ]
      },
      ...
    ],
    "cabins": [
      {
        "type": "String - Cabin type (e.g., 'inside', 'outside', 'balcony', 'suite').",
        "min_size": "Integer - Minimum cabin size in square feet.",
        "max_size": "Integer - Maximum cabin size in square feet.",
        "connected_rooms": "Integer - Number of connected rooms.",
        "accessible_rooms": "Integer - Number of accessible rooms.",
        "max_passengers": "Integer - Maximum passengers per cabin.",
        "count": "Integer - Number of cabins of this type."
      },
      ...
    ],
    "activities": [
      {
        "name": "String - Activity name (e.g., 'Rock Climbing Wall').",
        "count": "Integer - Number of venues on the ship.",
        "requires_additional_fees": "Boolean - Whether the activity may require additional fees."
      },
      ...
    ],
    "entertainment": [
      {
        "name": "String - Entertainment name (e.g., 'Casino Royale').",
        "count": "Integer - Number of venues on the ship.",
        "requires_additional_fees": "Boolean - Whether the entertainment may require additional fees."
      },
      ...
    ],
    "dining": [
      {
        "name": "String - Restaurant or bar name.",
        "cuisine": "String - Cuisine (e.g., 'Steakhouse').",
        "count": "Integer - Number of venues on the ship.",
        "requires_additional_fees": "Boolean - Whether dining may require additional fees."
      },
      ...
    ],
    "review_distribution": [
      {
        "rating": "String - Rating (e.g., 'Excellent').",
        "count": "Number - Number of reviews with this rating."
      },
      ...
    ]
  }
}