# 2s.io NOAA GHCN-Daily Historical Weather Observations

> 2s.io NOAA GHCN-Daily Historical Weather Observations is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-15).

Returns historical daily weather observations (temperature, precipitation, snow, wind) for a specific NOAA GHCN-Daily station over a date range up to 366 days.

## Facts

- Endpoint: GET https://2s.io/api/climate/station-history
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-noaa-ghcn-daily-historical-weather-observations-1456965c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oGttI6MXeh5Q_Xebh7naq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-noaa-ghcn-daily-historical-weather-observations-1456965c
```

Example prompt: Pull the historical daily weather records for NOAA station USW00094728 (NYC Central Park) from July 1 to July 31, 2010 — I want max temp, min temp, and precipitation for each day.

## When to prefer this

Choose this endpoint when you need actual measured historical weather observations (not forecasts or model estimates) for a specific NOAA GHCN-Daily station. Ideal for climate research, historical event reconstruction, date-specific weather lookups, or any use case requiring ground-truth measured values going back decades or centuries. Use the companion /api/climate/station-near endpoint first if you only have coordinates and need to find the nearest station ID.

## Known failure modes

- Invalid or unknown GHCN station ID returns an error or empty result
- Date range exceeds 366 days — API enforces per-call limit
- startDate after endDate returns an error
- Requested data types not available for the given station/period return missing fields
- Station has gaps in historical record for certain dates
- Invalid date format (not YYYY-MM-DD) causes a parsing error

## How this service works

Historical daily weather observations from NOAA GHCN-Daily for one station and date range (up to 366 days per call): max/min/avg temperature (°C), precipitation (mm), snowfall and snow depth (mm), wind (m/s). Coverage reaches back to the 1800s for long-running stations — actual measured values for "what was the weather on this date", not model recall. Pass a GHCN station id (e.g. USW00094728 = NYC Central Park); find the nearest station for any coordinate with /api/climate/station-near first. dataTypes selects elements (default TMAX,TMIN,PRCP). NOAA public-domain data.

## Output

Returns daily weather observation records for the requested station and date range, including max/min/avg temperature in °C, precipitation in mm, snowfall and snow depth in mm, and wind speed in m/s, sourced from NOAA GHCN-Daily public-domain data. Coverage can extend back to the 1800s for long-running stations.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "endDate": "2010-07-31",
   "station": "USW00094728",
   "dataTypes": "TMAX,TMIN,PRCP",
   "startDate": "2010-07-01"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "station",
      "startDate",
      "endDate"
     ],
     "properties": {
      "endDate": {
       "type": "string",
       "description": "Range end, YYYY-MM-DD (≤366 days after start)."
      },
      "station": {
       "type": "string",
       "description": "GHCN-Daily station id, e.g. USW00094728."
      },
      "dataTypes": {
       "type": "string",
       "description": "Comma-separated element codes. Allowed: TMAX, TMIN, TAVG, PRCP, SNOW, SNWD, AWND, WSF2, WSF5, EVAP. Default TMAX,TMIN,PRCP."
      },
      "startDate": {
       "type": "string",
       "description": "Range start, YYYY-MM-DD."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-noaa-ghcn-daily-historical-weather-observations-1456965c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
