# NOAA CO-OPS Water Levels & Tide Predictions

> NOAA CO-OPS Water Levels & Tide Predictions is a paid API for AI agents from project-api-gamma-sable.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Fetches NOAA Center for Operational Oceanographic Products and Services (CO-OPS) water level and tide prediction data for a specified station, date range, and datum.

## Facts

- Endpoint: GET https://project-api-gamma-sable.vercel.app/paid/noaa/coops?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/noaa-co-ops-water-levels-tide-predictions-348c1690
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eclLB6fIXPKytI91hQZZ_

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 noaa-co-ops-water-levels-tide-predictions-348c1690
```

Example prompt: Pull NOAA CO-OPS tide predictions for station 8454000 (Newport, RI) from 2024-06-01 to 2024-06-07, using the MLLW datum, in English units, with a hourly interval.

## When to prefer this

Choose this endpoint when you need NOAA CO-OPS tide and water level data programmatically via a pay-per-call micro-payment API (USDC on Base via x402 protocol) rather than calling NOAA directly. Ideal for AI agents that need structured, slim JSON tidal data without managing NOAA API authentication, and for workflows that want automatic micropayment settlement. Prefer this over scraping NOAA directly when you need reliable structured output with a defined schema.

## Known failure modes

- HTTP 402 Payment Required if USDC payment on Base is not included
- Missing or invalid station ID returns an error or empty items array
- Invalid date format (not YYYY-MM-DD) may cause a query failure
- Unsupported product name or datum string results in an error response
- Station with no data for requested date range returns empty items
- Network or upstream NOAA API outage causes failure

## How this service works

Paid public-data feeds. Unpaid requests return HTTP 402. Prices are USDC on Base.

## Output

Returns a slim JSON object containing an items array of water level or tide prediction records for the requested station and date range, along with a uiLink pointing to the NOAA CO-OPS visualization page for the same query. Each item contains timestamped water level or prediction values.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "station"
     ],
     "properties": {
      "id": {
       "type": "string",
       "description": "ROR id"
      },
      "date": {
       "type": "string",
       "description": "Query param: date"
      },
      "datum": {
       "type": "string",
       "description": "Query param: datum"
      },
      "limit": {
       "type": "string",
       "description": "Max results"
      },
      "units": {
       "type": "string",
       "description": "Query param: units"
      },
      "endDate": {
       "type": "string",
       "description": "End date (YYYY-MM-DD)"
      },
      "product": {
       "type": "string",
       "description": "Product name or CFPB product"
      },
      "station": {
       "type": "string",
       "description": "NOAA station id"
      },
      "end_date": {
       "type": "string",
       "description": "Query param: end_date"
      },
      "interval": {
       "type": "string",
       "description": "Query param: interval"
      },
      "timeZone": {
       "type": "string",
       "description": "Query param: timeZone"
      },
      "beginDate": {
       "type": "string",
       "description": "Query param: beginDate"
      },
      "stationId": {
       "type": "string",
       "description": "Query param: stationId"
      },
      "time_zone": {
       "type": "string",
       "description": "Query param: time_zone"
      },
      "begin_date": {
       "type": "string",
       "description": "Query param: begin_date"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "what": "NOAA CO-OPS water levels / tide predictions (slim JSON + uiLink)",
  "items": [],
  "source": "/paid/noaa/coops"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/noaa-co-ops-water-levels-tide-predictions-348c1690/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from project-api-gamma-sable.vercel.app](https://www.zero.xyz/host/project-api-gamma-sable.vercel.app/llms.txt)
