Boat Trader Scraper $1.3/1K💰 | Boat Listings | Dealer Data avatar

Boat Trader Scraper $1.3/1K💰 | Boat Listings | Dealer Data

Pricing

from $1.27 / 1,000 results

Go to Apify Store
Boat Trader Scraper $1.3/1K💰 | Boat Listings | Dealer Data

Boat Trader Scraper $1.3/1K💰 | Boat Listings | Dealer Data

Scrape Boat Trader — America's largest boat marketplace — for complete new and used boat listings and the full dealer directory. Track boat prices, research used boat values, build marine market intelligence. Only $1.30 per 1,000 results.

Pricing

from $1.27 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Boat Trader Scraper — Boat Listings & Dealer Directory Data

Extract complete Boat Trader boat listings — price, year, make, model, location and dealer — plus the full dealer directory with phones, from America's largest boat marketplace, at $1.30 per 1,000 results, the lowest verified price for Boat Trader data.

Main Use Cases

  • Boat price tracking & monitoring — collect listing prices and watch the market over time with scheduled runs
  • Used boat values & valuation research — build real-time active-listing comps, the same method Boat Trader's own Price Checker uses, for fair-market pricing research
  • Marine market research — analyze inventory, makes, models, and price levels across regions and dealers
  • Boat dealer database & lead generation — extract the full Boat Trader dealer directory: dealer name, address, city, state, phone, logo, and profile URL
  • Boat inventory data for analytics — feed structured new and used boat listings into dashboards, spreadsheets, and market reports

How It Works

The actor launches a full headless Chrome browser, opens your start URLs on boattrader.com and walks the public browse pages (/boats/, /boats/page-N/) exactly like a normal visitor. It reads the listing cards on each page and pushes one structured JSON record per listing to the default dataset. Start URLs that contain /boat-dealers/ are detected automatically and their records go to a separate dealers dataset instead.

It scrapes three pages concurrently, deduplicates by listing ID, and stops when — whichever comes first — maxItems is reached, two consecutive pages return no listings, or the results wrap (the first listing of a page matches the very first listing seen). If a page returns a bot-challenge page, the actor retries once with a fresh browser session.

Scrape Boat Listings For Price Tracking

The input is a standard Apify actor input object:

FieldTypeRequiredDefaultNotes
startUrlsarray of { url }Yes*https://www.boattrader.com/boats/Any Boat Trader browse URL. URLs containing /boat-dealers/ produce dealer records (separate dealers dataset). *Required in the schema; if omitted, the actor falls back to the default boats catalog.
maxItemsintegerNo0 (no limit)Maximum number of listings to scrape across all pages. Set a value to cap cost on large catalog runs.
sortstringNorecommended-descAccepted for forward compatibility; not applied by the current build.
distancestringNo25miAccepted for forward compatibility; not applied by the current build.

Boat Listing & Dealer Data Fields

Each record in the default (boats) dataset contains:

id, category ("boat" or "dealer"), title, year, make, model, type, boatClass, condition, price, discountPrice, priceHidden, length (ft), state, city, country, zip, distanceToFilteredLocation, dealerName, dealerRootName, dealerId, dealerLogo, contact, images, address, phone, listingPrice, portalLink, url

Populated from browse pages: id, category, title, year, make, model, listingPrice (parsed from the visible price text; null for "call for price"/POA listings), state, city, country, zip, dealerName, dealerLogo, images, portalLink, url.

Reserved, currently always null/false in this build: type, boatClass, condition, price, discountPrice, priceHidden (false), length, distanceToFilteredLocation, dealerRootName, dealerId (boats), contact, address (boats), phone (boats) — the browse-card extraction does not open individual detail pages in this build. Use listingPrice for prices.

Dealer records (in the dealers dataset) are populated with: id, category ("dealer"), title (dealer name), dealerName, dealerId, dealerLogo, address, city, state, zip, phone (from the call-now link), images, url. Year/make/model/price fields are null for dealer rows.

Example Input

Run this to scrape the default boats catalog with a cost cap:

{
"startUrls": [
{ "url": "https://www.boattrader.com/boats/" }
],
"maxItems": 100
}

Run this to build a dealer directory:

{
"startUrls": [
{ "url": "https://www.boattrader.com/boat-dealers/" }
],
"maxItems": 50
}

Example Output

Boat listing (default dataset):

{
"id": "13041234",
"category": "boat",
"title": "2020 Sea Ray Sundancer 320",
"year": 2020,
"make": "Sea Ray",
"model": "Sundancer 320",
"state": "FL",
"city": "Fort Lauderdale",
"country": "US",
"zip": "33316",
"dealerName": "MarineMax",
"dealerLogo": "https://media.boattrader.com/images/dealer-logo.png",
"images": ["https://media.boattrader.com/images/photo1.jpg"],
"listingPrice": 249900,
"portalLink": "https://www.boattrader.com/boats-for-sale/boat/13041234/2020-Sea-Ray-Sundancer-320",
"url": "https://www.boattrader.com/boats-for-sale/boat/13041234/2020-Sea-Ray-Sundancer-320",
"type": null,
"boatClass": null,
"condition": null,
"price": null,
"discountPrice": null,
"priceHidden": false,
"length": null,
"distanceToFilteredLocation": null,
"dealerRootName": null,
"dealerId": null,
"contact": null,
"address": null,
"phone": null
}

Dealer record (dealers dataset):

{
"id": "987654",
"category": "dealer",
"title": "MarineMax Fort Lauderdale",
"dealerName": "MarineMax Fort Lauderdale",
"dealerId": "987654",
"dealerLogo": "https://media.boattrader.com/images/dealer-logo.png",
"address": "4550 Anglers Ave, Fort Lauderdale, FL",
"city": "Fort Lauderdale",
"state": "FL",
"phone": "+1 954-555-0134",
"images": ["https://media.boattrader.com/images/dealer-logo.png"],
"url": "https://www.boattrader.com/boat-dealers/987654/marinemax-fort-lauderdale",
"year": null,
"make": null,
"model": null,
"price": null,
"condition": null,
"listingPrice": null
}

Automate Boat Price Monitoring With Schedules And Integrations

Any Apify actor can be scheduled and piped into the rest of your stack:

  • Schedule it — run weekly for price tracking, or daily to catch price drops early
  • REST API — call it programmatically from your own app or an AI agent with a simple POST to the Apify API
  • Webhooks — get notified when each run finishes and forward the dataset to your service
  • Zapier / Make — connect Boat Trader data to Google Sheets, Slack, Airtable, or your CRM via Apify's official integrations

Boat Trader Scraper FAQ

Is there a Boat Trader official API?

No. Boat Trader does not publish a public API for listing data. The standard, documented way to get structured Boat Trader data is reading the public browse pages — which is exactly what this actor does. This actor is the Boat Trader API alternative for apps and agents that need the data programmatically.

How much is my boat worth?

The most accurate, current method is comparing real-time active listings — the same approach Boat Trader's own Boat Price Checker uses. With this actor you can collect every comparable listing (year, make, model, location, asking price) from the whole catalog and compute current market value or price-per-foot yourself. Guide-book baselines (JD Power/NADA, ABOS Marine Blue Book) are useful for older boats, but they lag the market.

How is this different from scraping YachtWorld?

Boat Trader is the largest boat marketplace in America, heavy on dealer inventory and private sellers, and it exposes the full dealer directory — a unique data source. YachtWorld (covered, for example, by the crawlerbros YachtWorld Scraper) is the world's largest yacht and boat marketplace, more broker- and yacht-focused and more global. Scrape both for a complete marine market picture.

How do I build a boat dealer database?

Run the actor on https://www.boattrader.com/boat-dealers/ and every dealer on the browse pages lands in the separate dealers dataset with dealer name, address, city, state, ZIP, phone, logo, and profile URL. This is the low-cost alternative to paid boat-dealer databases (commercial products selling 8,000–40,000 dealer records at $27–$299).

How often should I track boat prices?

Boats sit on the market far longer than cars, so weekly is a solid default for price tracking; daily is only worth it when you monitor specific fast-moving models or a particular dealer's inventory. Because runs are cheap (pay per result), a weekly catalog snapshot costs little.

This actor reads only publicly accessible pages — it does not log in, bypass paywalls, or solve CAPTCHAs. You are responsible for respecting Boat Trader's Terms of Service and robots.txt and for how you use the data.

Why Use This Scraper — Verified Comparison

CapabilityOther Boat Trader scrapersThis actor
Price per 1,000 results$2.00 (jungle_synthesizer) — $2.80 (solidcode) — $4.33 (crawlerbros) — $5.00 (lulzasaur)$1.30
Full dealer directory (name, address, phone, logo, profile URL)Not offered — dealer contact only per listingYes — dedicated dealers dataset
Whole-catalog pagination from any start URLVariesYes (3 pages concurrently, deduplicated)
listingPrice parsed from every cardVariesYes — numeric or null for POA/call-for-price
Actor start cost$0.005–$0.10 per event$0.0005 per event

SEO Keywords

boat trader scraper, boattrader scraper, boat listings scraper, scrape boat listings, boat price tracker, track boat prices, boat price monitoring, used boat values, boat valuation data, boat market data, marine market research, boat dealer list, boat dealer database, boat dealer leads, boat dealer directory, boat inventory data, boats for sale data, new and used boat listings, boat trader api, boattrader api alternative, yachtworld alternative, boat price per foot, boat depreciation data, boat market analysis

For AI Agents & LLM Apps

Purpose: returns structured Boat Trader boat listing records (catalog pages) and, for /boat-dealers/ start URLs, dealer-directory records — as JSON. Boats go to the run's default dataset; dealers go to a separate dataset named dealers.

Minimal working input:

{
"startUrls": [{ "url": "https://www.boattrader.com/boats/" }],
"maxItems": 50
}

startUrls may be omitted entirely (the actor then defaults to https://www.boattrader.com/boats/). maxItems defaults to 0 = no limit — a cost-aware agent should always set it.

Output fields: id, category ("boat"/"dealer"), title, year, make, model, state, city, country, zip, dealerName, dealerLogo, images, listingPrice, portalLink, url, plus reserved null fields (type, boatClass, condition, price, discountPrice, priceHidden: false, length, distanceToFilteredLocation, dealerRootName, dealerId, contact, address, phone — note the browse-card build does not populate the structured price; use listingPrice).

Behaviors an agent should know:

  • Mode routing: start URLs containing /boat-dealers/ switch the run to dealer-directory mode → records land in a separate dataset named dealers, and boat fields (year, make, model, price, listingPrice) come back null. Non-dealer URLs → boat records in the default dataset. Do not mix both kinds of URLs in one run if you want them in the same dataset.
  • Stop conditions: run ends when maxItems is hit, after 2 consecutive empty pages, or when the catalog wraps. It does not crawl the entire site; it walks numbered browse pages from your start URL.
  • Cost/billing: pay per result — $0.0013 per record in the default dataset, plus a $0.0005 per-GB start fee. Set maxItems to bound spend.
  • Pricing: use listingPrice (parsed numeric) — the structured price field is always null in this build.

This actor is an independent project and is not affiliated with, endorsed by, or sponsored by Boat Trader (Trader Interactive). It accesses only publicly available boattrader.com pages — no login, no CAPTCHA solving, no paid-content bypass. Users are responsible for complying with Boat Trader's Terms of Service and applicable data-protection laws (including GDPR/CCPA where EU/California data is involved) and for how they use the data. The dealers dataset contains business contact data (dealer names, addresses, phone numbers); do not use it for unsolicited commercial outreach in violation of applicable law (e.g. CAN-SPAM, TCPA).