POST /api/yachtworld/boats/search
Price: 20 credits
Search YachtWorld boats and yachts for sale by keyword, make, model, type, class, condition, year, price, length, engines, fuel, hull, location, seller type and dealer: each with price, specifications, engines, media, seller and sales contact.
Find boats for sale and read each listing's full record from the result. To list one dealer's inventory, pass seller.id from any of its boats as dealer_id.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)count integer required — Max number of boats to return (min: 1; max: 2000)keyword string nullable — Words matched against the listing text (examples: "catamaran"; minLength: 1)make string nullable — Boat make as the site writes it (examples: "Sea Ray"; minLength: 1)model string nullable — Boat model as the site writes it; requires make (examples: "340 Sundancer"; minLength: 1)boat_type string nullable — Power, sail or unpowered (one of: "power", "sail", "unpowered")boat_class string nullable — Boat class (one of: "power-aft", "power-airboat", "power-aluminum", "power-antique", "power-barge", "power-bass", "power-bay", "power-bowrider", "power-center", "power-commercial", "power-convertible", "power-crossover", "power-cruiser", "power-cruiseship", "power-cuddy", "power-deck", "power-dinghy", "power-dive", "power-downeast", "power-dragger", "power-dualconsole", "power-expeditionyacht", "power-expresscruiser", "power-flats", "power-flybridge", "power-fresh", "power-gigayacht", "power-gulet", "power-highperf", "power-house", "power-inflatable", "power-jet", "power-jon", "power-llaut", "power-lobster", "power-mega", "power-motor", "power-motorsailer", "power-multihull", "power-other", "power-passenger", "power-pcatamaran", "power-pilot", "power-pontoon", "power-pwc", "power-rib", "power-rivercruiser", "power-runabout", "power-saltfish", "power-skiff", "power-skifish", "power-skiwake", "power-sloop", "power-sportcruiser", "power-sportfish", "power-superyacht", "power-surfboat", "power-tender", "power-trawler", "power-troller", "power-tug", "power-unspec", "power-util", "power-walk", "sail-antique", "sail-barge", "sail-beachcat", "sail-catamaran", "sail-centercockpit", "sail-commercial", "sail-cruiser", "sail-cutter", "sail-day", "sail-deck", "sail-dinghy", "sail-gulet", "sail-ketch", "sail-motor", "sail-multihull", "sail-other", "sail-performance", "sail-pilot", "sail-racer", "sail-racercruiser", "sail-schooner", "sail-sloop", "sail-superyacht", "sail-trimaran", "sail-unspec", "sail-yawl", "unpowered-dinghy", "unpowered-kayak", "unpowered-tender")condition string nullable — New or used (one of: "new", "used")year_min integer nullable — Earliest model year (min: 1800; max: 2100)year_max integer nullable — Latest model year (min: 1800; max: 2100)price_min integer nullable — Lowest asking price in USD (min: 0)price_max integer nullable — Highest asking price in USD (min: 0)length_min number nullable — Shortest length in feet (min: 0)length_max number nullable — Longest length in feet (min: 0)engine_hours_min integer nullable — Lowest engine hours (min: 0)engine_hours_max integer nullable — Highest engine hours (min: 0)number_of_engines integer nullable — Number of engines (min: 1; max: 10)fuel_type string nullable — Fuel type (one of: "gasoline", "diesel", "electric", "other")hull_material string nullable — Hull material (one of: "fiberglass", "composite", "aluminum", "steel", "wood", "ferro-cement", "hypalon", "other")hull_shape string nullable — Hull shape (one of: "catamaran", "deep-vee", "displacement", "flat", "modified-vee", "monohull", "planing", "pontoon", "rib", "sea-v2", "semi-displacement", "trimaran", "tritoon", "other")country string nullable — Two-letter country code of the boat location (examples: "US"; pattern: ^[A-Za-z]{2}$)subdivision string nullable — State or province code of the boat location; requires country (examples: "FL"; minLength: 1)seller_type string nullable — Dealer or private owner (one of: "dealer", "owner")dealer_id string nullable — Seller id from a boat's seller.id (examples: "50058"; pattern: ^\d+$)sort string — Result ordering (default: "recommended"; one of: "recommended", "price_low_to_high", "price_high_to_low", "year_newest", "year_oldest", "length_longest", "length_shortest", "listed_newest", "listed_oldest")@type string (default: "YachtworldBoat")id string requiredurl string nullablemake string nullablemodel string nullablemodel_range string nullableyear integer nullableboat_name string nullableheadline string nullablecondition string nullablestatus string nullableboat_type string nullableboat_class string nullableclasses array (default: [])seller_type string nullabledescription string nullabledescription_html string nullabledescriptions array (default: [])@type string (default: "YachtworldBoatDescription")language string nullabledescription string requireddescription_type string nullablevisibility string nullablemain_descriptions array (default: [])@type string (default: "YachtworldBoatDescription")language string nullabledescription string requireddescription_type string nullablevisibility string nullableprice object nullable@type string (default: "YachtworldBoatPrice")currency string nullableamount number nullableis_hidden boolean nullableamounts object (default: {})* numberbase_amounts object (default: {})* numberspecial_amounts object (default: {})* numberprevious_price object nullable@type string (default: "YachtworldBoatPreviousPrice")amount number nullablecurrency string nullablerevised_at integer nullablelocation object nullable@type string (default: "YachtworldAddress")street string nullablestreet2 string nullablecity string nullablesubdivision string nullablecountry string nullablepostal_code string nullableiso_subdivision string nullablelatitude number nullablelongitude number nullablecontact object nullable@type string (default: "YachtworldBoatContact")name string nullablephone string nullableaddress object nullable@type string (default: "YachtworldAddress")street string nullablestreet2 string nullablecity string nullablesubdivision string nullablecountry string nullablepostal_code string nullableiso_subdivision string nullablelatitude number nullablelongitude number nullableseller object nullable@type string (default: "YachtworldBoatSeller")id string nullablename string nullabledisplay_name string nullablealias string nullableroot_name string nullableroot_alias string nullabletype string nullableimage string nullableimage_enhanced string nullablephones array (default: [])@type string (default: "YachtworldPhone")number string requiredtype string nullablelocation object nullable@type string (default: "YachtworldAddress")street string nullablestreet2 string nullablecity string nullablesubdivision string nullablecountry string nullablepostal_code string nullableiso_subdivision string nullablelatitude number nullablelongitude number nullableis_broker_spotlight boolean nullableis_finance_advantage boolean nullablesales_rep object nullable@type string (default: "YachtworldBoatSalesRep")id string nullablefirst_name string nullablelast_name string nullabletype string nullablelocale string nullablemessage string nullablecertifications array (default: [])phones array (default: [])@type string (default: "YachtworldPhone")number string requiredtype string nullablelocation object nullable@type string (default: "YachtworldAddress")street string nullablestreet2 string nullablecity string nullablesubdivision string nullablecountry string nullablepostal_code string nullableiso_subdivision string nullablelatitude number nullablelongitude number nullablespecifications object nullable@type string (default: "YachtworldBoatSpecifications")length_ft number nullablelength_m number nullablelength_overall_ft number nullablelength_overall_m number nullablelength_waterline_ft number nullablelength_waterline_m number nullablelength_deck_ft number nullablelength_deck_m number nullablebeam_ft number nullablebeam_m number nullablemax_draft_ft number nullablemax_draft_m number nullabledrive_up_draft_ft number nullabledrive_up_draft_m number nullablemax_bridge_clearance_ft number nullablemax_bridge_clearance_m number nullablecabin_headroom_ft number nullablecabin_headroom_m number nullablefreeboard_ft number nullablefreeboard_m number nullabledeadrise_at_transom_deg number nullablecruising_speed_kn number nullablecruising_speed_mph number nullablecruising_speed_kmh number nullablecruising_speed_rpm number nullablemax_speed_kn number nullablemax_speed_mph number nullablemax_speed_kmh number nullablemax_speed_rpm number nullablerange_nmi number nullablerange_mi number nullablerange_km number nullabledisplacement_kg number nullabledisplacement_lb number nullabledry_weight_kg number nullabledry_weight_lb number nullableballast_kg number nullableballast_lb number nullablecabin_count integer nullableguest_cabin_count integer nullablecrew_cabin_count integer nullablehead_count integer nullableguest_head_count integer nullablecrew_head_count integer nullablehas_convertible_saloon boolean nullablemax_passenger_count integer nullableseating_capacity integer nullablemax_capacity number nullableengines array (default: [])@type string (default: "YachtworldBoatEngine")make string nullablemodel string nullableyear integer nullablecategory string nullabledrive_type string nullablefuel_type string nullablehours number nullablepower_hp number nullablepower_kw number nullablepropeller_type string nullablepropeller_material string nullablelocation string nullablehas_rope_cutter boolean nullablehas_folding_propeller boolean nullablehull object nullable@type string (default: "YachtworldBoatHull")hin string nullablematerial string nullableshape string nullablekeel_type string nullableincludes_bowsprit boolean nullablefuel_type string nullablefresh_water_tanks array (default: [])@type string (default: "YachtworldBoatTank")capacity_l number nullablecapacity_gal number nullablecapacity_gal_uk number nullablequantity integer nullablematerial string nullablefuel_tanks array (default: [])@type string (default: "YachtworldBoatTank")capacity_l number nullablecapacity_gal number nullablecapacity_gal_uk number nullablequantity integer nullablematerial string nullableholding_tanks array (default: [])@type string (default: "YachtworldBoatTank")capacity_l number nullablecapacity_gal number nullablecapacity_gal_uk number nullablequantity integer nullablematerial string nullablefeatures object nullable@type string (default: "YachtworldBoatFeatures")electronics array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullableinside_equipment array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullableoutside_equipment array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullableelectrical_equipment array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullablecovers array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullableadditional_equipment array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullablesails array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullablerigging array (default: [])@type string (default: "YachtworldBoatFeature")code string requiredvalue string nullablebattery string nullablewindlass string nullableelectrical_circuit string nullablehas_joystick_control boolean nullablehas_rope_cutter boolean nullablehas_trim_tab boolean nullablelegal object nullable@type string (default: "YachtworldBoatLegal")coop_type string nullablelisting_type string nullablehull_warranty string nullablewarranty_until_at integer nullabletax_country string nullabletax_status string nullableflag_of_registry string nullablebuilder_name string nullabledesigner_name string nullablelifestyles array (default: [])is_berth_available boolean nullableis_not_for_sale_in_us_waters boolean nullablemedia array (default: [])@type string (default: "YachtworldBoatMedia")url string requiredmedia_type string nullabledescription string nullableformat string nullablewidth integer nullableheight integer nullablesort_order integer nullablestatus string nullablesource string nullablevideo_embed_url string nullablethumbnail string nullablecreated_at integer nullableupdated_at integer nullablevirtual_tour object nullable@type string (default: "YachtworldBoatMedia")url string requiredmedia_type string nullabledescription string nullableformat string nullablewidth integer nullableheight integer nullablesort_order integer nullablestatus string nullablesource string nullablevideo_embed_url string nullablethumbnail string nullablecreated_at integer nullableupdated_at integer nullableimage_count integer nullablevideo_count integer nullableattributes array (default: [])boat_trader_id string nullableimt_id string nullablebcna_id string nullablefind_dealer_url string nullableis_featured boolean nullableis_enhanced boolean nullableis_sponsored boolean nullableis_oem_model boolean nullableis_current_model boolean nullablehas_cpyb_logo boolean nullablecreated_at integer nullableupdated_at integer nullablesold_at integer nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.