Developer reference

WorldTides API Documentation

Use a single HTTPS endpoint to request tide heights, extremes, datums, station lists, tide plots, and timezone-aware local dates for locations worldwide.

Quick start

Request tide data by latitude and longitude

The API accepts GET or POST requests over HTTPS. Most integrations start with a location, an API key, and one or more requested data types such as heights, extremes, datums, or stations.

https://www.worldtides.info/api/v3?heights&extremes&date=2026-07-18&days=3&lat=33.768321&lon=-118.195617&key=<apiKey>
Access

Authentication

Every request requires an API key. You can create one by registering, and signed-in users can reset their key from the settings page if it is ever exposed.

Endpoint

https://www.worldtides.info/api/v3

Transport

Use HTTPS for production requests. HTTP is still documented for legacy clients, but HTTPS is preferred.

Billing

Credits per API request

API requests for one data type with default parameters typically cost 1 credit. A single request can return multiple data types or longer time intervals, which may increase the credit cost.

NameDescription
heights1 credit for every 7 days of data at 30 minute intervals.
extremes1 credit for every 7 days of data.
datums1 credit when all datums are returned.
plot1 additional credit.
stations1 credit for stationDistance up to 500 km, 2 credits up to 5000 km, and 3 credits above 5000 km.

Use the Credit Calculator for detailed estimates. Each API request may only be used for a single user except where the license explicitly allows otherwise.

Request

Parameters

All requests should target v3. Parameters without values, such as heights or extremes, can be included as query flags.

NameDescription
keyYour WorldTides API key. This is required for all API calls.
latLatitude in decimal degrees for the requested location.
lonLongitude in decimal degrees for the requested location.
date v2+Start date in YYYY-MM-DD format. You may also pass today to use the current date at the requested location.
days v2+Number of calendar days to retrieve for heights, extremes, or a plot. Plot requests must use 1 to 7 days.
heightsReturn tide heights. By default, heights cover 6 hours ago through 42 hours ahead at 30 minute intervals. Use date, days, start, length, and step to customize this.
extremesReturn low and high tide events. By default, extremes cover 6 hours ago through 42 hours ahead.
datumReturn heights and extremes relative to the requested datum. The default is MSL, but CD is recommended for many charting and navigation use cases. See the datums page.
datumsReturn available vertical reference datums for the requested location.
localtime v2+Return dates in ISO 8601 format with the local timezone offset. This also returns the timezone field.
timezone v2+Return the location timezone, for example America/Los_Angeles. v3 improves global timezone polygon mapping and Etc/GMT signs.
plot v2+Use with heights to return a base64 encoded PNG plot. Optional plot parameters include units, timemode, width, height, font, grid, color, background, and points.
points v2+Use with plot to return cursor-friendly plot points containing x, y, dt, and height values.
start*Unix timestamp for the start of the interval. Prefer date for calendar-day requests because date starts at local midnight and handles daylight saving transitions.
length*Interval length in seconds. Prefer days for full local calendar days, especially across daylight saving changes.
stepStep size in seconds for heights. Defaults to 1800 seconds. Must be at least 60 seconds.
stationDistanceMaximum station search distance in kilometers. Set to 0 to use only global background data. The account default can be changed in settings.
stationsReturn nearby tide stations within stationDistance kilometers. Requires lat and lon. This specific API call may be shared to multiple users under the license terms.
Response

JSON response fields

Responses are UTF-8 encoded JSON objects. Returned fields depend on the request, and additional fields may be added in the future.

NameDescription
statusHTTP-style status code. 200 indicates success.
errorStable error string returned when status is not 200. Treat these strings as error identifiers.
requestDatumDatum requested by the client.
responseDatumDatum actually used for returned values. This may differ when the requested datum is invalid or unavailable at the location.
requestLat / requestLonLatitude and longitude from the request.
responseLat / responseLonLatitude and longitude of the actual prediction point or station used.
callCountNumber of credits used by this request.
atlasDataset used for the tide calculation.
stationStation name when the response is based on a tide gauge.
copyrightRequired copyright attribution for the returned tidal information. Per the terms of service, this must be reproduced in any app or website using the data.
timezone v2+Timezone name returned when timezone or localtime is requested.
plot v2+Base64 encoded PNG data, for example data:image/png;base64,iVBORw0KGg....
points v2+Array of plot point values useful for interactive cursor behavior.
stationsArray of stations. Each station includes id, name, lat, lon, and timezone.
heightsArray of tide heights referenced to responseDatum. Each value includes dt, date, and height in meters.
extremesArray of low and high tide events referenced to responseDatum. Each value includes dt, date, height in meters, and type.
datumsArray of tidal datums. Each value includes name and height relative to responseDatum.
Examples

Common requests

Nearby stations

Get stations within 50 km of Long Beach, California.

https://www.worldtides.info/api/v3?stations&lat=33.768321&lon=-118.195617&stationDistance=50&key=<apiKey>

Current tide heights

Get tide heights for the current local date.

https://www.worldtides.info/api/v3?heights&date=2026-07-18&lat=33.768321&lon=-118.195617&key=<apiKey>

LAT with datums

Get extremes referenced to Lowest Astronomical Tide and return datum offsets.

https://www.worldtides.info/api/v3?datum=LAT&datums&extremes&lat=33.768321&lon=-118.195617&key=<apiKey>
Version history

Change log

VersionChanges
v1Initial API release.
v2Added date, days, localtime, plot, and timezone request parameters plus plot, points, and timezone response fields.
v3Released December 26, 2021. Improved timezone responses and corrected the sign of Etc/GMT timezone responses.
Code examples

Code examples

See WorldTides API examples for short client implementations and platform examples in Swift, Kotlin, cURL, Python, PHP, Node.js, JavaScript, WordPress, Home Assistant, C#, R, and Go.