Charter Boats API
AI Integrations

Search Boats (AI)

Search charter boats with fuzzy location matching, availability checking, and deal ranking

GET/ai/boats

Search available charter boats by location, type, dates, capacity, and budget. Optimized for AI consumption with fuzzy location matching, availability bitmask filtering, and batch price resolution.

Authentication

No authentication required. Rate limited to 60 requests per 10 minutes (30 for Custom GPT clients).

Query Parameters

ParameterTypeRequiredDescription
locationstringNoDestination name -- marina, city, island, region, or country. Fuzzy matched against location names, cities, states, and countries.
boat_typestringNoOne of: sailboat, catamaran, motor, gulet, motorboat, motoryacht, trawler, rib
guestsintegerNoMinimum guest capacity (1-50)
date_fromstringNoCharter start date (YYYY-MM-DD). Enables availability filtering and total price calculation.
date_tostringNoCharter end date (YYYY-MM-DD). Typical charters are 7 days (Saturday to Saturday).
price_minnumberNoMinimum price per day in EUR
price_maxnumberNoMaximum price per day in EUR
cabinsintegerNoMinimum number of cabins
sortstringNoSort order: deals (default), price_low, price_high, rating, newest
limitintegerNoResults to return (default: 5, max: 20)

Request

# Search catamarans in Greece for 8 guests
curl "https://charter.boats/api/ai/boats?location=Greece&boat_type=catamaran&guests=8&sort=deals"
 
# Search with dates for availability + total price
curl "https://charter.boats/api/ai/boats?location=Lefkada&date_from=2026-07-12&date_to=2026-07-19&price_max=500"

Response

{
  "boats": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "title": "BALI Catspace - Luxury Catamaran",
      "boat_type": "catamaran",
      "manufacturer": "Bali Catamarans",
      "year": 2023,
      "length_ft": 40,
      "capacity": 8,
      "cabins": 4,
      "price_per_day": 850,
      "price_total": 5950,
      "currency": "EUR",
      "discount_percentage": 15,
      "discount_label": "Early booking",
      "location": "D-Marin Lefkas, Lefkada, Greece",
      "rating": 4.8,
      "review_count": 12,
      "hero_image_url": "https://...",
      "url": "https://charter.boats/boats/550e8400-...",
      "available": true,
      "instant_book": false
    }
  ],
  "location_matched": {
    "id": "4521",
    "name": "D-Marin Lefkas",
    "country": "Greece"
  },
  "total_matching": 142,
  "search_url": "https://charter.boats/search?location_id=4521&type=catamaran&guests=8"
}

Response Fields

FieldTypeDescription
boatsarrayMatching boats ranked by the selected sort order
boats[].idstringBoat UUID
boats[].titlestringBoat name and model
boats[].boat_typestringType of boat
boats[].manufacturerstring|nullManufacturer name
boats[].yearintegerBuild year
boats[].length_ftnumberLength in feet
boats[].capacityintegerMaximum guests
boats[].cabinsintegerNumber of cabins
boats[].price_per_daynumberDaily rate in EUR
boats[].price_totalnumber|nullTotal charter price for the date range. null if no dates provided.
boats[].currencystringCurrency code (e.g. EUR)
boats[].discount_percentagenumberActive discount percentage. 0 if none.
boats[].discount_labelstring|nullDiscount description (e.g. "Early booking", "Last minute")
boats[].locationstringFormatted location string (marina, city, country)
boats[].ratingnumber|nullAverage rating (1-5)
boats[].review_countintegerNumber of reviews
boats[].hero_image_urlstring|nullPrimary boat image URL
boats[].urlstringDirect link to boat page on charter.boats
boats[].availableboolean|nulltrue if available for requested dates. null if no dates provided.
boats[].instant_bookbooleanWhether the boat supports instant booking
location_matchedobject|nullThe location the search query resolved to
total_matchingintegerTotal boats matching criteria (before limit)
search_urlstringLink to full search results on charter.boats

Location Matching

The location parameter is fuzzy-matched against the database in priority order:

  1. Exact name match (e.g., "D-Marin Lefkas")
  2. City match (e.g., "Lefkada" matches all marinas in Lefkada)
  3. State/region match (e.g., "Western Greece")
  4. Country match (e.g., "Greece" or "Croatia")

When a city or marina is matched, boats from all locations in that city are included. For country/state matches, all locations in the region are searched.

Sort Orders

ValueDescription
dealsBest discounts first, then lowest price (default)
price_lowCheapest per-day rate first
price_highMost expensive first
ratingHighest rated first
newestNewest build year first

On this page