NOAA Buoy Data API - Live Wave Height, Wind & Water Temp
Pricing
from $3.70 / 1,000 buoy observations
NOAA Buoy Data API - Live Wave Height, Wind & Water Temp
Live observations from NOAA NDBC buoys and coastal stations: wave height, dominant period, wind and gusts, water and air temperature, pressure. Give a station id or a lat,lon point and it finds the nearest buoy. Missing readings stay null, never zero, and every row says how old it is.
Pricing
from $3.70 / 1,000 buoy observations
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Live observations from NOAA NDBC buoys and coastal stations: wave height and period, wind and gusts, water temperature, air temperature, pressure, dew point, visibility.
Give it a station id, or just a lat,lon point and it finds the nearest station that is actually publishing right now.
- No API key, no scraping of a web page, no proxy. US government data, public domain.
- Both unit systems on every row — metres and feet, m/s and knots, Celsius and Fahrenheit.
- Latest reading by default, so one station costs one row. Ask for history when you want it.
What this returns that the raw NDBC file does not
NDBC publishes a fixed-width text file per station with two header lines and about 45 days of readings. Everything below is the work this Actor does on top of it.
| Column | Why it matters |
|---|---|
ageMinutes, observedAt | A buoy can keep a file online and stop reporting. Station 41001 on 2026-08-31 still served a 340 KB file whose newest reading was 32 days old. Every row says exactly how old it is, in UTC and in minutes, and the run warns when the newest reading is over 6 hours old. |
Missing values as null | NDBC writes MM for a missing reading. Turning that into 0 would report a flat calm or no waves. Missing stays missing. |
| Both unit systems | waveHeightMeters / waveHeightFeet, windSpeedMs / windSpeedKnots, waterTemperatureC / waterTemperatureF, and the same for gusts, air temperature and dew point. |
stationName, stationOwner, stationType, latitude, longitude | The observation file has none of this. It is joined from NDBC's active-station list. |
requestedPoint, distanceKm | Give "36.8,-122.4" and you get the nearest station and how far away it is. |
| Only stations with data | NDBC lists 1,351 active stations but only 943 publish a standard meteorological file (DART tsunami buoys, TAO moorings and many fixed sites never do). A naive "nearest station" lands on one of the other 409 about 7% of the time and returns nothing. Chicago (41.88,-87.61) resolves here to CNII2 at 2.67 km with live data, not to the empty station 1.58 km away. |
| Column names read from the header | The parser matches NDBC's own column header line instead of counting characters, so a change in the file's layout cannot silently shift wind into the wave column. |
Input
| Field | Type | Default | Meaning |
|---|---|---|---|
locations | array | ["44013"] | NDBC station ids (44013, TPLM2) and/or points ("36.8,-122.4"). |
latestOnly | boolean | true | One row per station: the newest reading. Turn off for history. |
hours | integer | 24 | How far back when latestOnly is off. 1 to 1100 (NDBC keeps about 45 days). NDBC buoys report about every 10 minutes; fixed coastal stations usually once an hour. |
maxRowsPerStation | integer | 200 | Upper bound per station so a long window cannot run up a bill. |
maxDistanceKm | integer | 300 | If the nearest station with data is further than this, the location is reported and not charged. |
maxRetries | integer | 4 | Retries when NDBC does not answer. |
Output
{"rowType": "observation","stationId": "44013","stationName": "BOSTON 16 NM East of Boston, MA","stationType": "buoy","latitude": 42.346,"longitude": -70.651,"observedAt": "2026-08-31T16:00:00.000Z","ageMinutes": 20,"windDirectionDegrees": 70,"windSpeedMs": 2,"windSpeedKnots": 3.9,"waveHeightMeters": 0.6,"waveHeightFeet": 1.97,"dominantWavePeriodSeconds": 4,"waterTemperatureC": 20.5,"waterTemperatureF": 68.9,"pressureHpa": 1021.2}
What it does when something is wrong
- A station that publishes no standard meteorological file — pulled for winter, in for servicing, or a
DART/TAO/oil-rig station that never publishes this format → a
station-offlinerow saying so, not charged, and the run does not fail. - A point with no station near it → a
no-station-nearbyrow with the distance, not charged. Denver resolves to a station 1,296 km away, which is past the defaultmaxDistanceKmof 300. - NDBC not answering, or answering with something that is not an observation file → an error row with the reason, and the run fails if nothing at all could be read. It is never reported as "no observations".
- A window with no readings in it → one row saying so, with the newest reading NDBC does have. Not charged.
- Lines that do not match the column header are counted and reported, never mixed into the rows.
- A run that hits the maximum total charge you set says so in the log and in
RUN_BUDGET_STOP. - Failures are collected in
RUN_ISSUESand offline stations inRUN_OFFLINE_STATIONSin the run's key-value store.
Measured
Run on 2026-09-01 with 8 inputs — 3 station ids, 1 offline station, 3 points (coastal, inland-lake city,
landlocked), 1 unusable string: 5 observation rows + 1 station-offline row + 1 no-station-nearby row in
14.6 seconds. 943 of the 1,351 listed stations were publishing. 36.8,-122.4 resolved to Monterey buoy
46042 at 1.61 km, 41.88,-87.61 to CNII2 at 2.67 km. East Hatteras (41001) was flagged: its newest reading
was 781 hours old.
The build is covered by 58 automated checks, and 61 deliberate defects were injected one at a time to confirm those checks actually catch them.
Billing
Pay per event: one charge per observation row delivered. station-offline, no-station-nearby, error rows
and the "no observations in this window" row are not charged. With the default latestOnly, one station costs
one row per run.
Support
Questions and bug reports: use the Issues tab on this Actor. Include the input you ran and the run id.
Data source: NOAA National Data Buoy Center — official US government data, public domain. This Actor is not affiliated with NOAA. Marine observations are not a substitute for an official marine forecast or warning.