Skip to main content
The Vegetation Indices API lets you calculate a wide range of remote sensing indices for your registered fields using available satellite or drone imagery. Indices quantify plant health, water stress, and canopy density by comparing reflectance across spectral bands. You can compute a single index for a specific date, retrieve a historical time series to track seasonal progression, or define your own custom band-math formula for specialised analysis.

Supported Indices


Calculate an Index

Calculate a vegetation index for a field on a specific date. The API selects the best available imagery for that date (lowest cloud cover) or uses the exact imagery ID you specify.

Path Parameters

string
required
The unique field ID (e.g., fld_01j8xyz).

Query Parameters

string
required
The vegetation index to calculate. Accepted values: NDVI, NDRE, NDWI, EVI, SAVI, MSAVI2, custom.
string
required
The target date for the calculation in YYYY-MM-DD format. The API uses the best available image on or nearest to this date.
boolean
default:"false"
When true, the response includes per-zone summary statistics: min, max, mean, and std (standard deviation) calculated across all valid pixels within the field boundary.
string
Pin the calculation to a specific imagery record by ID. If omitted, the API automatically selects the image with the lowest cloud cover for the requested date.

Example Request

Example Response

Response Fields

string
The ID of the field the index was calculated for.
string
The index that was calculated.
string
The date of the imagery used for the calculation.
string
The ID of the imagery record used as the source for the calculation.
object
Summary statistics for the index across all valid pixels within the field boundary. Only present when zonal_stats=true.
object
A GeoJSON FeatureCollection containing the per-pixel index values rasterised as vector features, clipped to the field boundary.
Index values generally range from -1.0 to 1.0 for normalised difference indices. Pixels with cloud_cover or masked areas are excluded from the calculation and appear as null in the GeoJSON output.

Get an Index Time Series

Retrieve a historical time series of aggregated index values for a field over a date range. Use this endpoint to track seasonal crop development, compare growing seasons, or detect anomalies over time.

Path Parameters

string
required
The unique field ID.

Query Parameters

string
required
The vegetation index to compute for each period. Same accepted values as the single-date endpoint.
string
required
The start of the time range in YYYY-MM-DD format.
string
required
The end of the time range in YYYY-MM-DD format.
string
default:"weekly"
The aggregation interval. Accepted values: daily, weekly, biweekly. The best available image within each interval is used.

Example Request

Response

Returns a JSON array where each element represents one interval.
string
The representative date for the interval (the date of the imagery used).
number
The mean index value across all valid pixels in the field for this interval.
number
The minimum pixel value in the field for this interval.
number
The maximum pixel value in the field for this interval.
number
The standard deviation of pixel values for this interval.
Gaps in the time series indicate intervals where no cloud-free imagery was available. Filter your chart rendering to skip null values rather than interpolating, to avoid misleading trend lines.

Calculate a Custom Index

Define and calculate a custom vegetation index using a band-math formula. This is useful when you need an index that is not in the standard set, or when you want to test experimental formulas on your own data.

Path Parameters

string
required
The unique field ID.

Request Body

string
required
A descriptive name for your custom index (e.g., "My Red-Edge Ratio"). This name is stored with the result for reference.
string
required
The band-math formula expressed as a string using standard arithmetic operators and Sentinel-2 band identifiers. For example: "(B08 - B04) / (B08 + B04)" reproduces the standard NDVI formula.Available band identifiers: B02 (Blue), B03 (Green), B04 (Red), B05 (Red Edge 1), B06 (Red Edge 2), B07 (Red Edge 3), B08 (NIR), B11 (SWIR 1), B12 (SWIR 2).
string
required
The target date in YYYY-MM-DD format.

Example Request

Custom index calculations consume additional compute resources. Division by zero in your formula (e.g., when denominator bands have zero reflectance) produces null values in the output rather than errors — validate your formula against a small test area first.