Skip to content

Get an index image

GET
/v1/fields/{id}/image
curl --request GET \
--url 'https://api.agrosat.uz/v1/fields/cmgz7k2qv0004l8p3a9d1x6rt/image?index=ndvi&date=2026-05-14&format=png&width=512&source=sentinel-2' \
--header 'X-API-Key: <X-API-Key>'

The index over the field on one date: a colourised PNG with transparent pixels outside the field, or a single-band float32 GeoTIFF of index values with nodata outside the field. The image bounds come in the X-AgroSat-Bounds header. Costs ceil(area_ha) units, at least 1.

id
required
string

Example

cmgz7k2qv0004l8p3a9d1x6rt

Field id returned by registration

index
required
string
Allowed values: ndvi ndre ndmi msavi evi gndvi rci rendvi sipi gci ndpi

Vegetation index. With source=planet: ndvi, ndre, msavi, evi, gndvi, rci, sipi, gci.

date
required
string format: date

Example

2026-05-14

A date returned by dates

format
string
Allowed values: png tiff

png (default) for display, tiff for analysis

width
integer
default: 512 >= 64 <= 2048

Image width in pixels

source
string
Allowed values: sentinel-2 planet

sentinel-2 (default) or planet. Planet requires a separate agreement.

Image body

string format: binary
X-AgroSat-Bounds
string
Example
68.552,40.3084,68.560,40.3139

WGS84 bounds of the image: west,south,east,north

X-AgroSat-Units
integer
Example
42

Units this response consumed

Data is being prepared. Repeat the request after Retry-After seconds. Not billed.

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

Exampledata_pending

data_pending

{
"success": false,
"error": {
"code": "data_pending",
"message": "Registration history for this field is being prepared."
}
}
Retry-After
integer
Example
30

Seconds to wait before repeating the request

A parameter is not acceptable

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

invalid_index

{
"success": false,
"error": {
"code": "invalid_index",
"message": "source=planet supports only: ndvi, ndre, msavi, evi, gndvi, rci, sipi, gci."
}
}

X-API-Key is missing, unknown, revoked or expired, or the API is not enabled.

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

Exampleinvalid_api_key

invalid_api_key

{
"success": false,
"error": {
"code": "invalid_api_key",
"message": "Missing or invalid API key."
}
}

Source or quota not available

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

source_not_enabled

{
"success": false,
"error": {
"code": "source_not_enabled",
"message": "PlanetScope imagery is not enabled for this organization."
}
}

No such field, or no imagery on that date

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

no_imagery_for_date

{
"success": false,
"error": {
"code": "no_imagery_for_date",
"message": "No imagery is available for 2026-05-15."
}
}

Over the per-key request rate. Not billed.

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: invalid_api_key rate_limited field_not_found invalid_geometry field_too_large duplicate_geometry external_id_conflict quota_exceeded invalid_index source_not_enabled invalid_date_range date_out_of_range no_imagery_for_date data_pending invalid_request not_found internal_error
message
required

English text; may change, branch on code

string
existing_field_id

Field already holding this external_id or geometry (409 only)

string

Examples

Examplerate_limited

rate_limited

{
"success": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}
Retry-After
integer
Example
30

Seconds to wait before repeating the request