: Retrieve environmental data

API: noaa.gov:noaa-ocean-data-api
Endpoint: /
Response format: application/json
Auth: none
Method: GET
Last Status: 0

Description

Query environmental data from various NOAA datasets including daily weather summaries, global marine data, climate normals, and more. Returns data in JSON, CSV, or other formats.

Parameters (11)

boundingBox (string, query, optional)

Geographic bounding box as four comma-separated numbers: North,West,South,East (e.g., 49.795,-2.073,49.183,-0.992). Required for global-marine dataset.

Constraints: {'pattern': '^-?\\d+\\.?\\d*,-?\\d+\\.?\\d*,-?\\d+\\.?\\d*,-?\\d+\\.?\\d*$'}

dataTypes (string, query, optional)

Comma-separated list of data types/variables to retrieve. Case-sensitive. Examples: SEA_SURF_TEMP,OSV-SALINITY for marine; TMAX,TMIN,PRCP for weather

dataset (string, query, required)

Dataset identifier (e.g., daily-summaries, global-marine, global-summary-of-the-year, global-summary-of-the-month, normals-monthly-1991-2020, normals-daily-1991-2020)

Constraints: {'enum': ['daily-summaries', 'global-marine', 'global-summary-of-the-year', 'global-summary-of-the-month', 'normals-monthly-1991-2020', 'normals-daily-1991-2020']}

endDate (string, query, required)

End date in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss)

format (string, query, optional, default: json)

Output format

Constraints: {'enum': ['json', 'csv', 'ssv', 'pdf', 'netcdf']}

includeAttributes (boolean, query, optional)

Include data quality attributes

includeStationLocation (boolean, query, optional)

Include station coordinates in output

includeStationName (boolean, query, optional)

Include station name in output

startDate (string, query, required)

Start date in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss)

stations (string, query, optional)

Comma-separated list of station IDs (e.g., USC00457180,USW00014734). Required for most datasets except global-marine.

units (string, query, optional, default: metric)

Unit system for output values

Constraints: {'enum': ['metric', 'standard']}

Examples (3)

Retrieve environmental data openapi-spec
curl 'https://www.ncei.noaa.gov/access/services/data/v1/?dataset=daily-summaries&stations=USW00094846&startDate=2023-01-01&endDate=2023-12-31&dataTypes=TEMP%2CWIND%2CPRCP&bbox=45%2C-125%2C25%2C-65'
import requests

resp = requests.get(
    "https://www.ncei.noaa.gov/access/services/data/v1/",
    params={
        'dataset': 'daily-summaries',
        'stations': 'USW00094846',
        'startDate': '2023-01-01',
        'endDate': '2023-12-31',
        'dataTypes': 'TEMP,WIND,PRCP',
        'bbox': '45,-125,25,-65',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("noaa-ocean-data")
result = api.fetch("", dataset="daily-summaries", stations="USW00094846", startDate="2023-01-01", endDate="2023-12-31", dataTypes="TEMP,WIND,PRCP", bbox="45,-125,25,-65")

for item in result:
    print(item)
const resp = await fetch("https://www.ncei.noaa.gov/access/services/data/v1/?dataset=daily-summaries&stations=USW00094846&startDate=2023-01-01&endDate=2023-12-31&dataTypes=TEMP%2CWIND%2CPRCP&bbox=45%2C-125%2C25%2C-65");
const data = await resp.json();
Query environmental data openapi-spec
curl 'https://www.ncei.noaa.gov/access/services/data/v1/?dataset=daily-summaries&stations=USW00014764%2CUSC00457180&startDate=2023-01-01&endDate=2023-01-31&dataTypes=PRCP%2CTMAX%2CTMIN&boundingBox=49.795%2C-2.073%2C49.183%2C-0.992&format=json&includeAttributes=True&includeStationName=True&includeStationLocation=True&units=metric'
import requests

resp = requests.get(
    "https://www.ncei.noaa.gov/access/services/data/v1/",
    params={
        'dataset': 'daily-summaries',
        'stations': 'USW00014764,USC00457180',
        'startDate': '2023-01-01',
        'endDate': '2023-01-31',
        'dataTypes': 'PRCP,TMAX,TMIN',
        'boundingBox': '49.795,-2.073,49.183,-0.992',
        'format': 'json',
        'includeAttributes': 'True',
        'includeStationName': 'True',
        'includeStationLocation': 'True',
        'units': 'metric',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("noaa-ocean-data")
result = api.fetch("", dataset="daily-summaries", stations="USW00014764,USC00457180", startDate="2023-01-01", endDate="2023-01-31", dataTypes="PRCP,TMAX,TMIN", boundingBox="49.795,-2.073,49.183,-0.992", format="json", includeAttributes="True", includeStationName="True", includeStationLocation="True", units="metric")

for item in result:
    print(item)
const resp = await fetch("https://www.ncei.noaa.gov/access/services/data/v1/?dataset=daily-summaries&stations=USW00014764%2CUSC00457180&startDate=2023-01-01&endDate=2023-01-31&dataTypes=PRCP%2CTMAX%2CTMIN&boundingBox=49.795%2C-2.073%2C49.183%2C-0.992&format=json&includeAttributes=True&includeStationName=True&includeStationLocation=True&units=metric");
const data = await resp.json();
Retrieve environmental data openapi-spec
curl 'https://www.ncei.noaa.gov/access/services/data/v1/'
import requests

resp = requests.get("https://www.ncei.noaa.gov/access/services/data/v1/")
data = resp.json()
import zingu_apis

api = zingu_apis.api("noaa-ocean-data")
result = api.fetch("")

for item in result:
    print(item)
const resp = await fetch("https://www.ncei.noaa.gov/access/services/data/v1/");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 03:04:44.577894 ERR
2026-04-16 03:02:52.369749 ERR
2026-04-16 02:17:08.852446 404 926ms
2026-04-15 04:12:49.772887 404 653ms
2026-04-15 01:42:48.418353 404 460ms
2026-04-15 01:17:03.670875 404 570ms
2026-04-14 02:23:24.548321 404 423ms
2026-04-14 00:42:12.101477 404 874ms
2026-04-14 00:03:06.784763 404 886ms
2026-04-12 16:15:43.048507 404 406ms
2026-04-12 16:05:54.039951 404 452ms
2026-04-12 13:18:54.328684 404 386ms
2026-04-10 06:50:37.254832 404 373ms
2026-04-10 01:52:58.454211 404 689ms
2026-04-10 01:30:20.488734 404 604ms
2026-04-09 01:58:37.652948 404 420ms
2026-04-09 01:39:59.661678 404 449ms
2026-04-09 00:12:34.416176 404 688ms
2026-03-16 21:11:41.176403 404 418ms
2026-03-16 05:38:34.427681 404 489ms