AgTech

    Crop Health Monitoring

    Detect crop stress before it becomes yield loss.

    10 m (NDVI)
    Spatial resolution
    NDVI, EVI, moisture, temp
    Metrics returned
    5 days
    Revisit frequency
    Multi-image composite
    Cloud handling

    The Problem

    Agtech platforms and large-scale farming operations need continuous crop health signals across thousands of parcels, but deploying soil sensors or scouting teams at that scale is cost-prohibitive. In-season stress events (drought, pest, disease, waterlogging) cause yield losses that go undetected until harvest. Existing remote sensing tools require GIS expertise and per-image licensing fees that don't fit product economics.

    How Satalyse Solves It

    Satalyse's Feature Extraction endpoint returns NDVI, surface temperature, moisture index, and canopy metrics for any field polygon in a single API call. Combine with Temporal Analysis to build season-over-season baselines per field and automatically flag when current-season readings deviate, surfacing stress events weeks earlier than visual inspection.

    Feature Extraction
    POST /api/v1/satellite/extract-features
    Returns NDVI, moisture index, and surface temperature for the field polygon
    Temporal Analysis
    POST /api/v1/satellite/analyze-temporal-trends
    Builds season-over-season NDVI baselines and detects deviations

    Code Example

    crop-health-monitoring.py
    REQUEST
    1"color:#c084fc">import requests
    2
    3"color:#4b5563"># Get vegetation health metrics "color:#c084fc">for a corn field
    4response = requests.post(
    5 "https://api.satalyse.dev/api/v1/satellite/extract-features",
    6 headers={"Authorization": "Bearer sat_sk_live_..."},
    7 json={
    8 "geometry": {
    9 "type": "Polygon",
    10 "coord">inates": [[
    11 [-93.142, 41.882], [-93.128, 41.882],
    12 [-93.128, 41.871], [-93.142, 41.871],
    13 [-93.142, 41.882]
    14 ]]
    15 },
    16 "measurement_date": "2024-08-15",
    17 "features_requested": ["vegetation", "water", "temperature"]
    18 }
    19)
    20
    21data = response.json()
    22veg = data["features"]["vegetation"]
    23"color:#c084fc">print(f"NDVI: {veg['NDVI']['value']:.3f}")
    24"color:#c084fc">print(f"Health score: {data['health_score']['overall']}/100")
    25"color:#c084fc">print(f"Stress detected: {veg['vegetation_stress']['detected']}")
    200 OKRESPONSE
    {
      "request_id": "req_def456",
      "status": "success",
      "timestamp": "2025-01-15T12:00:00Z",
      "location": { "area_km2": 0.12, "centroid": { "lat": 41.877, "lng": -93.135 } },
      "measurement_date": "2024-08-15",
      "features": {
        "vegetation": {
          "NDVI": { "value": 0.61, "range": [0, 1], "interpretation": "moderate", "confidence": 0.88 },
          "EVI": { "value": 0.49, "interpretation": "moderate vegetation activity" },
          "vegetation_type": "cropland",
          "vegetation_stress": { "detected": true }
        },
        "water": {
          "NDWI": { "value": 0.15, "interpretation": "low water presence" },
          "water_surface_area_percent": 4.2,
          "drought_risk": "moderate"
        },
        "temperature": {
          "surface_temperature_celsius": 29.4,
          "temperature_range_celsius": [25.8, 33.1],
          "anomaly_from_baseline": 2.1
        }
      },
      "health_score": { "overall": 58, "vegetation": 55, "water": 42 },
      "api_metadata": { "version": "2.0", "execution_time_ms": 1350, "cost_credits": 6, "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