{
  "openapi": "3.0.1",
  "info": {
    "title": "Royal Caribbean Cruise Pricing Scraper",
    "description": "🚢 Extract Royal Caribbean sailings, itineraries, ships, ports, live cabin prices, taxes, and direct booking links for fare alerts and travel analysis.",
    "version": "0.1",
    "x-build-id": "O70SMjyknIk7WGcpA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation-lab~royal-caribbean-cruise-pricing-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation-lab-royal-caribbean-cruise-pricing-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/automation-lab~royal-caribbean-cruise-pricing-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation-lab-royal-caribbean-cruise-pricing-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/automation-lab~royal-caribbean-cruise-pricing-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation-lab-royal-caribbean-cruise-pricing-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": {
          "destinationCodes": {
            "title": "🌎 Destinations",
            "type": "array",
            "description": "Select common Royal Caribbean destination codes or enter another current source code. Leave empty for all destinations.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "ALCAN",
                "AUSTL",
                "BAHAM",
                "BERMU",
                "CARIB",
                "EURO",
                "HAWAI",
                "MEXCO"
              ],
              "enumTitles": [
                "Alaska (ALCAN)",
                "Australia & New Zealand (AUSTL)",
                "Bahamas (BAHAM)",
                "Bermuda (BERMU)",
                "Caribbean (CARIB)",
                "Europe (EURO)",
                "Hawaii (HAWAI)",
                "Mexico (MEXCO)"
              ]
            }
          },
          "departurePortCodes": {
            "title": "⚓ Departure ports",
            "type": "array",
            "description": "Select common Royal Caribbean departure-port codes or enter another current source code.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "BCN",
                "FLL",
                "GAL",
                "LAX",
                "MIA",
                "PCN",
                "SEA",
                "STH",
                "SYD",
                "YVR"
              ],
              "enumTitles": [
                "Barcelona (BCN)",
                "Fort Lauderdale (FLL)",
                "Galveston (GAL)",
                "Los Angeles (LAX)",
                "Miami (MIA)",
                "Orlando / Port Canaveral (PCN)",
                "Seattle (SEA)",
                "Southampton (STH)",
                "Sydney (SYD)",
                "Vancouver (YVR)"
              ]
            }
          },
          "shipCodes": {
            "title": "🚢 Ships",
            "type": "array",
            "description": "Select Royal Caribbean ships by readable name or enter another current source code.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "AD",
                "AL",
                "AN",
                "BR",
                "EN",
                "EX",
                "FR",
                "GR",
                "HM",
                "IC",
                "ID",
                "JW",
                "LB",
                "MA",
                "NV",
                "OA",
                "OY",
                "OV",
                "QN",
                "RD",
                "RH",
                "SC",
                "SR",
                "ST",
                "SY",
                "UT",
                "VI",
                "VY",
                "WN"
              ],
              "enumTitles": [
                "Adventure of the Seas (AD)",
                "Allure of the Seas (AL)",
                "Anthem of the Seas (AN)",
                "Brilliance of the Seas (BR)",
                "Enchantment of the Seas (EN)",
                "Explorer of the Seas (EX)",
                "Freedom of the Seas (FR)",
                "Grandeur of the Seas (GR)",
                "Harmony of the Seas (HM)",
                "Icon of the Seas (IC)",
                "Independence of the Seas (ID)",
                "Jewel of the Seas (JW)",
                "Liberty of the Seas (LB)",
                "Mariner of the Seas (MA)",
                "Navigator of the Seas (NV)",
                "Oasis of the Seas (OA)",
                "Odyssey of the Seas (OY)",
                "Ovation of the Seas (OV)",
                "Quantum of the Seas (QN)",
                "Radiance of the Seas (RD)",
                "Rhapsody of the Seas (RH)",
                "Spectrum of the Seas (SC)",
                "Serenade of the Seas (SR)",
                "Star of the Seas (ST)",
                "Symphony of the Seas (SY)",
                "Utopia of the Seas (UT)",
                "Vision of the Seas (VI)",
                "Voyager of the Seas (VY)",
                "Wonder of the Seas (WN)"
              ]
            }
          },
          "startDate": {
            "title": "Earliest sailing date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Include sailings on or after this valid calendar date."
          },
          "endDate": {
            "title": "Latest sailing date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Include sailings on or before this valid calendar date."
          },
          "minNights": {
            "title": "Minimum nights",
            "minimum": 2,
            "maximum": 25,
            "type": "integer",
            "description": "Minimum cruise duration supported by the source."
          },
          "maxNights": {
            "title": "Maximum nights",
            "minimum": 2,
            "maximum": 25,
            "type": "integer",
            "description": "Maximum cruise duration supported by the source."
          },
          "maxItems": {
            "title": "Maximum sailings",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after saving this many individual sailing records.",
            "default": 25
          },
          "pageSize": {
            "title": "Cruise groups per request",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Number of grouped itineraries requested per source page. Lower this if the endpoint is unstable.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional Apify proxy fallback. Direct HTTP is used by default and is normally sufficient."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}