Storm-verified property intelligence. Radar-measured hail events, webhook alerts for your coverage areas, and per-property exposure reports. Measured events only — never forecasts.
curl -X POST https://swathapi.com/v1/signup -H "content-type: application/json" \
-d '{"email": "you@company.com"}'
The response contains your API key — store it; it is shown once. Free plan: 100 credits/month (100 Swath Report properties or 50 property lookups) — built for integration and evaluation.
curl -X POST https://swathapi.com/v1/monitors -H "Authorization: Bearer sk_..." \
-H "content-type: application/json" \
-d '{"name": "DFW territory", "bbox": [-97.5, 32.5, -96.4, 33.3],
"hail_min_in": 1.0, "webhook_url": "https://your-app.com/hooks/swath"}'
Save the returned webhook_secret. When a verified storm crosses your area you receive
one storm.verified POST, HMAC-signed in X-Swath-Signature. The payload includes the storm's county (resolved from the swath centroid; null only offshore/out-of-US)
(t=<unix>,v1=hex(hmac_sha256(secret, t + "." + body))), retried with backoff.
No webhook endpoint? Pass "email_alerts": true instead of (or alongside)
webhook_url and Swath emails your account address when a storm hits — alerts only ever
go to the account owner's email; there is no recipient field.
curl "https://swathapi.com/v1/swaths/{storm_id}/properties?roof_age_min=10&owner_occupied=true" \
-H "Authorization: Bearer sk_..."
Every affected parcel with year built, sqft, roof age (+ how it was derived), assessed value,
owner-occupancy, and exposure: { hail_in, score } — the hail size measured at that property.
Billed per record: 1 credit per property returned (10-credit minimum); records fetched fresh from the
parcel vendor add 25 credits each. Preview the cost first with
GET /v1/swaths/{storm_id}/properties/quote (1 credit) — it returns the cached match count
and a clearly-labeled fresh-fetch estimate without returning rows.
Swath is also an MCP server. Paste https://swathapi.com/mcp?key=YOUR_KEY into Claude, ChatGPT,
Claude Code, Cursor, VS Code, Windsurf, Gemini CLI, or any MCP-capable client — per-client setup
steps and copy-paste configs live at /integrations.
| Endpoint | Credits |
|---|---|
GET /v1/storms — verified events (bbox, since, type) | 1 |
GET /v1/swaths/{id} / /geometry | 1 |
GET /v1/swaths/{id}/properties — ★ Swath Report | 1 / property returned · +25 / fresh-fetched · 10 min |
GET /v1/swaths/{id}/properties/quote — report cost preview | 1 |
POST /v1/swaths/{id}/email-report — email a report summary to your account address | 1 · report pricing with ?limit= |
GET /v1/property?address=… (or lat/lng, parcel_id) | 2 |
POST/GET/DELETE /v1/monitors | 1 |
GET /v1/usage — your month-to-date usage | 1 |
Failed requests are never billed. Rate limits: free 60/min, developer 300/min, scale 1200/min. Paid plans continue past their included credits as metered overage ($0.008/credit developer, $0.005 scale); the free plan hard-stops. Free-plan property data is served from cache only — full live parcel coverage requires a paid plan.
Swath API home · Pricing · Live map · agents.md
© 2026 SWATH API · MEASURED EVENTS ONLY · Developed by VIBECODEBEAST