Boat Trader Scraper $1.3/1K💰 | Boat Listings | Dealer Data
Pricing
from $1.27 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
7
Monthly active users
2 hours ago
Last modified
Categories
Security
Limited permissionsShare
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 from America's largest boat marketplace, at $1.30 per 1,000 results, the lowest verified price for Boat Trader data.
Dealer phone numbers are an optional add-on: turn on Include contact and every unique dealer with a publicly listed phone gets a contact object, billed as a separate contact-found pay-per-event. Leave it off and contact fields stay null, so you only pay for the contacts you need.
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, website, logo, profile URL, and optional public phone numbers
- Boat inventory data for analytics — feed structured new and used boat listings into dashboards, spreadsheets, and market reports
How It Works

Looking for a Boat Trader scraper or a practical Boat Trader API alternative? Paste a search or dealer directory URL and collect boat listings with year, make, model, type, condition, price, length, location, dealer and images — plus the full dealer directory with addresses, websites, coordinates and optional public phone numbers.
Use the dataset to track prices, compare inventory by region and build dealer contact lists. Export as JSON, CSV or Excel, or pull results through the Apify API. Start with one search page, then pay from $1.30 per 1,000 results.
Scrape Boat Listings For Price Tracking
The input is a standard Apify actor input object:
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array of { url } | Yes* | https://www.boattrader.com/boats/ | Any Boat Trader browse URL. URLs containing dealer in the path (e.g. /boat-dealers/, /dealers) produce dealer records (separate dealers dataset). *Required in the schema; if omitted, the actor falls back to the default boats catalog. |
maxItems | integer | No | 10 | Maximum number of records per dataset (0 = no limit). Applies per dataset, so a run that mixes boat and dealer URLs collects up to this many of each. |
proxyConfiguration | object | No | {"useApifyProxy": false} | Standard Apify proxy field. Leave it as-is — the defaults are what the actor is tuned for. |
concurrency | integer | No | 3 | Maximum pages fetched at the same time. The actor starts at one request, ramps up to this number while pages keep coming back clean, and backs off to one whenever the site pushes back. Raise it for speed on a healthy run, lower it to save memory. |
loadImages | boolean | No | false | When false, photos/logos/fonts are not downloaded (URLs are still extracted). Set to true only if you need the binaries themselves, not just their URLs. |
includeContact | boolean | No | false | Include the dealer's publicly listed phone number and a contact object. Billed once per unique dealer that has a phone, through the contact-found event. When off, phone and contact are null. |
sort | string | No | recommended-desc | Accepted for forward compatibility; not applied by the current build. |
distance | string | No | 25mi | Accepted 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"), 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 on boat records: id, category, title, year, make, model, type (power/sail/…), boatClass, condition (new/used), price, length, listingPrice, state, city, country, zip, dealerName, dealerLogo, dealerId, images, address (listing city/state), portalLink, url. When includeContact is enabled, phone and contact are also populated from the dealer directory.
null on boat records: discountPrice (only set when a listing carries a discount), phone and contact (unless includeContact is enabled and the dealer is known), dealerRootName, plus distanceToFilteredLocation (null unless a location filter is applied). priceHidden is false unless the listing hides its price. The three price fields are null for "call for price"/POA listings.
Dealer records (in the dealers dataset) use the same fields plus website, latitude and longitude, and set title to the dealer name. Boat-specific fields (year, make, model, type, boatClass, condition, price, length, listingPrice, discountPrice) are null for dealer rows.
Dealer records (in the dealers dataset) are populated with: id, category ("dealer"), title (dealer name), dealerName, dealerId, dealerLogo, address, city, state, country, zip, website (the dealer's own site, normalized to a full URL), latitude, longitude, images, portalLink, url. phone and contact are populated only when includeContact is enabled. Year/make/model/price fields are null for dealer rows.
Across the full directory the fields that are not present for every dealer are the ones the site itself does not publish: website (~85% of dealers), dealerLogo (~96%), zip (~99%), and phone (~99% when contact is enabled). address, state and city are present for all but a handful.
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 for a larger full-catalog run:
{"startUrls": [{ "url": "https://www.boattrader.com/boats/" }],"maxItems": 1000,"concurrency": 5}
Run this to build a dealer directory with publicly listed phone numbers:
{"startUrls": [{ "url": "https://www.boattrader.com/boat-dealers/" }],"maxItems": 50,"includeContact": true}
Without includeContact, the same run returns dealer names, addresses and websites, but phone and contact are null and no contact events are billed.
Example Output
Boat listing (default dataset):
{"id": "9956499","category": "boat","title": "2026 Tidewater 302 CC Adventure","year": 2026,"make": "Tidewater","model": "302 CC Adventure","type": "power","boatClass": "power-center","condition": "new","price": 297200,"discountPrice": null,"priceHidden": false,"length": 30,"state": "MA","city": "Weymouth","country": "US","zip": "02188","distanceToFilteredLocation": null,"dealerName": "Monahan's Marine","dealerRootName": null,"dealerId": "5684","dealerLogo": "https://images.boatsgroup.com/images/1/upload/rsz_monahans-marine-logo.png","contact": null,"images": ["https://images.boattrader.com/resize/1/64/99/2026-tidewater-302-cc-adventure-power-9956499-20260721061942819-1.jpg","https://images.boatsgroup.com/images/1/upload/rsz_monahans-marine-logo.png"],"address": "Weymouth, MA","phone": null,"listingPrice": 297200,"portalLink": "https://www.boattrader.com/boat/2026-tidewater-302-cc-adventure-9956499/","url": "https://www.boattrader.com/boat/2026-tidewater-302-cc-adventure-9956499/"}
Dealer record (dealers dataset):
{"id": "425522","category": "dealer","title": "Pirie Marine and Power Sports","dealerName": "Pirie Marine and Power Sports","dealerId": "425522","dealerLogo": "https://images.boatsgroup.com/images/profiles/party425522/party425522-1706640155804.png","address": "53 Sunset Park Road, Ellsworth, ME","city": "Ellsworth","state": "ME","country": "US","zip": "04605","phone": "(207) 664-0500","contact": {"phone": "(207) 664-0500","website": "http://www.piriemarine.com"},"website": "http://www.piriemarine.com","latitude": 44.54341,"longitude": -68.419464,"images": ["https://images.boatsgroup.com/images/profiles/party425522/party425522-1706640155804.png"],"url": "https://www.boattrader.com/boats/dealer-pirie-marine-and-power-sports-425522/","portalLink": "https://www.boattrader.com/boats/dealer-pirie-marine-and-power-sports-425522/","year": null,"make": null,"model": null,"price": null,"condition": null,"listingPrice": null}
Contact Billing
Two pay-per-event charges sit on top of the base result price:
| Event | When it is charged | Recommended price |
|---|---|---|
dealer-result | Once per dealer record written to the dealers dataset | Same as the base result (e.g. $0.0013) |
contact-found | Once per unique dealer with a publicly listed phone, only when includeContact is enabled | $0.005 per dealer ($5 per 1,000 contacts) |
The contact charge is deliberately per dealer, not per listing: a boat search that returns 100 boats from 10 dealers bills at most 10 contact events, while every boat row still carries the dealer's contact details. On boat listings, the phone comes from the listing's published contact block in the same search response, so no detail page is opened; dealer-directory runs read the number from the directory record. Phone numbers are business contact data published by Boat Trader; use them in compliance with TCPA/CAN-SPAM and applicable data-protection law.
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
POSTto 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
Related Marine Market Scrapers
- YachtWorld Scraper — the world's largest yacht and boat marketplace; broker-heavy inventory on a global scale (7 users, 4 monthly — most active marine actor)
- YATCO Scraper — US yacht listings with specifications, pricing, and broker details (28 users — largest marine actor)
- Boat24 Scraper & Market Intelligence — Europe's largest boat marketplace with built-in valuation reports (14 users)
- Boat Trader Scraper (crawlerbros) — another Boat Trader scraper with per-listing dealer contact data (4 users, 5.00★)
- ApolloDuck Scraper & Market Intelligence — UK/Europe boats, barges, and narrowboats (6 users)
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 the whole directory — around 2,800 dealers — lands in the separate dealers dataset with dealer name, full address, city, state, ZIP, logo, the dealer's own website, and map coordinates. Add "includeContact": true to include each dealer's publicly listed phone number and a contact object; contacts are billed per unique dealer through the contact-found event. This is the low-cost alternative to paid boat-dealer databases (commercial products selling 8,000–40,000 dealer records at $27–$299). Because the whole directory is one list rather than a paginated search, the full crawl is a handful of requests rather than one page render per screen of results.
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.
Is scraping Boat Trader legal?
This actor reads only publicly accessible pages — it does not log in, bypass paywalls, or access restricted content. 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
| Capability | Other Boat Trader scrapers | This 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, ZIP, logo, website, coordinates) | Not offered — dealer contact only per listing | Yes — dedicated dealers dataset |
| Dealer phone add-on, billed only when found | Not offered | Yes — includeContact + contact-found event |
| Whole-catalog pagination from any start URL | Varies | Yes (3 pages concurrently, deduplicated) |
listingPrice parsed from every card | Varies | Yes — 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 dealer phone list, boat dealer phone numbers, boat dealer contact list, 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 dealer-directory 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 10 in the schema and 0 = no limit — a cost-aware agent should always set it. includeContact defaults to false; enable it only when phone numbers are needed, because each unique dealer with a phone is billed separately.
Output fields: id, category ("boat"/"dealer"), title, year, make, model, type, boatClass, condition, price, state, city, country, zip, dealerName, dealerId, dealerLogo, images, address, phone, website, contact, latitude, longitude, listingPrice, portalLink, url, plus reserved fields (discountPrice, priceHidden, length, distanceToFilteredLocation, dealerRootName). phone and contact are populated only when includeContact is true.
Behaviors an agent should know:
- Mode routing: any start URL whose path contains
dealer(for example/boat-dealers/or/dealers) is treated as the dealer directory and normalized to the canonical dealer URL; it produces dealer records in a dataset nameddealers, where the boat fields (year,make,model,price,listingPrice) arenull. Any other URL produces boat records in the default dataset. Both kinds can be in the same run — each goes to its own dataset, andmaxItemsis applied to each dataset separately. - Stop conditions: a boat run ends when
maxItemsis hit, after 2 consecutive empty pages, or when the catalog wraps; it walks numbered browse pages from your start URL. A dealer run walks the whole directory (~2,800 records, ~15 requests) and stops atmaxItemsor the end of the list. - Cost/billing: pay per result — $0.0013 per default-dataset record, plus a $0.0005 per-GB start fee. Dealer records are billed through the
dealer-resultevent, and optional contacts throughcontact-found; setmaxItemsto bound spend. - Contact add-on: set
includeContact: trueto populatephoneandcontact(phone + website) and charge once per unique dealer that has a phone. WithincludeContact: false, both fields arenulland no contact event is charged. - Pricing:
priceandlistingPriceboth carry the numeric price on boat records; both arenullfor "call for price"/POA listings.
Legal & Compliance Disclaimer
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 and 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).