Charter Boats API
Locations

Get Location

Get full details for a specific location

Endpoint

GET /locations/:id

Description

Retrieve full details for a location (marina, anchorage, bay), including available boats, nearby points of interest grouped by category, images, amenities, and neighboring locations.

Authentication

No authentication required. This is a public endpoint.

Path Parameters

ParameterTypeDescription
idnumberLocation ID

Example Request

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

Example Response

{
  "id": 4521,
  "name": "D-Marin Lefkas",
  "lat": 38.8335,
  "lon": 20.7068,
  "city": "Lefkada",
  "state": "Western Greece",
  "country": "Greece",
  "country_code": "GR",
  "harbour_category": "marina",
  "description": "Modern full-service marina on the east coast of Lefkada...",
  "image_url": "https://example.com/marina.jpg",
  "rating": 4.5,
  "rating_count": 28,
  "images": [
    {
      "id": "img-uuid-1",
      "url": "https://example.com/marina-1.jpg",
      "source": "Google Maps",
      "source_url": "https://maps.google.com/...",
      "attribution": "Photo by contributor",
      "is_primary": true,
      "sort_order": 0
    }
  ],
  "boats": [
    {
      "id": "boat-uuid-1",
      "title": "Bavaria 46 Cruiser",
      "boat_type": "sailboat",
      "capacity": 10,
      "price_per_day": 285,
      "price_from": 250,
      "price_to": 450,
      "discount_percentage": 15,
      "discount_label": "Early booking",
      "original_price_per_day": 335,
      "instant_book": true,
      "manufacturer_name": "Bavaria",
      "primary_image": "https://example.com/boat.jpg"
    }
  ],
  "pois_by_category": {
    "restaurant": [
      {
        "id": "poi-uuid-1",
        "name": "Taverna Nidri",
        "category": "restaurant",
        "subcategory": "taverna",
        "cuisine": "greek",
        "rating": 4.7,
        "distance_meters": 350,
        "walking_time_minutes": 4
      }
    ],
    "grocery": [
      {
        "id": "poi-uuid-2",
        "name": "Mini Market Marina",
        "category": "grocery",
        "distance_meters": 120,
        "walking_time_minutes": 2
      }
    ]
  },
  "poi_count": 24,
  "amenities": [
    {
      "id": 1,
      "name": "Water",
      "icon": "droplet",
      "category": "basic"
    },
    {
      "id": 2,
      "name": "Electricity",
      "icon": "zap",
      "category": "basic"
    }
  ],
  "nearby_locations": [
    {
      "distance_nm": 5,
      "locations": [
        {
          "id": 4530,
          "name": "Nidri Bay",
          "lat": 38.7432,
          "lon": 20.7401,
          "country": "Greece",
          "harbour_category": "anchorage",
          "image_url": "https://example.com/nidri.jpg",
          "rating": 4.3,
          "boat_count": 12
        }
      ]
    },
    {
      "distance_nm": 15,
      "locations": [
        {
          "id": 4545,
          "name": "Vasiliki",
          "lat": 38.6309,
          "lon": 20.5897,
          "country": "Greece",
          "harbour_category": "harbour",
          "boat_count": 8
        }
      ]
    }
  ],
  "references": [
    {
      "title": "Google Maps",
      "url": "https://maps.google.com/...",
      "source_domain": "maps.google.com"
    }
  ]
}

Response Fields

FieldTypeDescription
idnumberLocation ID
namestringLocation name
latnumberLatitude
lonnumberLongitude
citystring|nullCity
statestring|nullState or region
countrystring|nullCountry
country_codestring|nullISO country code
harbour_categorystring|nullType of harbour
descriptionstring|nullLocation description
image_urlstring|nullPrimary image URL
ratingnumber|nullAverage rating
rating_countnumber|nullNumber of ratings
imagesarrayAll location images, sorted by sort_order
boatsarrayActive boats at this location (max 20)
boats[].manufacturer_namestring|nullBoat manufacturer
boats[].primary_imagestring|nullFirst boat image URL
pois_by_categoryobjectNearby POIs grouped by category
poi_countnumberTotal number of nearby POIs
amenitiesarrayLocation amenities (water, electricity, etc.)
nearby_locationsarrayNeighboring locations grouped by distance buckets
nearby_locations[].distance_nmnumberDistance in nautical miles
nearby_locations[].locationsarrayLocations at this distance
referencesarrayContent sources and attributions

Error Responses

404 Not Found

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

On this page