Charter Boats
Charter Boats API
Locations

Weekly Market

Boats available and average weekly charter price per charter week, split by boat type

GET/locations/{id}/market

The charter market at one location, week by week for the next 12 months: how many boats are available each charter week (Saturday-anchored) and what a week costs, split by boat type. Powers the "Boats & prices through the year" chart on location pages.

Boats visiting from another home base count only in the weeks they are actually quoted from this location, and only when they are quoted from here for at least 8 charter weeks a year (the same rule as the location page's boat listing).

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 (only the exact GET /api/locations index does). See Authentication. Cached for one hour.

Path Parameters

ParameterTypeDescription
idnumberNumeric location ID (slugs are not accepted here)

Request

curl "https://charter.boats/api/locations/20873/market" \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "has_data": true,
  "types": ["sailboat", "catamaran", "yacht", "motorboat", "gulet", "rib"],
  "weeks": [
    {
      "start": "2026-09-12",
      "data": {
        "all": { "boats": 56, "avg_week": 26159, "med_week": 21161, "min_week": 2163 },
        "sailboat": { "boats": 18, "avg_week": 12512, "med_week": 5513, "min_week": 2163 }
      }
    }
  ]
}

Response Fields

FieldTypeDescription
has_databooleanfalse when the location has no priced availability at all (then types and weeks are empty)
typesarrayBoat types present, ordered by supply (largest first). Each appears as a key in every week's data alongside all
weeksarrayOne entry per charter week from today forward (~51 weeks)
weeks[].startstringWeek start date (YYYY-MM-DD, Saturday-anchored)
weeks[].data.{type}.boatsnumberBoats of that type available and priced for this week
weeks[].data.{type}.avg_weeknumberMean weekly charter price in EUR (base price + required extras)
weeks[].data.{type}.med_weeknumberMedian weekly price in EUR — robust to the expensive tail; this is what the site's chart plots
weeks[].data.{type}.min_weeknumberCheapest weekly price in EUR that week

Errors

StatusMessage
400Numeric location id required
404Location not found — no location with that id, or it is not published

On this page