ParseForge Scrapers

NOAA CoastWatch ERDDAP Ocean Data Scraper

parseforge/noaa-coastwatch-erddap-scraper

Developer toolsAutomationOther

Scrapes station observation records from NOAA CoastWatch ERDDAP tabledap datasets or lists the full dataset catalog. Returns each record as a flat row with your selected variables, time window, and optional station filter.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
82
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

NOAA CoastWatch ERDDAP Ocean Data Scraper

Scrape oceanographic station observations and dataset catalogs from NOAA CoastWatch ERDDAP servers. Pull water temperature, wind speed, air temperature, and any other variable from NDBC buoys and other tabledap datasets, filtered by time window and station. Export to CSV, JSON, Excel, or XML.

NOAA CoastWatch ERDDAP servers hold decades of oceanographic and meteorological observations from buoys, gliders, and satellites, but downloading subsets by time and station through a browser is slow and manual. This Actor reads tabledap datasets directly, applies your time and station filters server-side, and returns each matching record in one flat row. It also catalogs every dataset available on the server with its spatial and temporal coverage, so you can discover what data exists before you pull it.

Who uses it What they scrape NOAA CoastWatch ERDDAP for
Oceanographers Pull recent buoy observations for a specific region to validate a circulation model.
Climate researchers Collect multi-decade sea surface temperature records from a fixed station for trend analysis.
Marine operations planners Check current wind speed and wave height at offshore stations before scheduling vessel movements.
Data journalists Gather water temperature anomalies during a marine heatwave event for a story.

What it does

This Actor collects station observation records from NOAA CoastWatch ERDDAP tabledap datasets or lists every dataset in the catalog with its metadata, and returns each result as a flat row.

  • πŸ“‘ Station records mode: Pull observations from any tabledap dataset by time range and optional station ID, with selectable measurement variables.
  • πŸ“‹ Dataset catalog mode: List every dataset on the ERDDAP server with its title, spatial bounds, time span, and data variables for discovery.
  • ⏱️ Auto time window: Leave start and end times empty and the Actor automatically fetches the most recent hour of data from the dataset's latest timestamp.
  • 🎯 Station filter: Restrict results to a single NDBC buoy or station by its exact ID, for example 41002, to track one location over time.
  • πŸ“Š Selectable variables: Choose which measurement columns to return per record, such as water temperature, air temperature, or wind speed, while station, position, and time are always included.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with NOAA CoastWatch ERDDAP data

🌊 Monitor coastal conditions in near real time.

An oceanographer runs the Actor every hour with an auto time window on the NDBC buoy dataset to feed a dashboard of water temperature and wind speed at key stations.

πŸ“ˆ Build a long-term climate baseline.

A climate researcher pulls a decade of monthly sea surface temperature from a fixed station by setting a wide time range and a single station ID, then exports to CSV for statistical analysis.

πŸ—ΊοΈ Discover what ocean data is available.

A data scientist runs the catalog mode to list all datasets on the CoastWatch ERDDAP, filters for those with chlorophyll variables, and then switches to station records mode to pull the relevant data.

βš“ Plan offshore operations with current conditions.

A marine logistics planner checks the latest wind speed and wave height at several buoy stations before a scheduled crew transfer, using the station filter to query each location.

Why choose this scraper

What you get
No API key required ERDDAP servers are public; this Actor reads them directly with no registration or authentication.
Server-side filtering Time and station constraints are sent to the ERDDAP server so only matching rows travel over the network.
Fixed flat schema Every record arrives with the same columns regardless of station or time window, ready for analysis.
Dataset discovery built in The catalog mode lets you browse all available datasets and their coverage before committing to a data pull.

How it compares

No other Store actor targets NOAA CoastWatch ERDDAP the same way, so the honest comparison is with the alternatives teams actually weigh.

NOAA CoastWatch ERDDAP Ocean Data Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When NOAA CoastWatch ERDDAP changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor by selecting station records or dataset catalog mode, then narrow results with a time window, a station ID, and a list of measurement variables so only the data you need reaches your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "variables": [
    "wtmp",
    "atmp",
    "wspd"
  ],
  "maxItems": 10
}

A larger pull:

{
  "variables": [
    "wtmp",
    "atmp",
    "wspd"
  ],
  "maxItems": 200
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.50
1,000 results $5.00
10,000 results $50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the NOAA CoastWatch ERDDAP Ocean Data Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to NOAA CoastWatch ERDDAP through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/noaa-coastwatch-erddap-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your time window overlaps with the dataset's actual coverage. Use catalog mode first to see the dataset's time span. Also verify the station ID is exact and exists in the dataset.

The Actor returns an error about an unknown variable.

Variable names are dataset-specific and case-sensitive. Run catalog mode to list the dataset's variables, then copy the exact names into the Variables field.

My time filter is not working as expected.

Times must be in ISO 8601 UTC format with a Z suffix, for example 2026-05-14T21:00:00Z. Omitting the Z or using a local timezone offset can cause the ERDDAP server to misinterpret the window.

The run is taking a long time.

Large time windows with many stations can produce millions of rows. Narrow the time window, add a station filter, or reduce the maxItems limit to speed up the run.

I do not know which dataset ID to use.

Run the Actor in catalog mode first. It lists every dataset on the server with its ID, title, and coverage. Find the one that matches your needs and copy its ID into the datasetId field.

FAQ

Question Answer
What is ERDDAP? ERDDAP is a data server that gives a uniform way to download subsets of scientific datasets in common file formats. NOAA CoastWatch runs an ERDDAP server with oceanographic and meteorological data from buoys, satellites, and models.
Do I need an API key or account? No. NOAA CoastWatch ERDDAP is a public server. This Actor reads it directly with no registration, no API key, and no authentication.
What datasets can I scrape? Any tabledap dataset on the NOAA CoastWatch ERDDAP server. The default is cwwcNDBCMet, the NDBC Standard Meteorological Buoy Data feed. Use catalog mode to see every available dataset with its coverage details.
What variables are available? Each dataset has its own set of variables. For the default NDBC buoy dataset, common variables include wtmp (water temperature), atmp (air temperature), wspd (wind speed), wvht (wave height), and many others. Use catalog mode to inspect a dataset's variable list.
How do I filter by a specific buoy station? Set the Station filter field to the exact station ID, for example 41002 for a buoy off Cape Hatteras. The filter is applied server-side so only that station's records are returned.
What happens if I leave the time fields empty? The Actor queries the dataset's latest available timestamp and automatically sets a one-hour window ending at that time. This gives you the most recent observations without needing to know the latest timestamp yourself.
Can I pull data from multiple stations at once? Yes. Leave the Station filter empty and set a time window. The Actor returns all stations that reported within that window.
What output formats are supported? The Actor outputs a dataset you can export to CSV, JSON, Excel, or XML from your Apify run. The ERDDAP server itself also supports formats like netCDF, but this Actor returns flat rows.
How many records can I pull in one run? The Maximum datasets limit controls how many records are collected per run, up to 1,000,000. For station records mode, this caps the number of observation rows returned.
Is there a rate limit? NOAA ERDDAP servers are public and do not enforce strict rate limits, but very large requests may take time to process. Use the time window and station filter to keep requests targeted.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by NOAA CoastWatch. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
mode string (2 options) What to fetch. 'Station records' pulls oceanographic observations from a tabledap dataset. 'Dataset catalog' lists every dataset available in this ERDDAP with its coverage metadata. data
datasetId string The ERDDAP tabledap dataset ID to pull records from when Mode is 'Station records'. Defaults to cwwcNDBCMet, the NDBC Standard Meteorological Buoy Data feed. cwwcNDBCMet
variables array Measurement variables to return per record, for example wtmp (water temp), atmp (air temp), wspd (wind speed). station, longitude, latitude, and time are always included. Leave empty to use wtmp, atmp, wspd. ["wtmp","atmp","wspd"]
startTime string Lower bound of the time window in ISO 8601 UTC, for example 2026-05-14T21:00:00Z. Leave empty to auto-select a recent one hour window from the dataset's latest available data. not set
endTime string Upper bound of the time window in ISO 8601 UTC, for example 2026-05-14T22:00:00Z. Leave empty to auto-select the dataset's latest available timestamp. not set
stationFilter string Optional exact station ID to restrict results to a single station, for example 41002. Leave empty to include all stations in the time window. not set
maxItems integer How many datasets to collect per run. 10

Pricing

from $3.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.003 to $0.005

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~noaa-coastwatch-erddap-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run NOAA CoastWatch ERDDAP Ocean Data Scraper on Apify All scrapers