Skip to main content

Download analytics

Use the Download API to fetch raster bands of a scene, cropped precisely by a specified bounding box or area of interest (AOI).

Result type:

  • jp2 if (len(bands)==1 and sensor == S2)
  • TIF if (len(bands)==1 and tile_md is None and product_md is None) or (merge==True and all_bands_are_of_the_same_resolution and tile_md is None and product_md is None)
  • else zip

HTTP Request​

curl --location --request POST '<your_api_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "lbe",
"params": {
"view_id": "view_id",
"bands": ["bands1","bandsN"],
"geometry":{"type": "Polygon",
"coordinates": [[
"merge": true,
"reference": "ref_datetime"

Request Parameters​

Request Path ParameterDescription
api_key(Required) Apikey retrieved from developer portal
Request Body ParameterDescription
type(required) Operation name. Value is β€˜lbe’. Load by extent
params(required) Request parameters.
callback_url(optional) Callback URL. It is used to receive asynchronous responses from the API server, allowing for non-blocking or asynchronous communication between the server and the client application.
params.view_id(required) View id of the scene returned by the Search API, see Search API.
for example values: β€œL8/LC80110312016028LGN00” or β€œS2/19/T/CG/2017/7/9/0” or β€œMODIS/12/04/2017204/2017213034223” or etc.
params.bands(required) List of bands to download.
params.geometry(required) A GeoJSON representation of a geometry describing the AOI.
Supported geometry types: β€œPolygon”.
params.merge(optional) Merge bands of the same resolution if true, else return separate bands.
Default is true. Note: Takes no effect for NAIP.
params.metadata(optional) List of metadata files to download.
params.reference(required) Unique id to assign to the request

Note, that we added the ability to receive data on callback url. When making a request to an API, you might include a callback URL as part of the request parameters. This URL is where the API server will send results when they become available. Once the API server processes the request or completes a specific task, it sends the result to the callback URL via an HTTP request.

HTTP Response​

The above commands returns the following JSON with task status

"status": "status",
"task_id": "task_id",
"req_id": "req_id",
"task_timeout": task_timeout

After that, you need to send a request for checking task status using task_id

Example: Load the original image by an area of interest (AOI)​

Step 1: Create task for indices caclulating with POST request​

curl --location --request POST '' \
--header 'Content-Type: text/plain' \
--header 'x-api-key: <your_api_key>' \
--data '{
"type": "lbe",
"params": {
"view_id": "S2/13/R/EL/2023/7/19/0",
"bands": ["B02","B03","B04"],
"geometry":{"type": "Polygon",
"coordinates": [
[-104.87931347024973, 27.166227117387663],
"merge": true,
"reference": "ref_datetime"

Example of response:

"status": "created",
"task_id": "71297461-aaa4-4f07-9b9e-9bf581df8f60",
"req_id": "bcf12444-90ff-4b27-b595-1d1d8298cd58",
"task_timeout": 345600

Step 2: Receive the result of calculation with GET request and use task_id from previous step​

curl --location --request GET '' \
--header 'x-api-key: <your_api_key>'

Example of response:

Example banner

You can download the image from response in .tiff format and open in any tool, such as QGIS