{
  "openapi": "3.0.1",
  "info": {
    "title": "Celebrity Cruises Scraper - Itineraries & Prices",
    "description": "Scrape Celebrity Cruises itineraries by destination, departure port, ship, date and duration. Extract day-by-day ports of call, every sailing date and the full stateroom price grid (Inside, Veranda, Concierge, AquaClass, Retreat). Export to JSON, CSV or Excel.",
    "version": "1.0",
    "x-build-id": "3Cul9zmsaAn8ngAX9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vulnv~celebrity-cruises-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vulnv-celebrity-cruises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/vulnv~celebrity-cruises-scraper/runs": {
      "post": {
        "operationId": "runs-sync-vulnv-celebrity-cruises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/vulnv~celebrity-cruises-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-vulnv-celebrity-cruises-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "destinations": {
            "title": "Destinations",
            "type": "array",
            "description": "Filter by destination region. Leave empty for all destinations.",
            "items": {
              "type": "string",
              "enum": [
                "ALCAN",
                "FAR.E",
                "AUSTL",
                "BAHAM",
                "BERMU",
                "ATLCO",
                "CARIB",
                "EUROP",
                "GALAP",
                "HAWAI",
                "PACIF",
                "T.PAN",
                "ISLAN",
                "SAMER",
                "T.ATL",
                "TPACI"
              ],
              "enumTitles": [
                "Alaska",
                "Asia",
                "Australia & New Zealand",
                "Bahamas",
                "Bermuda",
                "Canada",
                "Caribbean",
                "Europe",
                "Galapagos",
                "Hawaii",
                "Pacific Coastal",
                "Panama Canal",
                "Repositioning",
                "South America",
                "Transatlantic",
                "Transpacific"
              ]
            }
          },
          "ships": {
            "title": "Ships",
            "type": "array",
            "description": "Filter by Celebrity ship. Leave empty for all ships.",
            "items": {
              "type": "string",
              "enum": [
                "XC",
                "AT",
                "BY",
                "AX",
                "EG",
                "FL",
                "EC",
                "EQ",
                "SL",
                "SI",
                "RF",
                "CS",
                "IN",
                "SM",
                "ML",
                "RC",
                "RS",
                "RW",
                "RR",
                "RB"
              ],
              "enumTitles": [
                "Celebrity Xcel",
                "Celebrity Ascent",
                "Celebrity Beyond",
                "Celebrity Apex",
                "Celebrity Edge",
                "Celebrity Flora",
                "Celebrity Eclipse",
                "Celebrity Equinox",
                "Celebrity Solstice",
                "Celebrity Silhouette",
                "Celebrity Reflection",
                "Celebrity Constellation",
                "Celebrity Infinity",
                "Celebrity Summit",
                "Celebrity Millennium",
                "Celebrity Compass",
                "Celebrity Seeker",
                "Celebrity Wanderer",
                "Celebrity Roamer",
                "Celebrity Boundless"
              ]
            }
          },
          "departurePorts": {
            "title": "Departure ports",
            "type": "array",
            "description": "Filter by embarkation port. Leave empty for all ports.",
            "items": {
              "type": "string",
              "enum": [
                "FLL",
                "MIA",
                "PCN",
                "TPA",
                "BYE",
                "BOS",
                "SJU",
                "LAX",
                "SEA",
                "SWD",
                "YVR",
                "HNL",
                "STH",
                "BCN",
                "ROM",
                "ATH",
                "AMS",
                "REK",
                "SYD",
                "AKL",
                "SIN",
                "HKG",
                "NRT",
                "YOK",
                "ICN",
                "BOA",
                "EZE",
                "BAL"
              ],
              "enumTitles": [
                "Fort Lauderdale, Florida",
                "Miami, Florida",
                "Orlando (Port Canaveral), Florida",
                "Tampa, Florida",
                "Cape Liberty, New Jersey",
                "Boston, Massachusetts",
                "San Juan, Puerto Rico",
                "Los Angeles, California",
                "Seattle, Washington",
                "Seward, Alaska",
                "Vancouver, British Columbia",
                "Honolulu (Oahu), Hawaii",
                "Southampton, England",
                "Barcelona, Spain",
                "Rome (Civitavecchia), Italy",
                "Athens (Piraeus), Greece",
                "Amsterdam, Netherlands",
                "Reykjavik, Iceland",
                "Sydney, Australia",
                "Auckland, New Zealand",
                "Singapore",
                "Hong Kong, China",
                "Tokyo, Japan",
                "Tokyo (Yokohama), Japan",
                "Seoul (Incheon), South Korea",
                "Benoa (Bali), Indonesia",
                "Buenos Aires, Argentina",
                "Baltra Island, Galapagos"
              ]
            }
          },
          "portsOfCall": {
            "title": "Ports of call",
            "type": "array",
            "description": "Only keep cruises that visit these ports (port codes). Different from departure ports - these can be any stop on the itinerary.",
            "items": {
              "type": "string"
            }
          },
          "minNights": {
            "title": "Minimum nights",
            "minimum": 1,
            "type": "integer",
            "description": "Only include cruises with at least this many nights."
          },
          "maxNights": {
            "title": "Maximum nights",
            "minimum": 1,
            "type": "integer",
            "description": "Only include cruises with at most this many nights."
          },
          "departureDateFrom": {
            "title": "Departure date from",
            "type": "string",
            "description": "Only include cruises with a sailing departing on or after this date (YYYY-MM-DD)."
          },
          "departureDateTo": {
            "title": "Departure date to",
            "type": "string",
            "description": "Only include cruises with a sailing departing on or before this date (YYYY-MM-DD)."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 1,
            "type": "integer",
            "description": "Only include cruises with an available stateroom at or below this price (lowest cabin price, in the market currency)."
          },
          "accessible": {
            "title": "Accessible staterooms only",
            "type": "boolean",
            "description": "Only include cruises that have accessible staterooms available.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "RECOMMENDED",
              "PRICE_LOW_TO_HIGH",
              "PRICE_HIGH_TO_LOW",
              "SAIL_DATE",
              "DURATION_LOW_TO_HIGH",
              "DURATION_HIGH_TO_LOW"
            ],
            "type": "string",
            "description": "Order the results returned by the Celebrity search.",
            "default": "RECOMMENDED"
          },
          "custom": {
            "title": "Special collections",
            "type": "array",
            "description": "Filter by a curated Celebrity collection.",
            "items": {
              "type": "string",
              "enum": [
                "sth",
                "Alaska",
                "Caribbean",
                "Mediterranean",
                "NEurope",
                "medsummercruises",
                "wintercruises",
                "xceleurope",
                "ChristmasCruises",
                "RoyalBeachClubParadiseIsland"
              ],
              "enumTitles": [
                "Cruises from Southampton",
                "Alaska",
                "Caribbean",
                "Mediterranean",
                "Northern Europe",
                "Mediterranean Summer Cruises",
                "Mediterranean Winter Cruises",
                "Xcel Europe Cruises",
                "Christmas Cruises",
                "Royal Beach Club Paradise Island"
              ]
            }
          },
          "includeSailings": {
            "title": "Include full sailing & itinerary details",
            "type": "boolean",
            "description": "Embed the full nested itinerary (day-by-day ports) and every sailing date with its complete stateroom price grid under `cruiseDetails`. Disable for a leaner, flatter output.",
            "default": true
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of cruises to store.",
            "default": 100
          },
          "country": {
            "title": "Country / market",
            "type": "string",
            "description": "Three-letter market country code that sets the currency and pricing, e.g. GBR (GBP), USA (USD), CAN (CAD), AUS (AUD), DEU (EUR).",
            "default": "GBR"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code for the storefront, e.g. en.",
            "default": "en"
          },
          "baseUrl": {
            "title": "Base URL",
            "type": "string",
            "description": "Storefront base URL.",
            "default": "https://www.celebritycruises.com"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional proxy used for all outbound requests. Apify Proxy (datacenter) is usually sufficient.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}