{
  "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": "g7WAGTYkbcrPjIW8G"
  },
  "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": "Off unless you turn it on. When enabled, the actor visits each yacht's detail page for the full marketing description, the complete gallery of large images, and engine and refit details. The run takes longer, but your bill is the same either way: you pay per result, not for how long a run takes. Leave it off to return only the search-card data."
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Per-run hard cap on rows across all queries and URLs combined. Leave it alone and you get 250 — raise it for a bigger pull, lower it to run a cheap test, or set 0 for no cap (be careful: the full YATCO catalog is 6000+ listings). You are charged for what you get: the run stops at exactly this many rows, or sooner if the search has fewer matches."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}