EOlearn LULC batch notebook errors


I’m getting some errors which I would like to understand and resolve, in the LULC batch notebook from EOlearn examples.

The cell with:

Check if batch is working: should print OK

health_check = requests.get(f’{url_base}/status’, headers=headers)

prints “Not found”`

later in the notebook the function


The line:

response_count = len(response[‘member’])

produces the error

KeyError: ‘member’

response only has the keys ‘data’ and ‘links’



the notebook you linked needs to be updated. Since then we added many new tools to make batch processing easier, shown and explained in this sentinelhub-py batch notebook.

The results still need to be processed into eopatches, which is done in the notebook you linked. Another, more recent, example can be found here

Thank you for replying and informing me.

You referenced the second notebook in the field delineation notebooks.
However, the first notebook produces an error when executing the cell:

batch_data = create_batch_request(config=download_config,
                                  description='CyL batch request - April 2020')

create() missing 1 required positional argument: ‘sentinelhub_request’

could you assist with this error?

I modified the create_batch_request function in download.py to first create the class SentinelHubBatch and then call create, like so:

batch_request = SentinelHubBatch()
batch_request = batch_request.create(

But now there is a new error:

DownloadFailedException: Failed to download from:
with HTTPError:
400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/batch/process
Server response: "{"error":{"status":400,"reason":"Bad Request","message":"Request is estimated to create 7233.102112 output files. Requests over 5000 files must use 'overwrite = true' and 'skipExisting = false'","code":"COMMON_BAD_PAYLOAD"}}"

What is the meaning of overwriting existing outputs in this context?

Hi @sentinelhubrs,

These parameters are described in Batch API documentation. In the payload schema you can find them in output section. I recommend setting them according to instructions of the error message.

With SentinelHubBatch interface you can set them in the method:

SentinelHubBatch.output(..., overwrite=True, skip_existing=False)