boats APIboats.com ↗
Search boats.com listings by make, type, condition, and year. Retrieve specs, pricing, seller info, and photo galleries for any boat or yacht listing.
What is the boats API?
The boats.com API gives developers access to boat and yacht listings data across 5 endpoints, covering everything from paginated search results to full listing specs and photo galleries. Use search_boats to filter by make, condition, boat type, and year range, then pass any result URL to get_boat_details for complete specifications, seller contact information, and the full listing description.
curl -X GET 'https://api.parse.bot/scraper/99ad4dc1-13f5-486d-8294-95eea0f35502/search_boats?make=sea-ray&page=1&year_to=2023&boat_type=power&condition=used&year_from=2015' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for boat listings with filters on type, condition, manufacturer, and year range. Returns a paginated list of matching boats with summary info (title, price, year, location, image). Each page contains up to ~24 listings. Use the listing URL from results to fetch full details via get_boat_details.
| Param | Type | Description |
|---|---|---|
| make | string | Boat manufacturer/make as a lowercase slug (e.g. 'boston-whaler', 'tracker', 'sea-ray'). |
| page | integer | Page number for pagination. |
| year_to | integer | Maximum year of manufacture. |
| boat_type | string | Type of boat to filter by. |
| condition | string | Condition of the boat. |
| year_from | integer | Minimum year of manufacture. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"listings": "array of boat listing summaries with id, title, year, price, location, url, image_url",
"total_results": "integer, count of listings on current page"
},
"sample": {
"data": {
"page": 1,
"listings": [
{
"id": "10165138",
"url": "https://www.boats.com/power-boats/2005-rinker-fiesta-vee-342-10165138/",
"year": "2005",
"price": "$64,000",
"title": "Rinker Fiesta Vee 342",
"location": "St Charles, Missouri",
"image_url": "https://images.boats.com/resize/1/51/38/2005-rinker-fiesta-vee-342-power-10165138-20260428095825134-0.jpg?t=1777395505000"
}
],
"total_results": 24
},
"status": "success"
}
}About the boats API
Search and Filter Listings
The search_boats endpoint accepts filters for make (as a lowercase slug, e.g. boston-whaler), condition, boat_type, year_from, year_to, and page. Each response returns up to ~24 listing summaries per page, with fields including id, title, year, price, location, url, and image_url, plus a total_results count. The listing url returned here is the required input for the detail and photo endpoints.
Listing Details and Photo Galleries
get_boat_details takes a listing URL and returns the full record: a specs object with key-value pairs covering make, model, year, length, fuel type, and other technical attributes; a price string with currency symbol; description text; location; and seller fields seller_name and seller_location. get_boat_photos returns the complete ordered photo gallery for a listing — each photo record includes its 1-based position, a full-size url, and alt text — along with the listing_id and image_count.
Bulk Counting and Batch Retrieval
count_boats accepts a comma-separated makes list and a mandatory year range (year_from, year_to) plus a min_price_usd floor, then scans listings and returns per-make counts in counts_by_make, exclusion breakdowns (excluded_missing_price, excluded_below_min_price, excluded_year_out_of_range), and a complete flag indicating whether all pages were scanned. For workflows that need search results and photos in one call, get_boats_with_photos_batch combines filtered search with per-listing gallery retrieval, returning up to 15 listings per call (controlled by limit) each with their full photo set attached.
The boats API is a managed, monitored endpoint for boats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when boats.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official boats.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a boat price comparison tool filtering by make, year range, and condition using
search_boatsandget_boat_details - Aggregate dealer inventory by querying
count_boatsacross multiple manufacturer slugs with a minimum price threshold - Power a yacht valuation feed by extracting
specsfields (length, year, fuel type) fromget_boat_detailsresponses - Create a listing alert system that monitors new entries for a specific
makeandboat_typecombination via paginatedsearch_boatspolling - Build a listing media archive by fetching full-resolution gallery images with
get_boat_photosfor a set of listing URLs - Produce market inventory reports using
coverage_by_makeandsite_total_countfields fromcount_boats - Hydrate a search UI with thumbnails and seller locations in a single pass using
get_boats_with_photos_batch
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does boats.com have an official developer API?+
What does `get_boat_details` return beyond what `search_boats` shows?+
search_boats returns summary fields: id, title, year, price, location, url, and image_url. get_boat_details adds the full specs object (make, model, dimensions, fuel type, and other technical attributes), the complete description text, and seller contact fields seller_name and seller_location.How does pagination work in `search_boats` and does `total_results` reflect site-wide totals?+
search_boats response returns up to ~24 listings. The total_results field reflects the count of listings on the current page, not the site-wide total for the query. To determine total available listings for a given filter combination, use count_boats, which exposes a site_total_count field and scans across pages.Can I filter listings by price range or specific model in `search_boats`?+
search_boats filters by make, boat_type, condition, year_from, and year_to. Price range filtering and model-level filtering are not parameters on search_boats. A minimum price filter is available in count_boats and get_boats_with_photos_batch via min_price_usd. You can fork this API on Parse and revise it to add a price-range or model filter to the search endpoint.