Charter Boats API
Passages

List Passages

List sailing passages between locations

Endpoint

GET /passages

Description

List sailing passages (routes between two locations) with optional filtering by location and difficulty. Each passage includes distance, difficulty rating, and departure/arrival location details.

Authentication

No authentication required. This is a public endpoint.

Query Parameters

ParameterTypeRequiredDescription
location_idnumberNoFilter passages that start or end at this location
difficultystringNoFilter by difficulty level
sortstringNoSort order: distance (default), rating, or variants
limitnumberNoMax results (default: 50, max: 100)
offsetnumberNoPagination offset (default: 0)

Example Request

curl "https://charter.boats/api/passages?sort=rating&limit=10"

Example Response

[
  {
    "id": "route-uuid-1",
    "slug": "lefkas-to-vasiliki",
    "title": "Lefkas to Vasiliki",
    "description": "A scenic day sail down the east coast of Lefkada...",
    "distance_nm": 22,
    "difficulty": "easy",
    "typical_duration_hours": 4,
    "rating": 4.8,
    "rating_count": 15,
    "variant_count": 3,
    "geojson": { "type": "LineString", "coordinates": [...] },
    "from_location": {
      "id": 4521,
      "name": "D-Marin Lefkas",
      "country_code": "GR",
      "lat": 38.8335,
      "lon": 20.7068
    },
    "to_location": {
      "id": 4545,
      "name": "Vasiliki",
      "country_code": "GR",
      "lat": 38.6309,
      "lon": 20.5897
    },
    "created_at": "2026-01-10T08:00:00Z",
    "updated_at": "2026-02-20T14:30:00Z"
  }
]

Response Fields

FieldTypeDescription
idstringRoute ID (UUID)
slugstringURL-friendly slug
titlestringRoute title
descriptionstring|nullRoute description
distance_nmnumber|nullDistance in nautical miles
difficultystring|nullDifficulty level
typical_duration_hoursnumber|nullEstimated sailing time in hours
ratingnumber|nullAverage rating
rating_countnumber|nullNumber of ratings
variant_countnumber|nullNumber of route variants
geojsonobject|nullRoute geometry (GeoJSON LineString)
from_locationobjectDeparture location
from_location.idnumberLocation ID
from_location.namestringLocation name
from_location.country_codestringISO country code
from_location.latnumberLatitude
from_location.lonnumberLongitude
to_locationobjectArrival location

Sort Options

ValueDescription
distanceShortest passages first (default)
ratingHighest rated first
variantsMost route variants first

On this page