Early access — be first in line

Weather triggers.
Built for production.

Turn any weather condition into a signed webhook — edge-triggered, delivery-guaranteed, observable.

You're on the list!

We'll email you when wettr.xyz launches.

No spam. Unsubscribe any time.

Edge-triggered — fires once per transition
HMAC-signed — every payload is verifiable
Delivery guaranteed — retry with backoff

How it works

Three steps to weather automation

1

Create an alert

Define your rule in JSON — any combination of temperature, wind, precipitation, or probability conditions over a time window.

2

Condition fires

wettr.xyz polls the forecast on your schedule. When the rule transitions from false → true, a unique event is created — exactly once.

3

Signed webhook delivered

Your endpoint receives a signed POST request with full event context. Failed deliveries retry automatically — up to 5 attempts.

Payload

Everything your app needs

Each webhook includes the full rule context, location, and a signature header you can verify in one line.

POST https://your-app.com/webhooks/weather
Content-Type: application/json
X-Wettr-Signature: sha256=a3f9d1c2b4e8f6a7...
X-Wettr-Event-Id: evt_01HX3R7N...
{
  "event_id": "evt_01HX3R7NKQWP8ZMD4BVC6YG5TA",
  "alert_id": "alt_01HX1K9MFPQR3WBE7NJT2XC8SL",
  "triggered_at": "2025-01-15T09:00:00Z",
  "location": {
    "lat": 47.6062,
    "lon": -122.3321,
    "label": "Seattle, WA"
  },
  "rule": {
    "operator": "AND",
    "conditions": [
      {
        "metric": "wind_speed_kmh",
        "comparison": "GT",
        "value": 60,
        "window_hours": 6
      },
      {
        "metric": "precipitation_mm",
        "comparison": "GTE",
        "value": 10,
        "window_hours": 6
      }
    ]
  },
  "matched_forecast": {
    "time": "2025-01-15T11:00:00Z",
    "temperature_c": 7.2,
    "wind_speed_kmh": 74.1,
    "precipitation_mm": 12.8,
    "precip_probability_pct": 95
  }
}

Features

Production-grade from day one

Edge-triggered

Fires once when a condition becomes true — not on every evaluation. Your automation responds to the moment of change, not the steady state.

HMAC-signed payloads

Every webhook includes X-Wettr-Signature for verification. One HMAC_SHA256 check and you know the payload is authentic.

Observable delivery logs

Every delivery attempt is logged — status code, latency, error message. Know exactly what happened to every event, without digging through your own logs.

No-spam cooldown

Configure a cooldown window per alert. Even if the weather oscillates, your webhook fires at most once per cooldown period — keeping your automation quiet when it should be.

Pricing

Start free, scale when you need to

All plans include HMAC signing, delivery logs, and retry backoff.

Free

$0 /month
  • 10 alerts
  • 15-min evaluation interval
  • HMAC signing
  • 5 retry attempts
Join waitlist

Pro

$49 /month
  • 5,000 alerts
  • 1-min evaluation interval
  • HMAC signing
  • Priority delivery queue
  • Priority support + SLA
Join waitlist

FAQ

Common questions

The initial release supports four metrics: temperature (°C), wind speed (km/h), precipitation (mm), and precipitation probability (%). You can combine them with AND/OR logic and specify a time window (e.g., "any point in the next 6 hours"). More metrics — UV index, humidity, snow depth — are on the roadmap.

wettr.xyz tracks the previous evaluation state for each alert. A webhook fires only when the rule transitions from false → true. If wind speed stays above your threshold for 12 hours, you get exactly one webhook — at the moment it crossed the threshold. The event won't repeat until the condition clears and fires again. The optional cooldown window gives you additional control.

Forecasts are sourced from Open-Meteo, a high-resolution open-source weather API that aggregates multiple global models (ECMWF, GFS, and others). It offers 1 km resolution for some regions and sub-hourly updates. Accuracy varies by location and forecast horizon, as with any weather service — wettr.xyz provides the trigger infrastructure, not the forecast itself.

wettr.xyz retries failed deliveries on a backoff schedule: immediately, then +1 min, +5 min, +15 min, and +60 min. After 5 attempts, the delivery is marked failed and logged. Every attempt — status code, latency, error — is visible in your delivery log. The same event_id is preserved across retries, so your endpoint can safely deduplicate.

Ready to automate weather?

Join the waitlist — we'll let you know the moment we launch.

You're on the list!