Charter Boats API
Experiences

Search Experiences

Find local experience providers near a location

Endpoint

GET /experiences/search

Description

Search for local experience providers (dive shops, restaurants, tours, etc.) near a geographic location. Returns provider locations within a specified radius, sorted by distance.

Authentication

No authentication required. This is a public endpoint.

Query Parameters

ParameterTypeRequiredDescription
latnumberYesLatitude of search center
lngnumberYesLongitude of search center
radiusnumberNoSearch radius in km (default: 50)
business_typestringNoFilter by provider business type
categorystringNoFilter offerings by category
limitnumberNoMax results (default: 20)

Business Types

ValueDescription
dive_shopScuba diving, snorkeling
restaurantWaterfront dining
tour_operatorGuided tours, excursions
equipment_rentalKayaks, paddleboards, gear
marina_servicesDocking, fuel, repairs
provisioningGroceries, supplies delivery
water_sportsJet skis, parasailing
fishing_charterGuided fishing trips
sailing_schoolLessons, certifications
yacht_clubMembership, events
otherOther marine-related business

Example Request

curl "https://charter.boats/api/experiences/search?lat=38.83&lng=20.71&radius=25&business_type=dive_shop"

Example Response

[
  {
    "id": "a1b2c3d4-...",
    "name": "Lefkas Marina Dock",
    "latitude": 38.8340,
    "longitude": 20.7065,
    "distance_km": 1.8,
    "provider": {
      "id": "e5f6a7b8-...",
      "business_name": "Ionian Dive Center",
      "business_type": "dive_shop",
      "logo_url": "https://example.com/logo.png",
      "website": "https://ioniandive.com",
      "phone": "+30 2645 012345",
      "is_verified": true
    },
    "offerings": [
      {
        "id": "c9d0e1f2-...",
        "title": "Reef Snorkeling Tour",
        "category": "tour",
        "price_from": 65,
        "price_to": 65,
        "duration_minutes": 180,
        "is_active": true
      }
    ]
  }
]

Response Fields

FieldTypeDescription
idstringLocation ID
namestringLocation name
latitudenumberLocation latitude
longitudenumberLocation longitude
distance_kmnumberDistance from search center in km
providerobjectProvider details
provider.idstringProvider ID
provider.business_namestringBusiness name
provider.business_typestringType of business
provider.logo_urlstring|nullLogo image URL
provider.websitestring|nullWebsite URL
provider.phonestring|nullContact phone
provider.is_verifiedbooleanVerified status
offeringsarrayActive offerings at this location
offerings[].idstringOffering ID
offerings[].titlestringOffering title
offerings[].categorystringOffering category
offerings[].price_fromnumber|nullStarting price
offerings[].price_tonumber|nullMaximum price
offerings[].duration_minutesnumber|nullDuration in minutes

Notes

  • Only active providers and their active offerings are returned
  • Results are sorted by distance (nearest first)
  • When category is specified, locations with no matching offerings are excluded from results
  • Distance is calculated using the Haversine formula

On this page