NOAA CoastWatch ERDDAP Ocean Data Scraper avatar

NOAA CoastWatch ERDDAP Ocean Data Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
NOAA CoastWatch ERDDAP Ocean Data Scraper

NOAA CoastWatch ERDDAP Ocean Data Scraper

Pull ocean buoy and station readings from NOAA CoastWatch ERDDAP, including station ID, latitude, longitude, timestamp, water temperature, air temperature, and wind speed. Browse the full dataset catalog too. Useful for marine forecasting, climate research, and coastal monitoring.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

ParseForge Banner

🌊 NOAA CoastWatch ERDDAP Ocean Data Scraper

🚀 Pull ocean buoy and station readings in seconds. Get station ID, latitude, longitude, timestamp, water temperature, air temperature, and wind speed from NOAA CoastWatch ERDDAP, or browse the full dataset catalog.

🕒 Last updated: 2026-06-08 · 📊 Two modes (station records + dataset catalog) · live NDBC buoy feed · global coastal coverage

Turn the NOAA CoastWatch ERDDAP data server into clean, structured records you can drop into a marine forecast, a climate study, a coastal-monitoring dashboard, or a research notebook. Choose Station records to pull oceanographic observations from a tabledap dataset, or Dataset catalog to list every dataset available on the server with its coverage metadata.

Coverage spans NOAA's CoastWatch ERDDAP holdings. The default station dataset is cwwcNDBCMet, the NDBC Standard Meteorological Buoy Data feed, with thousands of buoys and coastal stations worldwide reporting water and air temperature, wind, and more. When no time window is given, the Actor auto-selects a recent one-hour window anchored to the dataset's latest available data, so a default run always returns fresh rows.

🎯 Target Audience💡 Primary Use Cases
Marine forecasters and meteorologistsPull live buoy water and air temperature, wind
Climate and ocean researchersBuild time series from station observations
Coastal and port operatorsMonitor conditions at specific stations
Data engineers and app developersCatalog ERDDAP datasets and feed pipelines

📋 What the NOAA CoastWatch ERDDAP Scraper does

This Actor calls the public NOAA CoastWatch ERDDAP server and runs in one of two modes:

  • Station records (data) — pulls observations from a tabledap dataset. station, longitude, latitude, and time are always included; you choose the extra measurement variables (water temp wtmp, air temp atmp, wind speed wspd, and any others the dataset offers).
  • Dataset catalog (catalog) — lists every dataset on the server with its title, institution, time and spatial coverage, and tabledap/griddap URLs.

Every record carries a scrapedAt timestamp.

🎬 Full Demo (🚧 Coming soon)

⚙️ Input

FieldTypeDescription
modeselectdata (Station records) or catalog (Dataset catalog). Defaults to data.
datasetIdstringThe tabledap dataset ID to pull from in data mode. Defaults to cwwcNDBCMet.
variablesarrayMeasurement variables to return per record, e.g. wtmp, atmp, wspd. station, longitude, latitude, and time are always included. Defaults to wtmp, atmp, wspd.
startTimestringLower bound of the time window in ISO 8601 UTC, e.g. 2026-05-14T21:00:00Z. Leave empty to auto-select a recent window.
endTimestringUpper bound of the time window in ISO 8601 UTC. Leave empty to use the dataset's latest timestamp.
stationFilterstringOptional exact station ID, e.g. 41002, to restrict to one station.
maxItemsintegerHow many records to return. Free plan is capped at 10.

Example 1 — latest readings for a single buoy

{
"mode": "data",
"datasetId": "cwwcNDBCMet",
"variables": ["wtmp", "atmp", "wspd"],
"stationFilter": "41002",
"maxItems": 10
}

Example 2 — browse the dataset catalog

{
"mode": "catalog",
"maxItems": 10
}

⚠️ Good to Know: in data mode, leaving startTime and endTime empty makes the Actor read the dataset's latest available timestamp and pull a one-hour window ending there, so you always get fresh rows. Provide your own window to pull a historical range. A variable you request that the dataset does not carry comes back null.

📊 Output

Station records (data mode)

FieldDescription
🛟 stationStation or buoy ID
🗂 datasetIdERDDAP dataset the row came from
📍 latitudeStation latitude
📍 longitudeStation longitude
🕒 timeObservation timestamp (UTC)
🌊 wtmpWater temperature (when requested)
🌡 atmpAir temperature (when requested)
💨 wspdWind speed (when requested)
🕒 scrapedAtCollection timestamp
errorNull on success

Requested variables beyond the four anchors are added as their own fields using the dataset's own variable names.

Real sample — station record

{
"station": "41002",
"datasetId": "cwwcNDBCMet",
"latitude": 31.759,
"longitude": -74.84,
"time": "2026-06-08T16:00:00Z",
"wtmp": 26.1,
"atmp": 25.4,
"wspd": 6.0,
"scrapedAt": "2026-06-08T17:09:21.000Z",
"error": null
}

Dataset catalog (catalog mode)

FieldDescription
📌 titleDataset title
🗂 datasetIdERDDAP dataset ID
🏛 institutionInstitution that provides it
🕘 minTimeEarliest time coverage
🕛 maxTimeLatest time coverage
🧭 minLongitudeWest edge of coverage
🧭 maxLongitudeEast edge of coverage
🧭 minLatitudeSouth edge of coverage
🧭 maxLatitudeNorth edge of coverage
🔗 tabledapUrltabledap base URL
🔗 griddapUrlgriddap base URL
🕒 scrapedAtCollection timestamp
errorNull on success

Real sample — catalog record

{
"title": "NDBC Standard Meteorological Buoy Data, 1970-present",
"datasetId": "cwwcNDBCMet",
"institution": "NOAA NDBC, CoastWatch WCN",
"minTime": "1970-02-26T20:00:00Z",
"maxTime": "2026-06-08T16:00:00Z",
"minLongitude": -177.75,
"maxLongitude": 179.999,
"minLatitude": -55.0,
"maxLatitude": 71.823,
"tabledapUrl": "https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet",
"griddapUrl": null,
"scrapedAt": "2026-06-08T17:09:21.000Z",
"error": null
}

✨ Why choose this Actor

  • Two modes in one Actor: pull station observations or browse the catalog.
  • Smart default window anchors to the latest available data, so runs always return fresh rows.
  • Pick exactly the measurement variables you need.
  • Filter to a single station by ID.
  • No account, no API key, and no login required.

📈 How it compares to alternatives

ApproachEffortStructured fieldsCatalog browsingMaintenance
This ActorOne runYesBuilt inNone on your side
Hand-building ERDDAP URLsTediousManualManualConstant
Writing your own clientDaysDependsYou build itYou own the upkeep

🚀 How to use

  1. Create a free Apify account using this sign-up link.
  2. Open the NOAA CoastWatch ERDDAP Ocean Data Scraper.
  3. Choose a mode (data or catalog).
  4. For data, set datasetId, variables, an optional time window, and an optional stationFilter.
  5. Set maxItems, click Start, and grab your results when the run finishes.

💼 Business use cases

Marine forecasting

GoalHow this helps
Brief on sea conditionsPull live water temp, air temp, and wind
Watch a specific buoyUse stationFilter for one station

Climate and ocean research

GoalHow this helps
Build a time seriesSet a historical startTime/endTime window
Survey available dataUse catalog mode to map coverage

Coastal operations

GoalHow this helps
Monitor a port approachTrack the nearest station's readings
Spot anomaliesCompare current readings to recent windows

Data engineering

GoalHow this helps
Catalog ERDDAP datasetsList every dataset with coverage and URLs
Feed a pipelineSchedule station pulls into your warehouse

🔌 Automating NOAA CoastWatch ERDDAP Scraper

Connect runs to the tools you already use:

  • Make and Zapier to trigger runs and route records into sheets or databases.
  • Slack to post the latest buoy readings to a channel.
  • Airbyte to load results into a warehouse.
  • GitHub Actions to schedule periodic snapshots.
  • Google Drive to archive each run's output.

🌟 Beyond business use cases

  • Research: assemble multi-year buoy time series for a study area.
  • Personal: check sea temperature before a dive or a sail.
  • Non-profit: power a community coastal-conditions board.
  • Experimentation: prototype an ocean data app without an ERDDAP client.

🤖 Ask an AI assistant

Paste your results into ChatGPT, Claude, Perplexity, or Microsoft Copilot and ask it to chart water temperature over time, find the windiest stations, or map which datasets cover your region.

❓ Frequently Asked Questions

Do I need a NOAA account or API key? No. The Actor reads the public NOAA CoastWatch ERDDAP server, which needs no login.

What dataset does it use by default? cwwcNDBCMet, the NDBC Standard Meteorological Buoy Data feed. You can point datasetId at any tabledap dataset on the server.

Which variables can I request? Any variables the dataset offers. The defaults are wtmp, atmp, and wspd. station, longitude, latitude, and time are always included.

What if I leave the time window empty? The Actor reads the dataset's latest timestamp and pulls a recent one-hour window ending there, so you always get fresh data.

Can I get historical data? Yes. Set startTime and endTime in ISO 8601 UTC to pull any past window.

How do I get only one station? Set stationFilter to the exact station ID, for example 41002.

What is catalog mode for? It lists every dataset on the server with its title, institution, time and spatial coverage, and access URLs, so you can discover what is available.

Why is a variable null on some rows? Not every station reports every variable, and not every dataset carries every variable you request. Missing values come back null.

How fresh is the data? Each run reads live from ERDDAP, so station records reflect the latest published observations.

Can I schedule this? Yes. Use Apify Schedules to pull station readings on any cadence.

🔌 Integrate with any app

Results are available through the Apify API, so you can pull them into any app, database, or workflow you already run.

💡 Pro Tip: browse the complete ParseForge collection.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: independent tool, not affiliated with NOAA or CoastWatch. Only publicly available data is collected.