# Trip.com Cruise Detail API Documentation

<p><strong>Trip.com Cruise Detail API Documentation</strong> Get one cruise sailing with the lowest price per cabin category (interior, oceanview, balcony, suite) and whether it is sold out, the day-by-day itinerary with ports, coordinates and local times, the ship and cruise line, inclusions and exclusions, booking notes and the other departures of the cruise with their lowest price. A cabin price is the lowest fare per person for that category, not a quote. Times are local and have no time zone. The text of this page stays English in every locale. If a side part is unavailable it is null and listed in partial. Typical answer time is 2 to 4 seconds. Cost: 1 credit. Unknown ids and dates that are not sailing return 404 and cost nothing.</p>

- **Documentation:** [https://scrappa.co/docs/tripcom-api/tripcom_cruises_detail](https://scrappa.co/docs/tripcom-api/tripcom_cruises_detail)
- **API group:** Trip.com API
- **Endpoint:** `GET https://scrappa.co/api/tripcom/cruises/detail`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | Cruise id from the cruises search endpoint. Example: 108662. |
| `departure_date` | string | No | Departure date YYYY-MM-DD from the search result. Without it the first departure is used. A date that is not sailing returns 404. |
| `currency` | string | No | USD, EUR, GBP, JPY or KRW. Defaults to USD. Every price in the answer uses this currency. |
| `locale` | string | No | Site language: en, en-gb, de, fr, ja, ko or zh-hk. Defaults to en. It sets the language of names and tags. Text on detail pages stays English. |

## Example response

```json
{
    "data": {
        "id": "108662",
        "days": 4,
        "name": "3-Night Southeast Asia Cruise",
        "ship": {
            "id": "1212",
            "crew": 2300,
            "line": {
                "id": "12",
                "logo": "https://images4.c-ctrip.com/example",
                "name": "Disney Cruise Line"
            },
            "name": "Disney Adventure",
            "decks": 19,
            "cabins": 2111,
            "rating": null,
            "tonnage": 208000,
            "width_m": 46.4,
            "length_m": 342,
            "description": "Guests embark ...",
            "review_count": null,
            "berlitz_score": 4,
            "passenger_capacity": 6700
        },
        "price": 365,
        "locale": "en",
        "nights": 3,
        "country": "Singapore",
        "currency": "USD",
        "sailings": [
            {
                "min_price": 551,
                "sailing_id": "524364",
                "return_date": "2026-11-19",
                "departure_date": "2026-11-16",
                "original_price": 551
            }
        ],
        "itinerary": [
            {
                "day": 1,
                "date": "2027-01-18",
                "port": {
                    "city": "Singapore",
                    "name": "Marina Bay Cruise Centre Singapore",
                    "country": "Singapore",
                    "latitude": 1.2800945,
                    "longitude": 103.85095
                },
                "type": "port",
                "arrive_at": null,
                "depart_at": "2027-01-18T17:00:00",
                "description": null,
                "boarding_ends_at": "2027-01-18T16:00:00"
            }
        ],
        "inclusions": [
            {
                "items": [
                    "Prices include cruise fare and mandatory taxes."
                ],
                "payment": "Included in price: Cruise ticket, Taxes & fees",
                "category": "Inclusions"
            }
        ],
        "sailing_id": "640193",
        "price_label": "from price per person",
        "return_date": "2027-01-21",
        "arrival_port": "Singapore",
        "booked_count": 24305,
        "booking_notes": [
            {
                "items": [
                    "Passengers under the age of 21 are considered minors."
                ],
                "title": "Booking restrictions"
            }
        ],
        "cheapest_cabin": "Guaranteed Interior Stateroom (IGT)",
        "departure_date": "2027-01-18",
        "departure_port": "Singapore",
        "cabin_categories": [
            {
                "code": "NCF",
                "name": "Interior",
                "images": [
                    "https://dimg04.c-ctrip.com/images/example.jpg"
                ],
                "sold_out": false,
                "min_price": 365,
                "description": "An economy room type without sea-facing windows or a balcony.",
                "price_label": "from price per person"
            }
        ],
        "departure_city_id": "73"
    },
    "meta": {
        "billable": true,
        "endpoint_family": "cruises_detail"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing or invalid. This response is not billable. |
| 404 | Resource Not Found | The cruise id or departure date is unknown. This response is not billable. |
| 503 | Unexpected Upstream Format | Trip.com answered with a format Scrappa does not know. This response is not billable. |
| 503 | Upstream Unavailable | Trip.com did not answer after one retry. This response is not billable. Retry later. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
