API Documentation
CivilSense API v1 provides programmatic access to US catastrophe intelligence. All event output is OGC-compliant GeoJSON. All coordinates WGS84. All timestamps UTC ISO 8601. Hazard score endpoints support ?format=oasis for OASIS LMF integration.
Get started in 5 minutes
Create a free account
Sign up at civilsense.io/pricing to get started. The free tier includes live event feeds, consequence rings, and basic hazard scoring with no authentication required. Public endpoints work immediately.
Get your API token
Sign in with your email (magic link). CivilSense uses Supabase Auth — after sign-in, you receive a JWT access token. Pass it as a Bearer token in the Authorization header for protected endpoints. ILS Pro and Enterprise tiers also receive dedicated API keys (prefixed cs_live_) for server-to-server integration.
Make your first request
Fetch all active US disaster events as GeoJSON. No authentication required.
"color: var(">--text-link, #5B9BD5)">curl -s "https://civilsense.io/api/v1/events/live" \
"color: var(--peril-severe, #9B59B6)">-H "Accept: application/json" | jq .Code Examples
Get hazard score for a location
GET /api/v1/risk/score — Returns climate-adjusted hazard scores with full score component breakdown. Free tier returns one peril; Pro+ returns all relevant perils.
"color: var(">--text-link, #5B9BD5)">curl -s "https://civilsense.io/api/v1/risk/score?lat=29.76&lng=-95.37&perils=hurricane" \
"color: var(--peril-severe, #9B59B6)">-H "Authorization: Bearer YOUR_TOKEN" | jq .Export in OASIS LMF format
GET /api/v1/risk/score?format=oasis — Same endpoint, OASIS Loss Modelling Framework output. Compatible with Moody's RMS and Verisk integration pipelines. ILS Pro+ only.
"color: var(">--text-link, #5B9BD5)">curl -s "https://civilsense.io/api/v1/risk/score?lat=29.76&lng=-95.37&perils=hurricane&format=oasis" \
"color: var(--peril-severe, #9B59B6)">-H "Authorization: Bearer YOUR_TOKEN" -o hazard_score.jsonCreate an ILS parametric trigger
POST /api/v1/triggers — Monitor cat bond positions against live event data. Threshold types include wind speed (kt), storm surge (ft), magnitude, gauge stage, and industry loss. Command tier: 3 triggers. ILS Pro: 10. Enterprise: unlimited.
"color: var(">--text-link, #5B9BD5)">curl "color: var(--peril-severe, #9B59B6)">-X POST "https://civilsense.io/api/v1/triggers" \
"color: var(--peril-severe, #9B59B6)">-H "Authorization: Bearer YOUR_TOKEN" \
"color: var(--peril-severe, #9B59B6)">-H "Content-Type: application/json" \
"color: var(--peril-severe, #9B59B6)">-d '{
"name": "Gulf Hurricane CAT3+ Monitor",
"peril": "hurricane",
"lat": 29.76,
"lng": -95.37,
"radius_km": 200,
"threshold_type": "wind_speed_kt",
"threshold_value": 96,
"alert_at_pct": 80,
"notes": "Alert when a storm reaches 80% of CAT3 threshold within 200km of Houston"
}'Base URL
https://civilsense.io/api/v1Authentication
Public endpoints (no auth required)
Live events, consequence rings, basic hazard scores, AI sitreps, and OSINT feeds are available without authentication. Rate limited to 10 requests/minute by IP.
Bearer token (Pro, Command)
After signing in with Supabase Auth (magic link), include the JWT access token in every request to protected endpoints.
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...API keys (ILS Pro, Enterprise)
Server-to-server API keys are issued to ILS Pro and Enterprise subscribers. Keys are prefixed cs_live_ (production) or cs_test_ (sandbox). Pass them the same way as Bearer tokens.
Authorization: Bearer cs_live_abc123...Rate Limits
All API routes use sliding-window rate limiting via Upstash Redis. Rate limit headers X-RateLimit-Remaining and X-RateLimit-Reset are included on every response. Exceeding the limit returns 429 with a Retry-After header.
Response Format
Event feeds return OGC-compliant GeoJSON FeatureCollections. Each feature includes a Point geometry (WGS84 coordinates as [lng, lat]) and a properties object with event metadata, severity, status, and source provenance.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-118.2437, 34.0522]
},
"properties": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "M5.2 Earthquake — Los Angeles, CA",
"event_type": "earthquake",
"severity": 5.2,
"severity_label": "M5.2 MODERATE",
"status": "active",
"started_at": "2026-03-20T14:23:00Z",
"source": "usgs",
"source_url": "https://earthquake.usgs.gov/earthquakes/eventpage/ci12345678",
"confidence_score": 1.0,
"slug": "m52-earthquake-los-angeles-ca-2026-03-20"
}
}
]
}Events
Real-time US multi-peril disaster event feeds
/api/v1/events/liveAll active + monitoring events as GeoJSON FeatureCollectionpublic/api/v1/events/{id}Single event detail with full metadatapublic/api/v1/events/{id}/ringsConsequence ring polygons as GeoJSONpublic/api/v1/events/nearbyEvents within radius of a lat/lng pointpublicIntelligence
AI sitreps, OSINT feeds, and event timelines
/api/v1/events/{id}/sitrepAI-generated BLUF situation report (3 sentences)public/api/v1/events/{id}/osintCredibility-filtered OSINT news itemspublic/api/v1/events/{id}/timelineEvent status arc (containment, wind, gauge readings)proScoring
Climate-adjusted hazard scores with full methodology transparency
/api/v1/risk/scorePoint-in-time hazard score by lat/lng. Supports ?format=oasispublic/api/v1/events/{id}/scoreHazard scores at the event's geographic locationpublicPortfolio
Portfolio management and exposure analysis
/api/v1/portfolioList portfolios with nested locationspro/api/v1/portfolioCreate a portfoliopro/api/v1/portfolio/exposurePortfolio exposure against active consequence ringspro/api/v1/portfolio/ep-curveExceedance probability curve for a portfolioenterpriseTriggers
ILS parametric trigger monitoring for cat bond positions
/api/v1/triggersList active ILS triggerspro/api/v1/triggersCreate a parametric triggerpro/api/v1/triggers/{id}/historyTrigger evaluation history with threshold proximityproLocations
Saved locations with alerting and exposure checking
/api/v1/locationsList saved locationspublic/api/v1/locationsSave a new locationpublic/api/v1/locations/exposureCheck saved locations against active event ringspublic/api/v1/locations/alertsUnread alert notificationspublicOutput Formats
JSON (default)
All responses default to JSON. Event feeds use OGC-compliant GeoJSON FeatureCollection format.
OASIS LMF
Add ?format=oasis to scoring endpoints for OASIS Loss Modelling Framework output. Compatible with Moody's RMS and Verisk platforms.
OpenAPI Specification
Full OpenAPI 3.0.3 specification with request/response schemas, authentication, and parameter documentation. Available for import into Postman, Swagger UI, or automated client generation.
Data Standards
| Coordinate System | WGS84 (EPSG:4326) |
| Timestamps | UTC ISO 8601 |
| Event Output | OGC-compliant GeoJSON |
| Field Naming | ACORD-compatible on insurance outputs |
| Score Format | 0.00–10.00 with score_components JSONB |
| Source Provenance | source + source_url + ingested_at on every record |
API access is subject to rate limits and subscription tier. For situational awareness only — not for emergency response.