On this page

Tides API

Tide predictions from harmonic constituents, powered by the open source Slackwater engine. Open and free, no authentication required, and described by an OpenAPI specification.

Getting Started

Authentication

The tides API is open and does not require authentication.

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"
    }
  ]
}
GEThttps://api.openwaters.io/tides

API information

GEThttps://api.openwaters.io/tides/extremes

Get extremes prediction for a location

Returns high and low tide predictions for the nearest station to the given coordinates

Parameters

NameLocationTypeRequiredDescription
latitudequerynumber✓Latitude
longitudequerynumber✓Longitude
startquerystring—Start date/time (ISO 8601 format, defaults to now)
endquerystring—End date/time (ISO 8601 format, defaults to 7 days from start)
datumquerystring—Vertical datum (defaults to station's chart datum)
unitsquerystring—Units for water levels (defaults to meters)
GEThttps://api.openwaters.io/tides/timeline

Get timeline prediction for a location

Returns water level predictions at regular intervals for the nearest station

Parameters

NameLocationTypeRequiredDescription
latitudequerynumber✓Latitude
longitudequerynumber✓Longitude
startquerystring—Start date/time (ISO 8601 format, defaults to now)
endquerystring—End date/time (ISO 8601 format, defaults to 7 days from start)
datumquerystring—Vertical datum (defaults to station's chart datum)
unitsquerystring—Units for water levels (defaults to meters)
GEThttps://api.openwaters.io/tides/stations/{source}/{id}

Get station by ID

Find a station by its ID

Parameters

NameLocationTypeRequiredDescription
sourcepathstring✓Station source (e.g., 'noaa', 'ticon')
idpathstring✓Station ID within the source (e.g., '8722588', 'some-dash-string')
GEThttps://api.openwaters.io/tides/stations

Find stations

Search stations by name/ID, find stations near the given coordinates, or list all stations when no filters are provided

Parameters

NameLocationTypeRequiredDescription
queryquerystring—Full-text search query (name, ID, or location)
latitudequerynumber—Latitude for proximity search
longitudequerynumber—Longitude for proximity search
maxResultsqueryinteger—Maximum number of stations to return
maxDistancequerynumber—Maximum search radius for proximity search, in kilometers
bboxquerystring—Bounding box in GeoJSON order: minLon,minLat,maxLon,maxLat (longitude first). Longitudes must be within -180..180, latitudes within -90..90, and minLat <= maxLat. minLon > maxLon denotes an antimeridian crossing.
GEThttps://api.openwaters.io/tides/stations/{source}/{id}/extremes

Get extremes prediction for a specific station

Parameters

NameLocationTypeRequiredDescription
sourcepathstring✓Station source (e.g., 'noaa', 'ticon')
idpathstring✓Station ID within the source (e.g., '8722588', 'some-dash-string')
startquerystring—Start date/time (ISO 8601 format, defaults to now)
endquerystring—End date/time (ISO 8601 format, defaults to 7 days from start)
datumquerystring—Vertical datum (defaults to station's chart datum)
unitsquerystring—Units for water levels (defaults to meters)
GEThttps://api.openwaters.io/tides/stations/{source}/{id}/timeline

Get timeline prediction for a specific station

Parameters

NameLocationTypeRequiredDescription
sourcepathstring✓Station source (e.g., 'noaa', 'ticon')
idpathstring✓Station ID within the source (e.g., '8722588', 'some-dash-string')
startquerystring—Start date/time (ISO 8601 format, defaults to now)
endquerystring—End date/time (ISO 8601 format, defaults to 7 days from start)
datumquerystring—Vertical datum (defaults to station's chart datum)
unitsquerystring—Units for water levels (defaults to meters)
GEThttps://api.openwaters.io/tides/openapi.json

Get OpenAPI specification