v1: Retrieve climate and weather data
API: noaa.gov:noaa-ocean-api
Endpoint: /data/v1
Response format: application/json
Auth: none
Method: GET
Last Status:
400
Latency: 1478ms
Description
Access historical weather observations, marine data, and climate summaries from NOAA's archive. Supports various datasets including daily summaries, hourly observations, and marine surface data.
Parameters (11)
bbox
(string, query, optional)
Bounding box as four comma-separated numbers (N,W,S,E). North/South range -90 to 90, East/West range -180 to 180. Default is global extent.
dataTypes
(string, query, optional)
Comma-separated list of data type codes (e.g., TMAX, TMIN, PRCP, TMP, SEA_SURF_TEMP, WIND_SPEED)
dataset
(string, query, required)
Dataset identifier (e.g., daily-summaries, global-hourly, global-marine)
Constraints: {'enum': ['daily-summaries', 'global-hourly', 'global-marine', 'global-summary-of-the-day', 'global-summary-of-the-month', 'global-summary-of-the-year', 'global-historical-climatology-network-hourly', 'normals-daily', 'normals-monthly', 'normals-annualseasonal']}
endDate
(string, query, required)
End date in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss). Use Z for UTC or +/-HH:mm for timezone offset (encode + as %2B)
format
(string, query, optional, default: json)
Output format
Constraints: {'enum': ['json', 'csv', 'ssv', 'pdf', 'netcdf']}
includeAttributes
(boolean, query, optional, default: False)
Include measurement attributes
includeStationLocation
(boolean, query, optional, default: False)
Include station location (lat/lon) in output
includeStationName
(boolean, query, optional, default: False)
Include station name in output
startDate
(string, query, required)
Start date in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss). Use Z for UTC or +/-HH:mm for timezone offset (encode + as %2B)
stations
(string, query, optional)
Comma-separated list of station identifiers
units
(string, query, optional)
Unit system for output values
Constraints: {'enum': ['metric', 'standard']}
Examples (1)
Retrieve climate and weather data
openapi-spec
Curl
Python Requests
Zingu Apis
Javascript Fetch
curl 'https://www.ncei.noaa.gov/access/services/data/v1?bbox=40%2C-70%2C30%2C-60'
import requests
resp = requests.get(
"https://www.ncei.noaa.gov/access/services/data/v1",
params={
'bbox': '40,-70,30,-60',
},
)
data = resp.json()
import zingu_apis
api = zingu_apis.api("noaa-ocean")
result = api.fetch("data/v1", bbox="40,-70,30,-60")
for item in result:
print(item)
const resp = await fetch("https://www.ncei.noaa.gov/access/services/data/v1?bbox=40%2C-70%2C30%2C-60");
const data = await resp.json();
Run
Truncate
Auto
Table
Raw
Probe History
Time Status Latency Size
2026-04-16 17:09:59.610654
400
1478ms
2026-04-16 00:56:02.228112
400
869ms
2026-04-15 02:15:40.376659
400
888ms
2026-04-14 01:09:49.049896
400
1008ms
2026-04-12 16:27:55.791503
400
875ms
2026-04-10 03:18:19.084345
400
422ms
2026-04-09 01:07:50.512931
400
653ms
2026-03-23 10:43:36.555520
400
1014ms