Charter Boats
Charter Boats API
Locations

Get Location

Get full details for a specific location

Endpoint

GET /locations/:id

Description

A location is an overnight stop — a marina, harbour, or anchorage where you can berth or drop anchor and spend the night aboard your boat.

Retrieve full details for a location (marina, anchorage, bay), including nearby points of interest grouped by category, images, amenities, references, and neighboring locations. The response spreads the full location row, so many enrichment columns (contact info, facilities flags, OSM tags) come back alongside the computed fields below.

Authentication

No authentication required for server-side requests — this is a public read endpoint. (A key is only needed for cross-origin calls made from a browser on another domain; see Authentication.)

Path Parameters

ParameterTypeDescription
idnumberLocation ID

Example Request

curl "https://charter.boats/api/locations/11336"

Example Response

The response spreads the full location row (truncated below for readability) and appends the computed fields images, boat_count, min_boat_price, pois_by_category, poi_count, references, amenities, and nearby_locations.

{
  "id": 11336,
  "osm_id": 119160925,
  "name": "D-Marin Lefkas",
  "lat": 38.8289054,
  "lon": 20.7113582,
  "website": "https://www.d-marin.com/en/marinas/d-marin-lefkas",
  "phone": "+30 2645 026645",
  "email": null,
  "address": "East Shore",
  "city": "Municipal Unit of Lefkada",
  "state": "Ionian Islands",
  "country": "Greece",
  "municipality": "Lefkada Municipality",
  "country_code": "gr",
  "description": "D-Marin Lefkas is a well-established marina that's been running since 2002...",
  "image_url": "https://cdn.d-marin.com/site/assets/LEYKADA_1st_frame_5481965ff4.webp",
  "image_source": "D-Marin",
  "rating": 3,
  "rating_count": 3,
  "max_draft": 4,
  "max_length": 45,
  "vhf_channel": "69",
  "harbour_category": "marina",
  "has_power": false,
  "has_wifi": false,
  "has_water": false,
  "has_fuel": false,
  "boat_counts": { "total": 395, "sailboat": 251, "catamaran": 143, "motorboat": 1 },
  "poi_counts": { "total": 186, "restaurant": 81, "parking": 42, "grocery": 21 },
  "trip_counts": {},
  "images": [
    {
      "id": "bab9b677-edca-4edb-903c-5d21603ec7f2",
      "url": "https://pub-1d6bb2ea901f4e66a126571a99715069.r2.dev/locations/bab9b677-edca-4edb-903c-5d21603ec7f2.webp",
      "source": "D-Marin",
      "source_url": "https://www.d-marin.com/en/marinas/lefkas/",
      "attribution": null,
      "is_primary": true,
      "sort_order": 0,
      "storage_path": "locations/bab9b677-edca-4edb-903c-5d21603ec7f2.webp"
    }
  ],
  "boat_count": 395,
  "min_boat_price": 114.81,
  "pois_by_category": {
    "restaurant": [
      {
        "id": "9f2a4c11-8b3d-4e7a-9c21-1f0a2b3c4d5e",
        "name": "Taverna Nikos",
        "name_en": null,
        "category": "restaurant",
        "subcategory": "restaurant",
        "cuisine": "greek",
        "phone": null,
        "website": null,
        "opening_hours": null,
        "image_url": null,
        "description": null,
        "rating": null,
        "distance_meters": 210,
        "walking_time_minutes": 3
      }
    ],
    "parking": [
      {
        "id": "c72f95e7-5fc1-4b5e-ab47-be494a849858",
        "name": "Parking",
        "name_en": null,
        "category": "parking",
        "subcategory": "parking",
        "cuisine": null,
        "phone": null,
        "website": null,
        "opening_hours": null,
        "image_url": null,
        "description": null,
        "rating": null,
        "distance_meters": 39,
        "walking_time_minutes": 1
      }
    ]
  },
  "poi_count": 187,
  "amenities": [],
  "nearby_locations": [
    {
      "id": 19990,
      "name": "Bay tis Amfilochias",
      "name_en": "Bay of Amfilochia",
      "city": "Municipal Unit of Amphilohia",
      "municipality": "Municipality of Amfilochia",
      "country": "Greece",
      "harbour_category": "bay",
      "image_url": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/14/75/39/0a/2-largejpg.jpg",
      "rating": 4.2,
      "boat_count": 0,
      "boats": []
    }
  ],
  "references": [
    {
      "title": "D-Marin",
      "url": "https://www.d-marin.com/en/marinas/lefkas/",
      "source_domain": "d-marin.com"
    }
  ]
}

Response Fields

FieldTypeDescription
idnumberLocation ID
namestringLocation name
latnumberLatitude
lonnumberLongitude
citystring|nullCity
statestring|nullState or region
countrystring|nullCountry
country_codestring|nullISO country code (lowercase, e.g. gr)
harbour_categorystring|nullType of harbour
descriptionstring|nullLocation description (markdown)
image_urlstring|nullPrimary image URL
image_sourcestring|nullAttribution label for image_url
ratingnumber|nullAverage rating
rating_countnumber|nullNumber of ratings
phone / email / website / addressstring|nullContact details (spread from the row)
max_draft / max_length / max_widthnumber|nullBerth limits in meters
vhf_channelstring|nullMarina VHF channel
has_power / has_wifi / has_water / has_fuel / has_pumpoutbooleanFacility flags
boat_counts / poi_counts / trip_countsobjectRaw counts keyed by type (total plus per-type)
imagesarrayAll location images, sorted by sort_order
images[].urlstringImage URL
images[].source / images[].source_url / images[].attributionstring|nullImage provenance
images[].is_primarybooleanWhether this is the primary image
boat_countnumberCount of published boats at this location with a price
min_boat_pricenumber|nullLowest published per-day price at this location (display price, no markup)
pois_by_categoryobjectNearby POIs grouped by category; each POI carries distance_meters and walking_time_minutes
poi_countnumberTotal number of nearby POIs returned
amenitiesarrayLocation amenities (id, name, icon, category); often empty
nearby_locationsarrayFlat list of neighboring locations within 30nm, sorted by rating (max 12)
nearby_locations[].boat_countnumberPublished boats at the neighbor
nearby_locations[].boatsarrayUp to 3 sample boats (id, title, boat_type, price_per_day, primary_image)
referencesarrayContent sources and attributions (title, url, source_domain)

Error Responses

404 Not Found

{
  "statusCode": 404,
  "message": "Location not found"
}

On this page