# x402-factory Tornado Alerts & Risk

> x402-factory Tornado Alerts & Risk is a paid API for AI agents from x402-factory.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns active NWS tornado alerts and model-based tornado risk probability for any US point or state.

## Facts

- Endpoint: GET https://x402-factory.com/v1/alerts/tornado
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-factory-tornado-alerts-risk-0bb1c725
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_48DxR68SPfOSi81Jv6L4e

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 x402-factory-tornado-alerts-risk-0bb1c725
```

Example prompt: Are there any active tornado warnings or watches right now near latitude 35.46, longitude -97.51 in Oklahoma, and what's the model-based tornado risk probability for that area?

## When to prefer this

Choose this endpoint when you specifically need tornado-filtered NWS alerts combined with model-based probability — rather than the broader /v1/alerts/severe which covers all hazard types. Ideal for agents that need tornado-specific situational awareness for a US point or state in real time, especially when you want both official NWS alert status and a probabilistic forecast risk score in a single call.

## Known failure modes

- No active alerts returns empty 'active' array — not an error
- Invalid lat/lon outside US bounds may return empty or error response
- Missing required query param (lat+lon or state) may return 400 bad request
- NWS upstream outage could result in stale or missing active alert data
- State code not matching ^[A-Za-z]{2}$ pattern returns validation error
- Payment failure via x402 protocol returns 402 before any weather data is returned

## How this service works

Active and forecast tornado risk (NWS + model) — Active NWS alerts filtered to tornado hazards for any US point, with model-based risk context. Same shape as /v1/alerts/severe with the hazard class fixed to tornado.

## Output

Returns two arrays: (1) 'active' — a list of current NWS tornado alerts each with event name, severity, headline, onset/expires timestamps, and source; (2) 'model_risk' — a list of model-derived tornado hazard entries each with hazard type, probability (0–1), and a time window (start/end). Also includes a meta object with response context.

## 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": [],
     "properties": {
      "lat": {
       "type": "number",
       "maximum": 90,
       "minimum": -90
      },
      "lon": {
       "type": "number",
       "maximum": 180,
       "minimum": -180
      },
      "state": {
       "type": "string",
       "pattern": "^[A-Za-z]{2}$",
       "maxLength": 2,
       "minLength": 2
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data",
      "meta"
     ],
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "active",
        "model_risk"
       ],
       "properties": {
        "active": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "event",
           "severity",
           "headline",
           "onset",
           "expires",
           "source"
          ],
          "properties": {
           "event": {
            "type": "string"
           },
           "onset": {
            "type": "string"
           },
           "source": {
            "type": "string",
            "const": "NWS"
           },
           "expires": {
            "type": "string"
           },
           "headline": {
            "type": "string"
           },
           "severity": {
            "type": "string"
           }
          },
          "additionalProperties": false
         }
        },
        "model_risk": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "hazard",
           "window_start",
           "window_end",
           "probability"
          ],
          "properties": {
           "hazard": {
            "type": "string"
           },
           "window_end": {
            "type": "string"
           },
           "probability": {
            "type": "number",
            "maximum": 1,
            "minimum"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-factory-tornado-alerts-risk-0bb1c725/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-factory.com](https://www.zero.xyz/host/x402-factory.com/llms.txt)
