API to get list of metadata in a specific date range?

Hello!

I currently catalog the metadata for sentinel-2 using aws SNS and recording the datastrip[“id”] and tileGeometry from a link like this https://roda.sentinel-hub.com/sentinel-s2-l1c/tiles/39/X/WD/2019/10/10/0/tileInfo.json into a database.

However, in the chance that my pipeline is down and I miss new images, I was wondering what the best way to get the metadata from a date range?

I know that there is an s3 inventory with manifest.json, however these files are pretty big and they don’t tell me the datastripID, I’m only interested in logging the metadata.

One way to do it is to brute force the above link to check for tileInfo.json for every date in a range, but I don’t want to do that as it doesn’t seem proper.

Another route is I noticed an api from sentinel-hub eo browser, which appears to just return metadata from a given coordinate range and time range in paginated order, but I’m not sure if it’s public to use and/or if it has documentation.

POST: https://services.sentinel-hub.com/index/v3/collections/S2L1C/searchIndex is the api in question

Sorry if this is a common use case and if someone can point me in the right direction that would help a lot! Thanks!

The mentioned API is not public. There is an OpenSearch interface available but it is not actively mainteaned (still, mostly it works):
https://www.sentinel-hub.com/develop/community/opensearch-interface

You can also use WFS interface, but you need subscription for that (the smallest one will do):
https://www.sentinel-hub.com/develop/documentation/api/ogc_api/wfs-request

If you are only interested in products for specific date, you can check the product RODA end-point:
https://roda.sentinel-hub.com/sentinel-s2-l1c/products/2019/10/29/

1 Like

Thank you I’ll look into this!!

Hey gmilcinski!

I know you said the interface for OpenSearch is not actively maintained, but it looks like it has what we want. It looks like some of the parameters changed as we want the items per page to be greater than 20 per request, but none of the parameters documented seem to work to change this, so I’m going to dig into it a bit more.