NOAA Tide Predictions Scraper avatar

NOAA Tide Predictions Scraper

Pricing

from $0.72 / 1,000 tide-prediction extracteds

Go to Apify Store
NOAA Tide Predictions Scraper

NOAA Tide Predictions Scraper

Export official NOAA high and low tide predictions by station and date range, with water level, datum, units, timezone, station identity, and source links.

Pricing

from $0.72 / 1,000 tide-prediction extracteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Export official NOAA tide predictions as structured high and low tide events for one or more coastal stations.

Provide NOAA CO-OPS station IDs and a date range. The Actor returns predicted water level, event time, datum, units, station identity, coordinates, timezone context, and direct source URLs. No NOAA API key, browser, proxy, or account is required.

What does NOAA Tide Predictions Scraper do?

The Actor calls the official NOAA Center for Operational Oceanographic Products and Services (CO-OPS) Data API and Metadata API.

It turns NOAA responses into one consistent dataset row per predicted high or low tide.

Use it to:

  • build local tide charts;
  • prepare boating or fishing schedules;
  • supply tide events to coastal planning tools;
  • compare upcoming events across stations;
  • refresh spreadsheets and databases on a schedule;
  • feed charting, alerting, and marine operations pipelines.

This Actor returns predictions, not observed water levels or marine weather forecasts.

Who is it for?

Marine operators can prepare bounded station schedules for port, marina, or field work.

Anglers and boating publishers can create local high/low tide tables without parsing web pages.

Travel and coastal application developers can consume normalized JSON from Apify datasets and APIs.

Analysts and researchers can compare predicted levels across dates, datums, and stations.

Automation teams can schedule recurring runs and deliver results to webhooks, cloud storage, or data warehouses.

Why use this Actor?

  • Official NOAA CO-OPS data and provenance links
  • No NOAA API key or login
  • Up to 20 station IDs per run
  • Inclusive date ranges from 1 to 31 days
  • English (feet) or metric (meters) levels
  • Seven common vertical datum choices
  • GMT, local standard time, or daylight-aware local time
  • Explicit limits and validation instead of silently changing input
  • Typed dataset output ready for JSON, CSV, Excel, and integrations
  • Bounded transient retries for NOAA 429, 5xx, and transport failures

Input

FieldTypeRequiredDefaultDescription
stationIdsstring arrayYes8534720One to 20 seven-digit NOAA CO-OPS station IDs.
startDatestringYesFirst date in YYYY-MM-DD format.
endDatestringYesLast date in YYYY-MM-DD format, inclusive.
datumstringNoMLLWVertical datum: MLLW, MLW, MTL, MSL, MHW, MHHW, or NAVD.
unitsstringNoenglishenglish for feet or metric for meters.
timeZonestringNolst_ldtgmt, lst, or lst_ldt.
maxItemsintegerNo20Maximum saved events across all stations, from 1 to 5,000.

Find station IDs in NOAA's public Tides & Currents station map or station pages.

Not every datum is available at every station. NOAA returns a clear error when a selected station/datum combination is unsupported.

Quick start

  1. Open the Actor input page.
  2. Enter one or more NOAA station IDs.
  3. Choose a start and end date no more than 31 days apart.
  4. Keep MLLW, feet, and local daylight-aware time, or select alternatives.
  5. Set maxItems if you need a strict output cap.
  6. Click Start.
  7. Open the Tide predictions dataset view.
  8. Export JSON, CSV, Excel, XML, or RSS, or use the dataset API.

Example input for Atlantic City, New Jersey:

{
"stationIds": ["8534720"],
"startDate": "2026-09-17",
"endDate": "2026-09-18",
"datum": "MLLW",
"units": "english",
"timeZone": "lst_ldt",
"maxItems": 20
}

Output fields

FieldMeaning
stationIdNOAA seven-digit station ID.
stationNameOfficial NOAA station name.
stateState or territory code reported by NOAA.
latitude, longitudeStation coordinates in decimal degrees.
eventTypehigh or low.
timestampEvent time in the selected NOAA timezone convention.
predictedWaterLevelPredicted level relative to the selected datum.
datumVertical reference used for the level.
unitsfeet or meters.
timeZoneRequested mode: gmt, lst, or lst_ldt.
stationTimeZoneCodeStation timezone abbreviation from NOAA metadata.
stationTimeZoneOffsetHoursStation standard-time UTC offset.
predictionSourceUrlExact official NOAA Data API request.
stationSourceUrlOfficial NOAA station metadata request.
retrievedAtUTC retrieval timestamp.

Fields can be null when NOAA omits optional station metadata. Tide event values are validated before they are saved.

Output example

{
"stationId": "8534720",
"stationName": "Atlantic City",
"state": "NJ",
"latitude": 39.356667,
"longitude": -74.41805,
"eventType": "high",
"timestamp": "2026-09-17 00:03",
"predictedWaterLevel": 3.55,
"datum": "MLLW",
"units": "feet",
"timeZone": "lst_ldt",
"stationTimeZoneCode": "EST",
"stationTimeZoneOffsetHours": -5,
"predictionSourceUrl": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?...",
"stationSourceUrl": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations/8534720.json?expand=details",
"retrievedAt": "2026-09-16T12:00:00.000Z"
}

Timestamp choices

Choose gmt when downstream systems need one shared UTC convention across stations.

Choose lst for fixed local standard time without daylight-saving adjustment.

Choose lst_ldt for the local clock convention normally shown to people at the station, including daylight time when NOAA applies it.

The timestamp is intentionally preserved in NOAA's YYYY-MM-DD HH:mm representation. The row also records the requested mode and station timezone metadata so consumers do not have to guess its meaning.

Datum and unit choices

MLLW is NOAA's common charting and tide-table reference and is the default.

Other supported requests are MLW, MTL, MSL, MHW, MHHW, and NAVD.

Datum availability varies by station. Do not compare numeric levels from different datums as if they shared one reference plane.

English output uses feet. Metric output uses meters.

How much does it cost to export NOAA tide predictions?

Pricing is pay per event:

  • Actor start: $0.00005 per run.
  • Tide prediction: tiered by your Apify plan; BRONZE is $0.0012 per saved high or low event.

Estimate a run as one start event plus one tide-prediction event for every saved high or low tide. For example, 8 saved events incur one start charge and 8 item charges; 100 saved events incur one start charge and 100 item charges.

Your active Apify tier may differ. Platform usage, taxes, refunds, fraud adjustments, disputes, and corrections may affect final billing.

The Actor does not charge a tide-prediction event for rejected, duplicate, empty, or failed source rows.

Scheduling recurring tide exports

Create a Task with station IDs and a rolling future date window appropriate for your workflow.

Add an Apify schedule to run daily or weekly.

Connect the dataset to a webhook, Make, Zapier, Google Sheets, Amazon S3, or your own ingestion endpoint.

For change detection, compare stable station, timestamp, datum, and units fields between runs. Predictions may be revised by NOAA, so keep retrievedAt when auditing refreshes.

The Actor does not itself send alerts or maintain history across runs.

Multi-station workflow

Pass several station IDs in one run to create a consolidated dataset.

Use timeZone: "gmt" when sorting stations across time zones.

Use maxItems to cap the complete run. The Actor processes stations in input order and stops once the cap is reached.

For very large programs, split stations into multiple Tasks so each run remains easy to monitor and retry.

API usage with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~noaa-tide-predictions/runs?token=$APIFY_TOKEN&waitForFinish=120" \
-H "Content-Type: application/json" \
-d '{
"stationIds": ["8534720"],
"startDate": "2026-09-17",
"endDate": "2026-09-18",
"datum": "MLLW",
"units": "english",
"timeZone": "lst_ldt"
}'

Fetch dataset items using the defaultDatasetId returned by the run.

API usage with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/noaa-tide-predictions').call({
stationIds: ['9414290'],
startDate: '2026-10-01',
endDate: '2026-10-03',
units: 'metric',
timeZone: 'lst_ldt'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/noaa-tide-predictions').call(run_input={
'stationIds': ['8518750', '8443970'],
'startDate': '2026-09-17',
'endDate': '2026-09-18',
'timeZone': 'gmt',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with MCP and AI assistants

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/noaa-tide-predictions"

Claude Desktop, Cursor, and VS Code use the equivalent MCP server configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/noaa-tide-predictions"
}
}
}

Example prompts:

  • "Export NOAA high and low tide predictions for station 8534720 for September 17–18, 2026."
  • "Get San Francisco station 9414290 tide events in meters for the first three days of October."
  • "Create a GMT-normalized dataset for NOAA stations 8534720, 8518750, and 8443970."

Always inspect station, date, datum, units, and timezone in generated tool input before running it.

Limits and failure behavior

  • The inclusive date range is limited to 31 days.
  • Each run accepts 1–20 station IDs.
  • maxItems is limited to 5,000.
  • Only NOAA high/low prediction events are returned.
  • Invalid station IDs fail clearly instead of producing misleading empty rows.
  • Unsupported station/datum combinations return the NOAA API error.
  • Transient 429, 5xx, and network failures receive up to three bounded attempts.
  • Persistent upstream failures make the Actor fail with a non-zero status.
  • NOAA may revise predictions or metadata after a run.
  • Naturally empty NOAA responses produce no rows for that station.

Tips for reliable results

Confirm station IDs on NOAA before creating a long-lived Task.

Keep the default MLLW unless your workflow requires another datum.

Use gmt for cross-time-zone joins and local modes for human-facing schedules.

Store predictionSourceUrl with exported data for provenance and reproducibility.

Use small date windows for frequent refreshes rather than repeatedly requesting the 31-day maximum.

Troubleshooting

Why did the run reject my date range?

Dates must be real calendar dates in YYYY-MM-DD format, and the inclusive range cannot exceed 31 days. The end date cannot precede the start date.

Why did NOAA reject my datum?

Not every station supports every vertical datum. Retry with MLLW, or check that station's NOAA datum information.

Why are timestamps not ISO strings with offsets?

The NOAA prediction endpoint returns a local or GMT date/time string without an offset suffix. The Actor preserves it and adds explicit timezone mode and station timezone fields rather than inventing an offset.

Why are fewer than maxItems returned?

maxItems is only a ceiling. The number of natural high and low tide events depends on station and date range.

Do I need a proxy?

No. The Actor uses NOAA's official public JSON APIs directly.

Legality and responsible use

Data comes from public US government NOAA CO-OPS services. Review NOAA's notices and terms for your application.

Tide predictions are informational and are not a substitute for official navigation products, local notices, weather warnings, or professional safety judgment.

Do not imply that NOAA endorses this Actor. NOAA names and station metadata identify the public data source; the icon and product are independently operated by Automation Lab.

The Actor sends only the requested station IDs, dates, datum, units, timezone, and standard HTTP metadata to NOAA. It does not use AI, retain a separate customer database, or transmit input to advertising systems.

Choose this Actor when you need predicted tidal high/low events. Choose the related products for weather history, active warnings, or habitat screening.

FAQ

Is a NOAA API key required?

No. Both official endpoints used by this Actor are public and keyless.

Can I search by city name or coordinates?

No. This release intentionally accepts authoritative station IDs so selection is deterministic. Resolve the correct NOAA station before running.

Does it return hourly predictions?

No. It returns only high and low events (interval=hilo), matching the tide-schedule workflow.

Does it return observed water levels?

No. Predictions and observations are different products. This Actor does not claim observed or real-time levels.

Can I export CSV or Excel?

Yes. Use the dataset export controls or API after the run.

Can I schedule it?

Yes. Save the input as an Apify Task, attach a schedule, and connect the resulting dataset to your destination.

Is the data safe for navigation?

Treat it as planning data. Consult official charts, notices, forecasts, and local authorities for safety-critical decisions.