API Documentation
Access marine data programmatically through free and open source APIs.
Getting Started
Authentication
Currently, our APIs are open and do not require authentication. We may introduce API keys in the future to help manage rate limits and ensure fair usage.
Rate Limits
To ensure fair usage and service reliability, we implement the following rate limits:
- 100 requests per minute per IP address
- 10,000 requests per day per IP address
If you need higher limits for a production application, please contact us.
Error Handling
Errors are returned with appropriate HTTP status codes and a JSON body:
{
"message": "Invalid parameters",
"errors": [
{
"path": "/latitude",
"message": "must be between -90 and 90",
"errorCode": "INVALID_NUMBER"
}
]
} Tides
Get extremes prediction for a location
Returns high and low tide predictions for the nearest station to the given coordinates
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| latitude | query | number | ✓ | Latitude |
| longitude | query | number | ✓ | Longitude |
| start | query | string | — | Start date/time (ISO 8601 format, defaults to now) |
| end | query | string | — | End date/time (ISO 8601 format, defaults to 7 days from start) |
| datum | query | string | — | Vertical datum (defaults to MLLW if available) |
| units | query | string | — | Units for water levels (defaults to meters) |
Get timeline prediction for a location
Returns water level predictions at regular intervals for the nearest station
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| latitude | query | number | ✓ | Latitude |
| longitude | query | number | ✓ | Longitude |
| start | query | string | — | Start date/time (ISO 8601 format, defaults to now) |
| end | query | string | — | End date/time (ISO 8601 format, defaults to 7 days from start) |
| datum | query | string | — | Vertical datum (defaults to MLLW if available) |
| units | query | string | — | Units for water levels (defaults to meters) |
Get station by ID
Find a station by its ID
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| source | path | string | ✓ | Station source (e.g., 'noaa', 'ticon') |
| id | path | string | ✓ | Station ID within the source (e.g., '8722588', 'some-dash-string') |
Find stations
Search stations by name/ID, find stations near the given coordinates, or list all stations when no filters are provided
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| query | query | string | — | Full-text search query (name, ID, or location) |
| latitude | query | number | — | Latitude for proximity search |
| longitude | query | number | — | Longitude for proximity search |
| maxResults | query | integer | — | Maximum number of stations to return |
| maxDistance | query | number | — | Maximum search radius for proximity search |
Get extremes prediction for a specific station
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| source | path | string | ✓ | Station source (e.g., 'noaa', 'ticon') |
| id | path | string | ✓ | Station ID within the source (e.g., '8722588', 'some-dash-string') |
| start | query | string | — | Start date/time (ISO 8601 format, defaults to now) |
| end | query | string | — | End date/time (ISO 8601 format, defaults to 7 days from start) |
| datum | query | string | — | Vertical datum (defaults to MLLW if available) |
| units | query | string | — | Units for water levels (defaults to meters) |
Get timeline prediction for a specific station
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| source | path | string | ✓ | Station source (e.g., 'noaa', 'ticon') |
| id | path | string | ✓ | Station ID within the source (e.g., '8722588', 'some-dash-string') |
| start | query | string | — | Start date/time (ISO 8601 format, defaults to now) |
| end | query | string | — | End date/time (ISO 8601 format, defaults to 7 days from start) |
| datum | query | string | — | Vertical datum (defaults to MLLW if available) |
| units | query | string | — | Units for water levels (defaults to meters) |
Get OpenAPI specification