NOAA Tide Predictions Scraper
Pricing
$0.35 / 1,000 tide predictions
NOAA Tide Predictions Scraper
Get official NOAA CO-OPS tide predictions for one or more stations or geographic points. Choose high and low events or hourly water levels, then receive structured rows with station, time, level, time zone, and NOAA source links.
Pricing
$0.35 / 1,000 tide predictions
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
🌊 NOAA Tide Predictions for Stations and Coastal Points
Marine operators, boaters, anglers, coastal planners, and developers can use this Actor to get official NOAA CO-OPS tide predictions as structured dataset rows. Choose stations or geographic points, set a prediction window and units, and use high and low events or hourly water levels in tide charts, schedules, and coastal tools.
- Request NOAA tide predictions for a station with NOAA Tides.
- Build a local chart with Tide Chart for My Location.
- Find a low-tide time for a submitted point with When Is Low Tide at My Location.
- Find a high tide for Galveston with High Tide Galveston Today.
- Prepare a local island chart with Tide Charts Anna Maria Island.
- Find official station context with NOAA Tide Stations.
- Request high and low predictions for coastal work with NOAA Tides and Currents Predictions.
- Plan a fishing window with Biloxi Tides for Fishing.
📊 Structured tide prediction rows
Each dataset row describes one predicted high or low tide event or one hourly predicted water level. Rows keep station identity, prediction time, level, datum, units, time-zone context, optional range and next-tide data, and direct NOAA source links.
▶️ Run predictions by station or geographic point
How it works
- Choose high and low events or hourly predicted water levels.
- Choose official NOAA CO-OPS station IDs or geographic points. A point is matched to its nearest official prediction station, and the row can show the distance.
- Set the start and end dates, level units, vertical datum, and station local time or GMT / UTC. These settings apply to every station or point in the run.
- Leave
maxItemsempty to return all available results until the source is exhausted, or set a positive cap across the run. - Run the Actor and open the
datasetlink in the run output.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Selects highLow for predicted turning points or hourly for one predicted water level per hour. |
discoveryMethod | string | Chooses whether the run uses official station IDs or geographic points. |
stationIds | array of strings | Lists one or more official NOAA CO-OPS station IDs. Each uses the shared dates, result type, units, datum, and time zone. |
coordinates | array of objects | Lists one or more latitude and longitude points in decimal degrees. Each point is matched to the nearest official prediction station. |
coordinates[].latitude | number | Latitude of a submitted point in decimal degrees, from -90 to 90. |
coordinates[].longitude | number | Longitude of a submitted point in decimal degrees, from -180 to 180. |
startDate | string | Sets the first date in the prediction window in YYYY-MM-DD format. |
endDate | string | Sets the last date in the prediction window in YYYY-MM-DD format. Use the same date or a later date than startDate. |
units | string | Selects feet or meters for the chosen level value. Feet and meter values are kept when NOAA provides both. |
datum | string | Sets the vertical datum for predicted levels, such as MLLW. Use a datum supported at the selected station. |
timezone | string | Selects station local time or gmt / UTC for prediction timestamps. Rows include the station time zone and applied UTC offset. |
maxItems | integer | Sets an optional positive limit on returned prediction records across the run. Leave it empty to return all available results until the source is exhausted. |
Input example
This is the public input from a successful current-beta high and low prediction run. It leaves maxItems empty, so the source can return all available results.
{"resultType": "highLow","discoveryMethod": "stationIds","stationIds": ["9414290"],"startDate": "2026-01-01","endDate": "2026-01-02","units": "feet","datum": "MLLW","timezone": "local"}
🧾 Output
Run output
| Field | Type | What it does |
|---|---|---|
dataset | string | Links to the prediction rows saved by the run. |
Open dataset to read the row shapes below. The Actor returns one of these shapes based on resultType.
High and low tide event fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Identifies this row as highLow. |
station | object | Holds the official NOAA CO-OPS station identity and location. |
station.id | string | Official NOAA CO-OPS station identifier. |
station.name | string | Official prediction station name. |
station.latitude | number | Station latitude in decimal degrees. |
station.longitude | number | Station longitude in decimal degrees. |
predictionTime | string | Predicted high or low event time in the requested time zone, with its UTC offset. |
eventType | string | Identifies the event as high or low. |
level | object | Holds the predicted level, its unit, and its vertical datum. |
level.value | number | Predicted level in the selected unit. |
level.unit | string | Selected level unit, feet or meters. |
level.datum | string | Vertical reference reported for the level. |
level.feet | number | Predicted level in feet when NOAA provides it. |
level.meters | number | Predicted level in meters when NOAA provides it. |
timeZone | object | Holds the station time zone and the applied UTC offset. |
timeZone.name | string | Station time-zone name used for local prediction times. |
timeZone.utcOffsetMinutes | integer | Offset from UTC applied to predictionTime. GMT or UTC uses zero. |
resolution | object | Geographic point and distance used to find the station when coordinates were submitted. |
resolution.requestedPoint | object | Submitted geographic point used for station matching. |
resolution.requestedPoint.latitude | number | Submitted latitude in decimal degrees. |
resolution.requestedPoint.longitude | number | Submitted longitude in decimal degrees. |
resolution.distanceKm | number | Distance in kilometers from the submitted point to the resolved station. |
nextTide | object | The next computable high or low tide after this prediction, when available. |
nextTide.time | string | Time of the next tide in the requested time zone, with its UTC offset. |
nextTide.type | string | Identifies the next tide as high or low. |
nextTide.level | object | Holds the next tide level, unit, and vertical datum. |
nextTide.level.value | number | Next tide level in the selected unit. |
nextTide.level.unit | string | Unit for the next tide value, feet or meters. |
nextTide.level.datum | string | Vertical reference reported for the next tide level. |
nextTide.level.feet | number | Next tide level in feet when NOAA provides it. |
nextTide.level.meters | number | Next tide level in meters when NOAA provides it. |
predictionRange | object | Lowest and highest predicted levels in the returned station window, when computable. |
predictionRange.minimum | number | Lowest predicted level in the selected unit. |
predictionRange.maximum | number | Highest predicted level in the selected unit. |
predictionRange.unit | string | Unit used for the minimum and maximum levels. |
predictionRange.minimumFeet | number | Lowest predicted level in feet when NOAA provides it. |
predictionRange.maximumFeet | number | Highest predicted level in feet when NOAA provides it. |
predictionRange.minimumMeters | number | Lowest predicted level in meters when NOAA provides it. |
predictionRange.maximumMeters | number | Highest predicted level in meters when NOAA provides it. |
provenance | object | Holds direct official NOAA links for the prediction and station information. |
provenance.predictionUrl | string | Official NOAA URL used for the prediction. |
provenance.stationUrl | string | Official NOAA URL used for station context. |
Genuine high and low event row
This complete row comes from the successful current-beta high and low run. It used station 9414290, so the coordinate-only resolution field is not present.
{"resultType": "highLow","station": {"id": "9414290","name": "San Francisco","latitude": 37.806305,"longitude": -122.46589},"predictionTime": "2026-01-01T02:25:00-08:00","level": {"value": 3.15,"unit": "feet","datum": "MLLW","feet": 3.15,"meters": 0.96},"timeZone": {"name": "PST","utcOffsetMinutes": -480},"predictionRange": {"minimum": -1.659,"maximum": 7.162,"unit": "feet","minimumFeet": -1.659,"maximumFeet": 7.162,"minimumMeters": -0.506,"maximumMeters": 2.183},"provenance": {"predictionUrl": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?application=NOS.COOPS.TAC.TidePredictions&begin_date=20260101&end_date=20260102&datum=MLLW&format=json&interval=hilo&product=predictions&station=9414290&time_zone=lst_ldt&units=english","stationUrl": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations/9414290.json"},"eventType": "low","nextTide": {"time": "2026-01-01T08:41:00-08:00","type": "high","level": {"value": 7.046,"unit": "feet","datum": "MLLW","feet": 7.046,"meters": 2.148}}}
Hourly predicted water level fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Identifies this row as hourly. |
station | object | Holds the official NOAA CO-OPS station identity and location. |
station.id | string | Official NOAA CO-OPS station identifier. |
station.name | string | Official prediction station name. |
station.latitude | number | Station latitude in decimal degrees. |
station.longitude | number | Station longitude in decimal degrees. |
predictionTime | string | Hourly prediction time in the requested time zone, with its UTC offset. |
level | object | Holds the predicted level, its unit, and its vertical datum. |
level.value | number | Predicted level in the selected unit. |
level.unit | string | Selected level unit, feet or meters. |
level.datum | string | Vertical reference reported for the level. |
level.feet | number | Predicted level in feet when NOAA provides it. |
level.meters | number | Predicted level in meters when NOAA provides it. |
timeZone | object | Holds the station time zone and the applied UTC offset. |
timeZone.name | string | Station time-zone name used for local prediction times. |
timeZone.utcOffsetMinutes | integer | Offset from UTC applied to predictionTime. GMT or UTC uses zero. |
resolution | object | Geographic point and distance used to find the station when coordinates were submitted. |
resolution.requestedPoint | object | Submitted geographic point used for station matching. |
resolution.requestedPoint.latitude | number | Submitted latitude in decimal degrees. |
resolution.requestedPoint.longitude | number | Submitted longitude in decimal degrees. |
resolution.distanceKm | number | Distance in kilometers from the submitted point to the resolved station. |
nextTide | object | The next computable high or low tide after this prediction, when available. |
nextTide.time | string | Time of the next tide in the requested time zone, with its UTC offset. |
nextTide.type | string | Identifies the next tide as high or low. |
nextTide.level | object | Holds the next tide level, unit, and vertical datum. |
nextTide.level.value | number | Next tide level in the selected unit. |
nextTide.level.unit | string | Unit for the next tide value, feet or meters. |
nextTide.level.datum | string | Vertical reference reported for the next tide level. |
nextTide.level.feet | number | Next tide level in feet when NOAA provides it. |
nextTide.level.meters | number | Next tide level in meters when NOAA provides it. |
predictionRange | object | Lowest and highest predicted levels in the returned station window, when computable. |
predictionRange.minimum | number | Lowest predicted level in the selected unit. |
predictionRange.maximum | number | Highest predicted level in the selected unit. |
predictionRange.unit | string | Unit used for the minimum and maximum levels. |
predictionRange.minimumFeet | number | Lowest predicted level in feet when NOAA provides it. |
predictionRange.maximumFeet | number | Highest predicted level in feet when NOAA provides it. |
predictionRange.minimumMeters | number | Lowest predicted level in meters when NOAA provides it. |
predictionRange.maximumMeters | number | Highest predicted level in meters when NOAA provides it. |
provenance | object | Holds direct official NOAA links for the prediction and station information. |
provenance.predictionUrl | string | Official NOAA URL used for the prediction. |
provenance.stationUrl | string | Official NOAA URL used for station context. |
Genuine hourly prediction row
This complete row comes from the successful current-beta hourly run. It shows a geographic point resolved to San Francisco and a GMT prediction in meters.
{"resultType": "hourly","station": {"id": "9414290","name": "San Francisco","latitude": 37.806305,"longitude": -122.46589},"predictionTime": "2026-01-01T00:00:00+00:00","level": {"value": -0.227,"unit": "meters","datum": "MLLW","feet": -0.746,"meters": -0.227},"timeZone": {"name": "PST","utcOffsetMinutes": 0},"predictionRange": {"minimum": -0.436,"maximum": 2.163,"unit": "meters","minimumFeet": -1.429,"maximumFeet": 7.096,"minimumMeters": -0.436,"maximumMeters": 2.163},"provenance": {"predictionUrl": "https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?application=NOS.COOPS.TAC.TidePredictions&begin_date=20260101&end_date=20260102&datum=MLLW&format=json&interval=h&product=predictions&station=9414290&time_zone=gmt&units=metric","stationUrl": "https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations/9414290.json"},"resolution": {"requestedPoint": {"latitude": 37.8063,"longitude": -122.4659},"distanceKm": 0.0011552005852531499},"nextTide": {"time": "2026-01-01T06:26:00+00:00","type": "high","level": {"value": 1.401,"unit": "meters","datum": "MLLW","feet": 4.598,"meters": 1.401}}}
💳 Pricing
Tide prediction
The Actor charges $0.00035 for each successfully saved normalized tide prediction. The charge applies when a prediction row is returned for a selected station and time window. A run that saves no prediction row has no tide-prediction event to charge.
🔌 Integrations
Call the Actor through the Apify API, then read the dataset link or the dataset API from the run output. Use the saved rows in tide charts, schedules, coastal planning tools, or other data workflows.
For a short visual guide, watch:
❓ FAQ
Can I use geographic coordinates instead of a station ID?
Yes. Choose geographic points and enter latitude and longitude in decimal degrees. Each point is matched to the nearest official NOAA prediction station, and the output can include the requested point and distance.
Can I request hourly predictions?
Yes. Choose hourly to receive one predicted water level for each returned hour. Choose highLow when you need predicted high and low turning points.
Does this return observed water levels or currents?
No. This Actor returns predicted tide events and predicted hourly water levels. It does not return observed or real-time water levels, currents, weather, waves, or swell.
What does the time zone setting change?
local returns station local prediction times. gmt uses GMT / UTC. Each row also includes the station time-zone name and the UTC offset used for the timestamp.
Why are feet and meters both in a row?
The selected unit controls level.value. The row also keeps feet and meter values when NOAA provides both, along with the vertical datum.
What happens when a station does not support my datum?
Use a datum supported at that station, such as MLLW. Datum availability can vary by station.
Can I leave maxItems empty?
Yes. An empty maxItems returns all available results until the source is exhausted. Set a positive value when you need a cap across the run.
Do I need a NOAA API key?
No. The Actor uses NOAA's public service and does not require a buyer-supplied API key or login.
Can I enter a place name instead of a station ID?
No. Use an official NOAA CO-OPS station ID or a geographic point. Natural-language place-name search is not an input option.
📝 Changelog
v0.0 (27-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- NOAA Tide Predictions Scraper: Compare station-based high and low predictions for a tide-planning workflow.
- NOAA Tide Predictions Scraper: Export prediction events with station, time-zone, and source context.
- NOAA Tides API - Tide Predictions, High Tide & Low Tide Times: Get high and low tide times and levels by station or point.
- NOAA Tides & Water Level Predictions API: Use predicted and observed water-level data in a coastal workflow.
- NOAA Tides Scraper: High & Low Tide Predictions: Feed NOAA high and low predictions into a coastal application.
Made with ❤️ by Maxime Dupré