{
  "openapi": "3.0.1",
  "info": {
    "title": "Carnival Cruises Scraper - Itineraries & Prices",
    "description": "Scrape Carnival Cruise Line itineraries by destination, departure port, ship, date and duration. Extract day-by-day schedules, every sailing date and the full stateroom price grid (Interior, Ocean View, Balcony, Suite). Export to JSON, CSV or Excel.",
    "version": "1.0",
    "x-build-id": "vObsKzf3JU96W9Vpr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vulnv~carnival-cruises-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vulnv-carnival-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~carnival-cruises-scraper/runs": {
      "post": {
        "operationId": "runs-sync-vulnv-carnival-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~carnival-cruises-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-vulnv-carnival-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": [
                "C",
                "BH",
                "M",
                "A",
                "E",
                "BM",
                "NN",
                "H",
                "T",
                "S",
                "ET",
                "TP",
                "X",
                "U",
                "NZ",
                "O",
                "GC",
                "CBK",
                "RTB",
                "HMD"
              ],
              "enumTitles": [
                "Caribbean",
                "The Bahamas",
                "Mexico",
                "Alaska",
                "Europe",
                "Bermuda",
                "Canada & New England",
                "Hawaii",
                "Panama Canal",
                "South America",
                "Transatlantic",
                "Transpacific",
                "Asia",
                "Australia",
                "New Zealand",
                "South Pacific",
                "Greenland & Canada",
                "Celebration Key",
                "Isla Tropicale, Roatan",
                "RelaxAway, Half Moon Cay"
              ]
            }
          },
          "ships": {
            "title": "Ships",
            "type": "array",
            "description": "Filter by Carnival ship. Leave empty for all ships.",
            "items": {
              "type": "string",
              "enum": [
                "MD",
                "CB",
                "JB",
                "VS",
                "PO",
                "HZ",
                "MC",
                "PR",
                "RD",
                "FD",
                "VA",
                "GL",
                "LI",
                "SL",
                "DR",
                "BR",
                "SN",
                "SH",
                "VX",
                "FN",
                "LM",
                "MI",
                "LE",
                "SP",
                "EL",
                "PA",
                "AQ",
                "EQ",
                "CQ",
                "FT"
              ],
              "enumTitles": [
                "Mardi Gras",
                "Carnival Celebration",
                "Carnival Jubilee",
                "Carnival Vista",
                "Carnival Panorama",
                "Carnival Horizon",
                "Carnival Magic",
                "Carnival Pride",
                "Carnival Radiance",
                "Carnival Freedom",
                "Carnival Valor",
                "Carnival Glory",
                "Carnival Liberty",
                "Carnival Splendor",
                "Carnival Dream",
                "Carnival Breeze",
                "Carnival Sunrise",
                "Carnival Sunshine",
                "Carnival Venezia",
                "Carnival Firenze",
                "Carnival Luminosa",
                "Carnival Miracle",
                "Carnival Legend",
                "Carnival Spirit",
                "Carnival Elation",
                "Carnival Paradise",
                "Carnival Adventure",
                "Carnival Encounter",
                "Carnival Conquest",
                "Carnival Festivale"
              ]
            }
          },
          "departurePorts": {
            "title": "Departure ports",
            "type": "array",
            "description": "Filter by embarkation port. Leave empty for all ports.",
            "items": {
              "type": "string",
              "enum": [
                "MIA",
                "PCV",
                "GAL",
                "TPA",
                "MSY",
                "JAX",
                "MOB",
                "NYC",
                "BWI",
                "ORF",
                "LAX",
                "SFO",
                "SEA",
                "BCN",
                "CIV",
                "LIS",
                "LON",
                "SIN",
                "HKG",
                "SYD",
                "MEL",
                "BNE",
                "ADL",
                "AKL",
                "SAI"
              ],
              "enumTitles": [
                "Miami, FL",
                "Port Canaveral (Orlando), FL",
                "Galveston, TX",
                "Tampa, FL",
                "New Orleans, LA",
                "Jacksonville, FL",
                "Mobile, AL",
                "Manhattan, New York City, NY",
                "Baltimore, MD",
                "Norfolk, VA",
                "Los Angeles, CA",
                "San Francisco, CA",
                "Seattle, WA",
                "Barcelona, Spain",
                "Civitavecchia (Rome), Italy",
                "Lisbon, Portugal",
                "London, England",
                "Singapore",
                "Hong Kong",
                "Sydney, Australia",
                "Melbourne, Australia",
                "Brisbane, Australia",
                "Adelaide, Australia",
                "Auckland, New Zealand",
                "San Antonio (Santiago), Chile"
              ]
            }
          },
          "minNights": {
            "title": "Minimum nights",
            "minimum": 2,
            "maximum": 23,
            "type": "integer",
            "description": "Only include cruises with at least this many nights."
          },
          "maxNights": {
            "title": "Maximum nights",
            "minimum": 2,
            "maximum": 23,
            "type": "integer",
            "description": "Only include cruises with at most this many nights."
          },
          "departureDateFrom": {
            "title": "Departure date from",
            "type": "string",
            "description": "Only include cruises departing on or after this date (YYYY-MM-DD). Carnival filters by month."
          },
          "departureDateTo": {
            "title": "Departure date to",
            "type": "string",
            "description": "Only include cruises departing on or before this date (YYYY-MM-DD). Carnival filters by month."
          },
          "specials": {
            "title": "Special collections",
            "type": "array",
            "description": "Filter by a curated Carnival collection.",
            "items": {
              "type": "string",
              "enum": [
                "J",
                "CARNAVAL",
                "CARNIVAL55",
                "ECLIPSE"
              ],
              "enumTitles": [
                "Carnival Journeys",
                "Caribbean Carnaval",
                "Carnival's 55th Birthday",
                "Solar Eclipse Cruising"
              ]
            }
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 1,
            "type": "integer",
            "description": "Only include cruises with a lead price at or below this value (per person, in the chosen currency)."
          },
          "numAdults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Number of adults the prices are calculated for.",
            "default": 2
          },
          "military": {
            "title": "Military rates",
            "type": "boolean",
            "description": "Apply military rates where available.",
            "default": false
          },
          "senior": {
            "title": "Senior rates",
            "type": "boolean",
            "description": "Apply senior (55+) rates where available.",
            "default": false
          },
          "pastGuest": {
            "title": "Past guest (VIFP) rates",
            "type": "boolean",
            "description": "Apply past-guest (VIFP) rates where available.",
            "default": false
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "fromprice",
              "recommended"
            ],
            "type": "string",
            "description": "Order the results returned by the Carnival search.",
            "default": "fromprice"
          },
          "includeSailings": {
            "title": "Include full sailing & schedule details",
            "type": "boolean",
            "description": "Embed the lead sailing's day-by-day schedule 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 itineraries to store.",
            "default": 100
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Pricing currency, e.g. USD, GBP, AUD, CAD, EUR.",
            "default": "USD"
          },
          "locality": {
            "title": "Locality",
            "type": "string",
            "description": "Carnival market locality code (1 = US). Advanced; usually leave as default.",
            "default": "1"
          },
          "baseUrl": {
            "title": "Base URL",
            "type": "string",
            "description": "Storefront base URL.",
            "default": "https://www.carnival.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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}