Yatco Yacht Scraper
Pricing
from $3.00 / 1,000 results
Yatco Yacht Scraper
[π° $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.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
YATCO Yachts Scraper β Yacht Listings, Specs, Brokers, Prices
Extract every yacht for sale on YATCO with full specs, prices, locations, builders, brokers, and gallery images. Built for yacht brokers, marine intelligence teams, market analysts, and lead-gen pros who need clean, structured listing data β not screenshots.
Why This Scraper?
- The whole YATCO For-Sale catalog β 6,000+ live listings, narrowed by 7 yacht types, 30 country filters, and any combination of builder, length band, price band, year range, and new-vs-used condition.
- A naval-architecture spec block, not just a listing card β gross tonnage, maximum draft in both feet and meters, beam in meters, sleeping capacity, and YATCO's own category and sub-category labels ride along with the listing card.
- Days on market on 95% of rows β the one field that tells you which listings are going stale, and the one most yacht exports drop. Sort descending to surface hulls ripe for a price cut.
- Native prices kept, not just converted β the original amount and its currency code (EUR dominates the European fleet) sit next to the USD figure you sort on, alongside YATCO's own display string.
- Paste a YATCO search link and go β type, brand, condition, length band, and country path segments are read straight out of the URL, and your structured filters layer on top of them.
- Full-size galleries and the long-form write-up β switch on detail enrichment and each yacht picks up its complete large-image gallery and the full marketing description from its own listing page.
- An honest coverage report at the end of every run β YATCO keeps sold and withdrawn yachts in its search index, so roughly a third to a half of listings still have a live page. The closing summary tells you exactly how many were enriched, how many are gone, and how many were something else.
- The result cap is exact, never rounded up β ask for 40 rows and the run stops at 40, not at the end of a 250-listing page, so you are never billed for an overshoot.
- Listing broker and brokerage named on every row β both landed on 588 of 588 rows in our latest checks, so you can segment inventory by the house that holds it or track which brokerages are winning central agency listings.
Use Cases
Market Research & Pricing Intelligence
- Track average asking prices by builder, length class, or country.
- Spot inventory gluts in segments where supply is climbing faster than demand.
- Benchmark a new build against comparable used hulls in the same length and year band.
- Use days on market to measure how long each segment is sitting.
Brokerage Intelligence & Competitor Monitoring
- Monitor which brokerages are listing the most yachts, and where.
- Track which builders dominate a brokerage's book.
- Get notified when a competitor brokerage adds a high-value listing.
Lead Generation
- Build broker and brokerage lists segmented by region and yacht type.
- Pull every Sunseeker, Princess, Ferretti, or Azimut listing into your CRM weekly.
- Identify brokerages with thin inventory in growth markets.
Inventory & Listing Sync
- Keep your own listing site or marine marketplace in sync with YATCO daily.
- Power a buyer-alert email from a fresh dataset of new arrivals matching saved criteria.
- Feed product feeds for partner sites and yacht aggregator services.
Investor Due Diligence
- Quantify total addressable inventory in a target country or yacht class.
- Snapshot the global mega-yacht and superyacht market for fund or M&A research.
- Validate broker-supplied market sizing claims against live listings.
Getting Started
All yachts for sale (defaults)
The simplest possible run. Returns 50 listings with the core search-card fields.
{"maxResults": 50}
Sunseeker motor yachts in the United States
Combine a builder, a yacht type, a length range, and a country filter.
{"yachtTypes": ["motor"],"builders": ["Sunseeker"],"country": "us","lengthMinFt": 60,"lengthMaxFt": 150,"maxResults": 200}
Free-text searches
Same syntax you would type into YATCO's search bar. Each query runs on its own and respects the filters you set.
{"searchQueries": ["Azimut 80", "Lagoon catamaran", "Princess Y85"],"yearMin": 2018,"maxResults": 150}
Paste YATCO URLs and pull full detail pages
The actor reads the filters out of each URL path, then adds the long description and the full gallery for every yacht whose listing page is still live.
{"searchUrls": ["https://www.yatco.com/yachts-for-sale/type-motor/brand-sunseeker/","https://www.yatco.com/yachts-for-sale/condition-new/length-80-150/"],"includeDetails": true,"maxResults": 300}
Input Reference
What to scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | string[] | [] | 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. |
searchQueries | string[] | [] | Free-text searches such as "Sunseeker", "Azimut 80", or "Lagoon catamaran". Each query runs independently and respects the filters below. |
yachtCategory | string | "sale" | Which YATCO catalog to search. Options: For Sale, For Charter (not supported in v1), New Build (not supported in v1). Only For Sale is supported in v1 β charter and new-build fall through to the For-Sale catalog with a warning. Ignored for YATCO URLs (the URL already specifies the catalog). |
Filters
All filters are optional β leave blank for no filter. These apply to Search Queries only; YATCO URLs use whatever filters are already in the URL.
| Parameter | Type | Default | Description |
|---|---|---|---|
yachtTypes | string[] | [] | Only include yachts of these types. Options: Motor Yacht, Sailing Yacht, Catamaran, Sport Fisherman, Mega Yacht / Superyacht, Expedition / Explorer, Center Console. Leave empty for all types. |
condition | string | "any" | Filter by new vs used vessels. Options: Any condition, New only, Used only. |
lengthMinFt | integer | Only include yachts at or above this length in feet. Leave empty for no minimum. | |
lengthMaxFt | integer | Only include yachts at or below this length in feet. Leave empty for no maximum. | |
priceMinUsd | integer | Only include listings at or above this price (USD). Leave empty for no minimum. | |
priceMaxUsd | integer | Only include listings at or below this price (USD). Leave empty for no maximum. | |
yearMin | integer | Earliest build year. Leave empty for no minimum. | |
yearMax | integer | Latest build year. Leave empty for no maximum. | |
builders | string[] | [] | Only include yachts from these builders (e.g. "Sunseeker", "Azimut", "Ferretti"). Leave empty for all builders. |
country | string | Filter listings to a specific country. Options: United States, Canada, Mexico, United Kingdom, France, Italy, Spain, Greece, Turkey, Germany, Netherlands, Portugal, Croatia, Malta, United Arab Emirates, Australia, New Zealand, Thailand, Singapore, Japan, Brazil, Monaco, The Bahamas, China, Cyprus, Montenegro, Taiwan, Saint Martin, Panama, Antigua And Barbuda. For any other country, paste a YATCO URL with /country-<slug>/. Leave empty for worldwide results. |
Output
| Parameter | Type | Default | Description |
|---|---|---|---|
includeDetails | boolean | false | When enabled, the actor visits each yacht's own listing page for the full marketing description and the complete gallery of large images. Adds about 0.2 seconds per yacht. Roughly a third to a half of YATCO's listings still have a live page β see Tips below. Leave it off to return only the search-card data. |
maxResults | integer | 250 | Per-run hard cap on rows across all queries and URLs combined. Default 250 β raise it for a bigger pull, or set 0 for no cap (be careful: the full YATCO For-Sale catalog is 6,000+ listings). The run stops at exactly this many rows, so you are only charged for what you asked for. |
Output
Each row is one yacht listing.
{"recordType": "yacht_listing","id": "1234567","name": "Serenity","url": "https://www.yatco.com/yacht/120-sunseeker-motor-yacht-2021-1234567/","category": "sale","vesselType": "Motor Yacht","builder": "Sunseeker","model": "120 Yacht","yearBuilt": 2021,"condition": "used","lengthFt": 120.0,"lengthM": 36.58,"beamFt": 25.5,"cabins": 5,"hullMaterial": "Fiberglass","priceUsd": 12500000,"priceRaw": { "amount": 11500000, "currency": "EUR" },"priceText": "β¬11,500,000","locationCity": "Fort Lauderdale","locationRegion": "Florida","locationCountry": "United States","image": "https://cloud.yatco.com/ForSale/Vessel/Photo/1234567/medium_1.webp","images": ["https://cloud.yatco.com/ForSale/Vessel/Photo/1234567/large_1.webp","https://cloud.yatco.com/ForSale/Vessel/Photo/1234567/large_2.webp"],"description": "Stunning tri-deck Sunseeker 120 in turn-key condition...","specs": {"grossTonnage": 220,"draftMaxFeet": 7.2,"draftMaxMeters": 2.19,"beamMeters": 7.77,"sleeps": 12,"subCategory": "Tri Deck","mainCategory": "Motor Yacht","vesselTypeText": "Motor","daysOnMarket": 142},"brokerName": "Jane Doe","brokerage": "Acme Yacht Sales","scrapedAt": "2026-04-25T14:32:00+00:00","sourceInput": "https://www.yatco.com/yachts-for-sale/type-motor/brand-sunseeker/"}
Core Fields
| Field | Type | Description |
|---|---|---|
recordType | string | Discriminator β always "yacht_listing" for this actor. |
id | string | YATCO vessel ID (stable identifier). |
name | string | Yacht name. |
url | string | Canonical YATCO detail-page URL. |
category | string | Listing category β currently always "sale". |
vesselType | string | Best yacht-type label (e.g. "Motor Yacht", "Sailing Yacht", "Catamaran"). |
builder | string | Builder / manufacturer name (title-cased, e.g. "Sunseeker"). |
model | string | Model name (e.g. "120 Yacht"), when YATCO publishes one separately from the yacht's name. |
yearBuilt | number | Build year. |
condition | string | "new" or "used". |
Dimensions & Build
| Field | Type | Description |
|---|---|---|
lengthFt | number | Length overall in feet. |
lengthM | number | Length overall in meters. |
beamFt | number | Beam in feet. |
cabins | number | Number of staterooms. |
hullMaterial | string | Hull material (e.g. "Fiberglass", "Aluminum", "Steel"). |
Pricing
| Field | Type | Description |
|---|---|---|
priceUsd | number | Asking price normalized to USD. Empty on "Price on Request" listings. |
priceRaw | object | Native-currency price as { amount, currency } when the listing is priced in a non-USD currency. |
priceText | string | Display-formatted price as it appears on YATCO (e.g. "β¬11,500,000", "Price on Request"). |
Location & Media
| Field | Type | Description |
|---|---|---|
locationCity | string | City. |
locationRegion | string | State / region / province. |
locationCountry | string | Country. |
image | string | Primary photo URL. |
images | string[] | Full gallery β large image URLs. Populated when includeDetails=true and the yacht still has a live listing page on YATCO. |
description | string | Full marketing description from the yacht's listing page. Populated when includeDetails=true and the yacht still has a live listing page on YATCO. |
Broker & Run Metadata
| Field | Type | Description |
|---|---|---|
brokerName | string | Listing broker's display name. |
brokerage | string | Listing brokerage / company name. |
scrapedAt | string | UTC ISO-8601 timestamp when this row was collected. |
sourceInput | string | The query, URL, or filter set that produced this row β useful when running multiple jobs in one run. |
Inside specs
Each key is omitted when YATCO does not publish that measurement for the yacht. The percentages are how often the key arrived populated across our latest 588-row sample.
| Field | Type | Description |
|---|---|---|
vesselTypeText | string | YATCO's own short vessel-type label. Present on 100% of rows. |
mainCategory | string | YATCO main category. Present on 99.7% of rows. |
beamMeters | number | Beam in meters. Present on 96% of rows. |
daysOnMarket | number | Days the listing has been on the market. Present on 95% of rows. |
draftMaxFeet | number | Maximum draft in feet. Present on 84% of rows. |
draftMaxMeters | number | Maximum draft in meters. Present on 84% of rows. |
grossTonnage | number | Gross tonnage. Present on 83% of rows. |
sleeps | number | Total sleeping capacity. Present on 76% of rows. |
subCategory | string | YATCO sub-category (e.g. "Tri Deck", "Flybridge"). Present on 56% of rows. |
Tips for Best Results
- Turn on
includeDetailsonly when you need the long description and the full gallery. Enrichment visits one listing page per yacht, about 0.2 seconds each: a 1,000-yacht pull takes roughly 3 minutes with it on versus about 30 seconds with it off. Your bill is identical either way, since you pay per result and not for how long a run takes. If the search-card data is enough (builder, model, year, length, USD price, location, broker name, primary image), leave it off. - Expect a third to a half of yachts to have a live listing page. YATCO keeps sold and withdrawn yachts in its search index long after their individual pages come down, so enrichment cannot fill them in. In our latest checks, 331 of 1,000 motor yachts and 40 of 88 expedition yachts came back with a description and gallery; the rest shipped the search-card fields with
descriptionandimagesempty. The end-of-run summary gives you the exact split for your own run. - Combine a URL paste with structured filters. Paste a YATCO URL for the broad scope β
/yachts-for-sale/type-motor/,/condition-new/,/brand-azimut/,/length-60-100/,/country-united-states/, or any combination of those path segments β then uselengthMinFt,priceMaxUsd, orcountryto narrow it further. - Use builder names, not slugs. "Sunseeker", "Azimut", "Ocean Alexander" all work. Capitalization is normalized for you.
- Start small. Run with
maxResults: 50first to confirm your filter combo returns what you expect. Then raise the cap. - v1 covers yachts for sale only. The charter and new-build catalog options are accepted in the input but currently fall through to the For-Sale catalog with a warning, so plan around for-sale inventory. Charter and new-build coverage is on the roadmap.
- Scheduled runs work well here. Run weekly or daily on the Apify console to maintain a fresh inventory dataset, and pair it with a webhook to trigger downstream automation the moment new listings land.
Pricing
From $3.00 per 1,000 results β one flat rate whether you pull search-card rows or full detail pages, and nothing extra for how long the run takes. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.36 | $0.34 | $0.32 | $0.30 |
| 1,000 | $3.60 | $3.40 | $3.20 | $3.00 |
| 10,000 | $36.00 | $34.00 | $32.00 | $30.00 |
| 100,000 | $360.00 | $340.00 | $320.00 | $300.00 |
A "result" is one yacht row in your dataset. A small fixed start fee applies each time a run begins, and standard Apify platform fees apply on top.
Integrations
Export results in JSON, CSV, Excel, or XML. Connect to your stack via:
- Apify API β Full programmatic access to runs and datasets.
- Webhooks β Get notified the moment a run finishes.
- Google Sheets β Direct spreadsheet export, ideal for ad-hoc analysis.
- Zapier / Make / n8n β Pipe results into 1,000+ apps and your own workflow automations.
Legal & Ethical Use
This actor is intended for legitimate market research, brokerage intelligence, lead generation, and inventory analysis. You are responsible for complying with applicable laws, the target site's terms of service, and personal-data regulations in your jurisdiction. Do not use the extracted data for spam, harassment, fraud, or any unlawful purpose. Broker and brokerage names should only be used in compliance with anti-spam and data-protection rules that apply to you.