NOAA Tides & Currents API
Free NOAA Tides and Currents API with no key: tide predictions, observed water levels, currents, water temperature and wind from US coastal stations. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the NOAA Tides & Currents API?
The NOAA Tides and Currents API is a free, key-free US government API providing tide predictions, observed water levels, currents, water temperature, air temperature and wind from coastal monitoring stations.
This is the authoritative source for US tidal data, operated by NOAA's Center for Operational Oceanographic Products and Services. It serves both real-time observations and predictions, from hundreds of stations.
The datum parameter is the detail that matters most and the one people get wrong. Water levels are meaningless without knowing the reference datum — MLLW (mean lower low water) is the navigation standard, but requesting a different datum shifts every value.
Quick facts
- Base URL
https://api.tidesandcurrents.noaa.gov/api/prod/datagetter- Authentication
- No API key. NOAA asks that you pass an `application` parameter identifying your tool.
- Rate limit
- No published hard limit; requests are capped by date range per product.
- Pricing
- Free public domain US government data.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the NOAA Tides & Currents API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Fetch observed water levels
GET https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&application=bytetools&begin_date=20260819&end_date=20260819&datum=MLLW&station=8454000&time_zone=lst_ldt&units=english&format=json
curl 'https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&application=bytetools&begin_date=20260819&end_date=20260819&datum=MLLW&station=8454000&time_zone=lst_ldt&units=english&format=json'const res = await fetch("https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&application=bytetools&begin_date=20260819&end_date=20260819&datum=MLLW&station=8454000&time_zone=lst_ldt&units=english&format=json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=water_level&application=bytetools&begin_date=20260819&end_date=20260819&datum=MLLW&station=8454000&time_zone=lst_ldt&units=english&format=json", timeout=20)
res.raise_for_status()
print(res.json()){
"metadata": {
"id": "8454000",
"name": "Providence",
"lat": "41.8072",
"lon": "-71.4007"
},
"data": [
{
"t": "2026-08-19 00:00",
"v": "3.722",
"s": "0.023",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:06",
"v": "3.774",
"s": "0.03",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:12",
"v": "3.837",
"s": "0.036",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:18",
"v": "3.935",
"s": "0.046",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:24",
"v": "4.066",
"s": "0.046",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:30",
"v": "4.171",
"s": "0.043",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:36",
"v": "4.234",
"s": "0.03",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:42",
"v": "4.293",
"s": "0.023",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:48",
"v": "4.352",
"s": "0.033",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 00:54",
"v": "4.411",
"s": "0.026",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 01:00",
"v": "4.457",
"s": "0.023",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-08-19 01:06",
"v": "4.496",
"s": "0.026",
"f": "0,0,0,0",
"q": "p"
},
{
"t": "2026-0Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
station | string | Required | NOAA station id. 8454000 |
product | string | Required | water_level, predictions, currents, water_temperature, wind. water_level |
begin_date / end_date | string | Required | Date range as YYYYMMDD, or use `date=latest`. 20260819 |
datum | string | Required | Reference datum — MLLW, MSL, NAVD and others. MLLW |
units | string | Required | english or metric. english |
time_zone | string | Required | gmt, lst or lst_ldt. lst_ldt |
format | string | Required | json, xml or csv. json |
Response fields
metadata.id / namestring- Station identifier and name.
metadata.lat / lonstring- Station coordinates.
data[].tstring- Observation time.
data[].vstring- Value — water level in the requested units, as a string.
data[].sstring- Standard deviation of the observation.
data[].fstring- Quality flags.
What you can build with the NOAA Tides & Currents API
- Show tide times for boating, fishing or surfing
- Monitor coastal flooding risk from real-time water levels
- Plan port operations around tidal windows
- Analyse long-term sea level trends
Common errors and how to fix them
Error: No data was found
The station does not offer that product, or the date range is empty.
Fix: Not every station measures every product; check the station's capabilities first.
Values look shifted
The wrong datum was requested.
Fix: Water levels are relative to a reference datum — MLLW is standard for navigation. Changing it shifts every value.
Date range too large
Products have maximum range limits.
Fix: Water level data is capped at 31 days per request; page through longer periods.
NOAA Tides & Currents API — frequently asked questions
Is the NOAA tides API free?
Yes, completely free with no API key. NOAA asks that you pass an `application` parameter naming your tool.
What is a datum and why does it matter?
The reference level water heights are measured from. MLLW (mean lower low water) is the navigation standard. Requesting a different datum shifts every value, so it must match what your users expect.
What is the difference between water_level and predictions?
water_level is what was actually observed at the station; predictions is the astronomically computed tide. They differ when weather pushes water levels above or below prediction.
Does it cover outside the US?
No, NOAA stations are US coastal and Great Lakes locations, plus some US territories.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
NOAA Tides & Currents is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.