Passages by Location
Get all passages departing from or arriving at a specific location
Legacy — not maintained. Passages are a dormant data set generated in February 2026 and no longer updated. Many titles are generic ("Anchorage to Anchorage"), an embedded location name is often null, and some endpoints have since been merged into other locations without the geometry being recomputed. For passages boats were actually observed sailing, with measured times, use ais_passages on Get Location.
Endpoint
Description
Retrieve all sailing passages that either depart from or arrive at a specific location. Useful for showing "Sail from here" options on a location detail page.
Results are sorted by distance (shortest passages first). Only passages whose departure and arrival locations are both published are returned.
Authentication
Send X-API-Key: YOUR_API_KEY on every call from outside charter.boats — without it Cloudflare bot protection answers with an HTML 403 page, not JSON. Call it from your server: this route sends no CORS headers. See Authentication.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | number | Numeric location ID (slugs are not accepted) |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Max results (default: 20, max: 50) |
Example Request
Example Response
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Route ID (UUID) |
from_location_id / to_location_id | number | Departure / arrival location IDs |
slug | string | URL slug |
title | string | Route title |
description | string|null | Route description |
distance_nm | number|null | Distance in nautical miles |
difficulty | string|null | Difficulty level |
typical_duration_hours | number|null | Estimated sailing time |
rating | number|null | Average rating |
rating_count | number | Number of ratings |
variant_count | number|null | Number of route variants |
geojson | object|null | Route geometry as a GeoJSON Feature (geometry + properties) |
created_at / updated_at | string | Row timestamps |
from_location | object | Departure location — brief shape: only id, name, country_code. name is the stored name and can be null for an unnamed place |
to_location | object | Arrival location (same brief shape) |
Errors
| Status | Message |
|---|---|
400 | Location ID must be a positive integer |
404 | Location not found |
A 404 carries data.moved_to — the surviving location's slug — when the id was absorbed by a
location merge; follow it rather than retrying. Until 2026-09-15 a non-numeric id answered 500.
Notes
- Returns passages where the given location is either the departure or arrival point.
- Results are sorted by distance ascending (shortest passages first).
- Includes
geojsonroute geometry. Use Get Passage for full details including variants and POIs.