When to use this endpoint
GET /buoys/last_readings is best when:
- You already have a list of specific buoy IDs you care about (e.g. stored in your own database)
- You want only reading data, without buoy metadata, for a minimal payload
- You need targeted polling for a small, fixed set of buoys
GET /buoys?country=FR instead — it returns buoys with readings included in a single call and is the right starting point for building your buoy ID list.
Basic usage
limit:
Parameters
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
ids | string | required | — | Comma-separated or array-style buoy IDs |
limit | integer | 3 | 100 | How many IDs from the list to process |
Response
missing_ids
Any IDs you requested that don’t exist in the database are returned in missing_ids. This lets you detect stale IDs in your application without additional lookups.
Payload design
The endpoint returns only the fields needed for reading collection. Importantly, the large JSONB forecast columns stored on buoys (tide_forecast, marine_forecast, weather_forecast) are never included — keeping payloads lean even at 100 buoys per request.
Polling 30+ buoys
If you have more than 100 buoys, chunk the ID list and make multiple calls. Each call counts as one request against your rate limit:Choosing between country filter and last_readings
| Scenario | Recommended endpoint |
|---|---|
| First run — discover all France buoys | GET /buoys?country=FR |
| Periodic poll — you already have IDs stored | GET /buoys/last_readings?ids=...&limit=100 |
| Small fixed list (≤ 3 buoys) | GET /buoys/last_readings?ids=... (no limit needed) |
| Need buoy name, coords, and timezone too | GET /buoys?country=FR (all metadata included) |