Charter Boats
Charter Boats API
AI Integrations

Search Trips (AI)

Find curated multi-day sailing itineraries with day-by-day plans

GET/ai/trips

Search community-created and AI-generated sailing itineraries. Useful for trip planning -- includes duration, distance, activities, and ratings. Only public itineraries are returned.

Authentication

No authentication required. Rate limited to 60 requests per 10 minutes.

Query Parameters

ParameterTypeRequiredDescription
locationstringNoDestination name (fuzzy matched). Finds trips whose route passes through this area.
location_idstringNoExact location ID
qstringNoFree-text match against the trip title.
boat_typestringNoFilter by boat type used in the itinerary
min_daysintegerNoMinimum trip duration in days
max_daysintegerNoMaximum trip duration in days
activitiesstringNoComma-separated activity filters. Matches trips that include any of these activities. Examples: swimming,snorkeling, nightlife,local_cuisine
limitintegerNoMax results (default: 5, max: 20)

Request

# Find 7-day itineraries in Greece
curl "https://charter.boats/api/ai/trips?location=Greece&min_days=7&max_days=7"
 
# Sailing trips with snorkeling activities
curl "https://charter.boats/api/ai/trips?location=Lefkada&activities=snorkeling,swimming"

Response

{
  "trips": [
    {
      "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
      "title": "Ionian Island Hopping - 7 Days",
      "start_location": "Lefkada",
      "location": "D-Marin Lefkas, Lefkada, Greece",
      "duration_days": 7,
      "distance_nm": 85,
      "boat_type": "sailboat",
      "activities": ["swimming", "snorkeling", "local_cuisine", "hiking"],
      "rating": 4.7,
      "review_count": 8,
      "favorite_count": 42,
      "url": "https://charter.boats/trips/a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7"
    }
  ]
}

When no trips match (or no public itineraries are linked to the requested area), the response is { "trips": [] }.

Response Fields

FieldTypeDescription
tripsarrayMatching itineraries sorted by rating then favorites
trips[].idstringTrip UUID
trips[].titlestringTrip title
trips[].start_locationstringStarting location name (free text)
trips[].locationstringResolved location name (marina, city, country). Falls back to start_location.
trips[].duration_daysintegerTrip duration in days
trips[].distance_nmnumber|nullTotal distance in nautical miles (total_distance_nm)
trips[].boat_typestring|nullRecommended boat type
trips[].activitiesarrayActivities included in the itinerary
trips[].ratingnumber|nullAverage rating
trips[].review_countintegerNumber of reviews (0 if none)
trips[].favorite_countintegerNumber of users who favorited this trip (0 if none)
trips[].urlstringLink to trip page on charter.boats

Trip Details

GET/ai/trips/{id}

Full detail for a single public itinerary, including a condensed day-by-day plan. The {id} must be a trip UUID. Only public trips are accessible to external callers.

Request

curl "https://charter.boats/api/ai/trips/a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7"

Response

{
  "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
  "title": "Ionian Island Hopping - 7 Days",
  "start_location": "Lefkada",
  "location": "D-Marin Lefkas, Lefkada, Greece",
  "start_date": "2026-07-11",
  "end_date": "2026-07-18",
  "duration_days": 7,
  "total_distance_nm": 85,
  "boat_type": "sailboat",
  "activities": ["swimming", "snorkeling", "local_cuisine"],
  "highlights": ["Meganisi caves", "Fiskardo harbour", "Sivota tavernas"],
  "rating": 4.7,
  "review_count": 8,
  "favorite_count": 42,
  "total_sailing_hours": 22,
  "days": [
    {
      "day": 1,
      "date": "2026-07-11",
      "from": "Lefkas Marina",
      "to": "Vathi (Meganisi)",
      "distance_nm": 8,
      "stops": [
        { "name": "Spartochori", "activity": "lunch", "duration": "2h", "notes": null }
      ],
      "notes": "Short first hop, settle into the boat.",
      "recap": null
    }
  ],
  "url": "https://charter.boats/trips/a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7"
}

Response Fields

FieldTypeDescription
idstringTrip UUID
titlestringTrip title
start_locationstringStarting location name (free text)
locationstringResolved location (marina, city, country). Falls back to start_location.
start_datestring|nullPlanned start date
end_datestring|nullPlanned end date
duration_daysintegerTrip duration in days
total_distance_nmnumber|nullTotal distance in nautical miles
boat_typestring|nullRecommended boat type
activitiesarrayActivities included
highlightsarrayUp to 6 trip highlights
ratingnumber|nullAverage rating
review_countintegerNumber of reviews (0 if none)
favorite_countintegerNumber of favorites (0 if none)
total_sailing_hoursnumber|nullTotal sailing hours across the trip
daysarrayCondensed day-by-day plan
days[].dayintegerDay number
days[].datestring|nullDate for this day
days[].fromstring|nullStart marina/location
days[].tostring|nullEnd marina/location
days[].distance_nmnumber|nullDistance sailed this day
days[].stopsarrayUp to 6 stops with name, activity, duration, notes
days[].notesstring|nullDay notes (trimmed to ~200 chars)
days[].recapstring|nullDay recap (trimmed to ~200 chars)
urlstringLink to trip page on charter.boats

Errors

StatusMessage
400Valid trip UUID required
404Trip not found (or not public)

On this page