# 2s Weather Alert Watcher

> 2s Weather Alert Watcher is a paid API for AI agents from 2s.io, paid per call via x402, $0.125/call, status unknown (last checked 2026-09-13).

Registers a persistent webhook watcher that fires a signed callback whenever a matching NWS weather alert is issued for a US state or territory.

## Facts

- Endpoint: POST https://2s.io/api/watchers/weather-alert
- Price: $0.125/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-weather-alert-watcher-8a1be933
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xN3E5SQqX78GYl60MXRqG

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-weather-alert-watcher-8a1be933 -d '<json body>'
```

Example prompt: Set up a weather alert watcher for Texas that calls my endpoint at https://hooks.myapp.com/weather with a signed POST whenever a Severe or Extreme NWS alert fires — stop after 50 alerts and keep it active for 30 days.

## When to prefer this

Use this endpoint when you need ongoing, real-time monitoring of NWS weather alerts for a US state rather than a one-time query. It is ideal for automating downstream workflows (e.g. emergency notifications, logistics re-routing, app push alerts) that need to react immediately when NOAA issues new weather warnings. Prefer this over polling weather endpoints when you want push-based delivery with a signed callback, configurable severity filters, and a defined expiry window.

## Known failure modes

- Invalid or unrecognized US state/territory code returns a 400 error
- callbackUrl is unreachable or malformed — watcher may be created but callbacks will silently fail
- severity enum value not matching one of Minor/Moderate/Severe/Extreme causes a validation error
- expiresInSeconds outside 60–7776000 range returns a 400
- maxFires outside 1–1000 range returns a 400
- Payment not received (x402) results in a 402 Payment Required response
- Callback signature not verified by recipient leads to missed or rejected events

## How this service works

The (most) everything API: 575+ pay-per-call endpoints for AI agents — ground-truth data, a full AI gateway, and agent infrastructure (storage, queues, watchers). USDC via x402, no signup, no API keys, and upto billing: pay actual usage, not the quote.

## Output

Returns a JSON object confirming the watcher was created, with ok: true, the registered watcher details in items[], the total count, and source metadata (provider, URL, license). After registration, signed alert events are POSTed to the callbackUrl each time a matching NWS weather alert fires for the specified area.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "area": {
   "type": "string",
   "description": "US state/territory code, e.g. CA, TX, FL."
  },
  "label": {
   "type": "string",
   "maxLength": 64,
   "description": "Optional free-text tag."
  },
  "payload": {
   "type": "object",
   "description": "Arbitrary JSON echoed back in every callback.",
   "additionalProperties": {}
  },
  "maxFires": {
   "type": "integer",
   "maximum": 1000,
   "minimum": 1,
   "description": "Stop after this many alerts (default 25)."
  },
  "severity": {
   "enum": [
    "Minor",
    "Moderate",
    "Severe",
    "Extreme"
   ],
   "type": "string",
   "description": "Optional: only fire on alerts of this severity."
  },
  "callbackUrl": {
   "type": "string",
   "maxLength": 2048,
   "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
  },
  "expiresInSeconds": {
   "type": "integer",
   "maximum": 7776000,
   "minimum": 60,
   "description": "Active window in seconds (default 30d, max 90d)."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-weather-alert-watcher-8a1be933/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)
