{
  "openapi": "3.0.1",
  "info": {
    "title": "Yatco Yacht Scraper",
    "description": "[💰 $3.0 / 1K] Extract yacht listings from YATCO — for-sale vessels with full specs, builder, year, length, price, location, broker name, and gallery images. Filter by type, length, price, year, builder, and country.",
    "version": "1.0",
    "x-build-id": "mfqri8xnOyrDLp42l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~yatco-yacht-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-yatco-yacht-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/solidcode~yatco-yacht-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-yatco-yacht-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/solidcode~yatco-yacht-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-yatco-yacht-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": {
          "searchUrls": {
            "title": "YATCO URLs",
            "type": "array",
            "description": "Paste one or more YATCO URLs directly. Accepts search-result pages such as https://www.yatco.com/yachts-for-sale/type-motor/. The URL's path filters (type, brand, condition, length, country) are detected and applied; the structured filters below are then layered on top as additional constraints.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search Queries",
            "type": "array",
            "description": "Free-text searches such as \"Sunseeker\", \"Azimut 80\", or \"Lagoon catamaran\". Each query runs independently and respects the filters below.",
            "items": {
              "type": "string"
            }
          },
          "yachtCategory": {
            "title": "Yacht Category",
            "enum": [
              "sale",
              "charter",
              "new-build"
            ],
            "type": "string",
            "description": "Which YATCO catalog to search. Only \"For Sale\" is supported in v1 — \"For Charter\" and \"New Build\" will fall through to the For-Sale catalog with a warning. (Charter and new-build coverage is on the roadmap.) Ignored for YATCO URLs (the URL already specifies the catalog).",
            "default": "sale"
          },
          "yachtTypes": {
            "title": "Yacht Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include yachts of these types. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "motor",
                "sailing",
                "catamaran",
                "sport-fisherman",
                "mega-yacht",
                "expedition",
                "center-console"
              ],
              "enumTitles": [
                "Motor Yacht",
                "Sailing Yacht",
                "Catamaran",
                "Sport Fisherman",
                "Mega Yacht / Superyacht",
                "Expedition / Explorer",
                "Center Console"
              ]
            },
            "default": []
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used"
            ],
            "type": "string",
            "description": "Filter by new vs used vessels.",
            "default": "any"
          },
          "lengthMinFt": {
            "title": "Minimum Length (feet)",
            "minimum": 0,
            "maximum": 800,
            "type": "integer",
            "description": "Only include yachts at or above this length. Leave empty for no minimum."
          },
          "lengthMaxFt": {
            "title": "Maximum Length (feet)",
            "minimum": 0,
            "maximum": 800,
            "type": "integer",
            "description": "Only include yachts at or below this length. Leave empty for no maximum."
          },
          "priceMinUsd": {
            "title": "Minimum Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or above this price (USD). Leave empty for no minimum."
          },
          "priceMaxUsd": {
            "title": "Maximum Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or below this price (USD). Leave empty for no maximum."
          },
          "yearMin": {
            "title": "Minimum Year",
            "minimum": 1900,
            "maximum": 2035,
            "type": "integer",
            "description": "Earliest build year. Leave empty for no minimum."
          },
          "yearMax": {
            "title": "Maximum Year",
            "minimum": 1900,
            "maximum": 2035,
            "type": "integer",
            "description": "Latest build year. Leave empty for no maximum."
          },
          "builders": {
            "title": "Builders",
            "type": "array",
            "description": "Only include yachts from these builders (e.g. \"Sunseeker\", \"Azimut\", \"Ferretti\"). Leave empty for all builders.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "ca",
              "mx",
              "gb",
              "fr",
              "it",
              "es",
              "gr",
              "tr",
              "de",
              "nl",
              "pt",
              "hr",
              "mt",
              "ae",
              "au",
              "nz",
              "th",
              "sg",
              "jp",
              "br",
              "mc",
              "bs",
              "cn",
              "cy",
              "me",
              "tw",
              "sx",
              "pa",
              "ag"
            ],
            "type": "string",
            "description": "Filter listings to a specific country. Leave empty for worldwide results. Covers the 30 most-common YATCO listing countries — for any other country, paste a YATCO URL with `/country-<slug>/` instead."
          },
          "includeDetails": {
            "title": "Include Full Detail Pages",
            "type": "boolean",
            "description": "When enabled, the actor visits each yacht's detail page for the full marketing description and the complete gallery of large images. Adds about 1–2 seconds per yacht. Disable for faster, cheaper runs that return only the search-card data.",
            "default": true
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Per-run hard cap on rows across all queries and URLs combined. Default 1000 — set to 0 for no cap (be careful: the full YATCO catalog is 6000+ listings). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}