InsurTech / PropTech

    Wildfire Risk Assessment

    Current wildfire risk, not last year's survey.

    0–100 (higher = riskier)
    Risk score range
    Last 30 days of imagery
    Data currency
    30 m (SRTM)
    Terrain resolution
    100 m (Landsat thermal)
    Temperature resolution

    The Problem

    Property insurers, developers, and municipalities need current wildfire hazard assessments, but fire risk maps published by government agencies update annually at best, using models that don't reflect recent vegetation change, drought stress, or fuel accumulation. Post-wildfire insurance withdrawals from entire counties have created coverage gaps because risk signals arrived too late for proactive underwriting adjustments.

    How Satalyse Solves It

    Satalyse's Risk Scoring endpoint calculates wildfire risk by combining live satellite-derived vegetation dryness (from Sentinel-2 NDVI and moisture index), surface temperature from Landsat thermal bands, and terrain slope from SRTM, building a composite hazard score calibrated to current conditions, not last year's model. Feature Extraction can be run first to get granular fuel-load metrics for high-precision applications.

    Risk Scoring
    POST /api/v1/satellite/score-risk
    Composite wildfire risk score using current vegetation dryness, temperature, and terrain
    Feature Extraction
    POST /api/v1/satellite/extract-features
    Returns granular vegetation dryness, fuel moisture index, and surface temperature

    Code Example

    wildfire-risk-assessment.py
    REQUEST
    1"color:#c084fc">import requests
    2
    3"color:#4b5563"># Assess wildfire risk "color:#c084fc">for a hillside residential development "color:#c084fc">in Cali"color:#c084fc">fornia
    4response = requests.post(
    5 "https://api.satalyse.dev/api/v1/satellite/score-risk",
    6 headers={"Authorization": "Bearer sat_sk_live_..."},
    7 json={
    8 "geometry": {
    9 "type": "Polygon",
    10 "coord">inates": [[
    11 [-118.731, 34.172], [-118.712, 34.172],
    12 [-118.712, 34.158], [-118.731, 34.158],
    13 [-118.731, 34.172]
    14 ]]
    15 },
    16 "asset_type": "residential",
    17 "location_context": "rural",
    18 "risk_factors": ["wildfire"],
    19 "time_horizon_days": 365
    20 }
    21)
    22
    23data = response.json()
    24fire = data["component_scores"]["wildfire"]
    25"color:#c084fc">print(f"Wildfire score: {fire['score']}/100")
    26"color:#c084fc">print(f"Risk level: {fire['level']}")
    27"color:#c084fc">print(f"Premium impact: {data['">insurance_implications']['estimated_annual_premium_multiplier']}x")
    200 OKRESPONSE
    {
      "request_id": "req_fire001",
      "status": "success",
      "timestamp": "2025-01-15T12:00:00Z",
      "location": { "area_km2": 0.30, "asset_type": "residential" },
      "overall_risk_score": 82,
      "overall_risk_level": "very_high",
      "overall_risk_trend": "increasing",
      "component_scores": {
        "wildfire": { "score": 82, "level": "very_high", "confidence": 0.80 }
      },
      "risk_summary": {
        "primary_risks": [
          { "risk": "wildfire", "score": 82, "action": "Create defensible space and clear dry vegetation" }
        ]
      },
      "insurance_implications": {
        "estimated_annual_premium_multiplier": 1.41,
        "recommendation": "Enhanced wildfire coverage required"
      },
      "recommendations": [
        { "priority": "high", "action": "Clear dry vegetation within 30m perimeter", "estimated_cost": "low", "risk_reduction": 20 }
      ],
      "api_metadata": { "version": "2.0", "execution_time_ms": 3900, "cost_credits": 40, "cache_hit": false }
    }

    Ready to try it?

    Test this use case in the interactive playground. Free tier, no credit card needed.

    Related Use Cases

    Relevant locations