Search POIs (AI)
Find restaurants, fuel stations, shops, and attractions near a sailing destination
/ai/poisFind points of interest near a sailing destination. Accepts a location name (fuzzy matched), a location ID from a previous search, or a direct POI-name query. Returns POIs sorted by distance from the nearest marina.
Authentication
No authentication required. Rate limited to 60 requests per 10 minutes.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
location | string | No | Location name (fuzzy matched against name + city). Use this, location_id, or q. |
location_id | string | No | Exact location ID from a previous searchLocations call. |
q | string | No | Direct POI-name search (no location required). Returns each POI with location: null. |
category | string | No | Filter by POI category (see below). Omit for all categories. |
limit | integer | No | Max results (default: 10, max: 30) |
At least one of location, location_id, or q is required.
Categories
| Value | Description |
|---|---|
restaurant | Restaurants, cafes, bars |
fuel | Marine and regular fuel stations |
grocery | Supermarkets, bakeries, convenience stores |
chandlery | Boat supplies, marine equipment |
pharmacy | Pharmacies |
bank | Banks, ATMs, currency exchange |
laundry | Laundromats |
entertainment | Attractions, museums, nightlife |
parking | Parking |
fishing | Fishing supplies |
Categories present at a given location are returned in categories_available (sorted by count).
Request
Response
When using q (direct name search), each POI has location: null and the response omits locations_searched.
Response Fields
| Field | Type | Description |
|---|---|---|
pois | array | Points of interest sorted by distance |
pois[].id | string | POI UUID |
pois[].name | string | POI name |
pois[].category | string | POI category |
pois[].subcategory | string|null | More specific category |
pois[].description | string|null | Description |
pois[].rating | number|null | Rating (1-5) |
pois[].cuisine | string|null | Cuisine type (restaurants only) |
pois[].phone | string|null | Phone number |
pois[].website | string|null | Website URL |
pois[].opening_hours | string|null | Opening hours |
pois[].image_url | string|null | Image URL |
pois[].location | string|null | Distance + nearest marina (e.g. "100 meters from Split, West Coast"). null for direct q searches. |
pois[].url | string | Link to the POI page on charter.boats |
locations_searched | array | Names of the marinas searched (omitted for q searches) |
categories_available | array | Categories that have results, sorted by count |
Errors
| Status | Message |
|---|---|
400 | Provide location, location_id, or q (search by name) |
POI Details
/ai/pois/{id}Full detail for a single point of interest, including address, nearby marinas with walking times, and any special offers. The {id} must be a POI UUID.
Request
Response
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | POI UUID |
name | string | POI name |
category | string | POI category |
subcategory | string|null | More specific category |
description | string|null | Description (trimmed to ~500 chars) |
cuisine | string|null | Cuisine type (restaurants only) |
address | string|null | Street address |
city | string|null | City |
country | string|null | Country |
phone | string|null | Phone number |
website | string|null | Website URL |
opening_hours | string|null | Opening hours |
rating | number|null | Rating (1-5) |
rating_count | integer|null | Number of ratings |
nearby_locations | array | Up to 3 nearby marinas with name, distance_meters, walking_time_minutes |
special_offers | array | Up to 3 offers with title, description, discount_type, discount_value |
url | string | Link to the POI page on charter.boats |
Errors
| Status | Message |
|---|---|
400 | Valid POI UUID required |
404 | POI not found |