Language
How to use it
- ExtenSo Service features
- Available Collections
- Available Sources
- extenSO FREE User
- Why extenSO API ?
- Getting Started
- 1. Authentication
- 2. Import Collections and Environement in Postman
- 3. Create the list of Product Ids that you want
- 4. Using The extenSO API
- 5. Creation of product orders
- 6. Downloading Ordered Products
- How to report a bug / technical problem ?
- Known Limitations
ExtenSO API V3.0.6
Main features:
- Download the list of products in a bucket provided by the user or in a free bucket with a 10Go limit.
- A single interface to download the whole spectrum of Copernicus Products.
- Estimate the necessary storage required by an order.
- Search for Products Metadata.
- Search for Products Ids.
- Download Products Quicklook and Thumbnail.
Available Collections :
- S1, S2, S3 and S5P are currently available.
- We plan to add other sources of data than Copernicus.
Available Sources :
- Sobloo and Copernicus Data Hub are currently available (Diashub1).
extenSO FREE User :
- Default Storage : 10 Go
- You can use all the services
- If you need more storage
contact us
Why extenSO API ?
- Get the products directly inside your bucket : The Sources and APIs of each service are constantly evolving. It takes time to create and maintain scripts that allows you to download from different sources.
- Solve Sources Problems : The differents Data Providers have many problems (offline services for days, download errors, products are missing, etc.). With extenSO API, if some errors occurs, further attempts tp download will be automaticly executed, you do not need to worry.
- Long Term Archives are hard to handle : When you want to warmup a product stored in cold storage it can take up to two days for it to be downloadable. The extenSO Api will trigger the warmup and download it automaticly into your bucket.
- Too many APIs with differents collections : With the ExtenSO API you can access products from Sobloo, Copernicus Data Hub to cover the main collections and products.
- Avoid Free User Limitations : The Copernicus Data Hub (SciHub) allows you to download only two products in parallel and 20 warmup request every 12h. By using ExtenSO, you bypass this constraint and get onto our larger bandwidth.
- Avoid collection limitations : Sources other than the SciHub (limited in bandwidth) only store partial products from some collections. When using extenSO and Sobloo, you can get the whole spectrum.
Getting Started
1. Authentication
You can choose between One Atlas or Sobloo
1.1 Solution 1 (Recommanded) : One Atlas
- Go to Authentication API Guide
1.2 Sobloo
- Create your account on : Sobloo.eu
- Generate the api key on : My api keys
2. Import Collections and Environement in Postman
- Download and Open Postman .
- Import the collections in postman : extenSO-v..*.postman_collection.json
- Import the environment in postman : extenSO.postman_environment.json
- Select this enviroment after import in postman.
- Open the extenSO postman environment and fill the “<MY_API_KEY>” values with your API KEY
3. Create the list of Product Ids that you want
The catalog works thanks to several public reference catalogs.
API Search documentation (Opensearch) : S1, S2, S3 and S5p
- API Search documentation : https://scihub.copernicus.eu/userguide/OpenSearchAPI
Note: For each collection a reference catalog is used:
- Sentinel-1 (S1) : sci-hub
- Sentinel-2 (S2) : sci-hub
- Sentinel-3 (S3) : sci-hub
- Sentinel-5P (S5P) : s5p-hub
Search Products Metadata (S1, S2, S3 and S5P)
- Open the folder : Search (Products, Quicklooks, Thumbnails) > Search Metadata
- You can find many examples of search requests
- The syntaxe is the same as API sci-hub
Create a list of Products (S1, S2, S3 and S5P)
- Open the folder : Search (Products, Quicklooks, Thumbnails) > Search Ids
- You can find many examples of search requests
- The syntaxe is the same as API sci-hub
Example of list containing one S1, one S2 and one S3 product :
["S1A_IW_SLC__1SDV_20141111T171403_20141111T171421_003237_003BC8_1216","S2A_MSIL1C_20161206T080312_N0204_R035_T36NVH_20161206T081415","S3A_SL_1_RBT____20160705T034516_20160705T034816_20181001T213155_0179_006_090______LR1_R_NT_003"]
4. Using The extenSO API
There are 5 folders that contain several request examples. Here below a summary of the available features by folder.
4.1. Login (Choose the method you want) : You can login via One Atlas or Sobloo.
Action | Method | Endpoint | Header | Body |
---|---|---|---|---|
Login via One Atlas | POST | One Atlas authenticate url | Content-Type=application/x-www-form-urlencoded | apikey=<API_KEY_ONE_ATLAS>&grant_type=api_key&client_id=IDP |
Login via Sobloo | POST | Sobloo authenticate url | Content-Type=application/x-www-form-urlencoded | apikey=<API_KEY_SOBLOO>&grant_type=api_key&client_id=IDP |
4.2. Search (Products, Quicklooks, Thumbnails) : Get Products Metadata, Quicklooks and Thumbnails from different sources.
Action | Method | Endpoint | QueryParams/Body |
---|---|---|---|
Search Metadata (S1, S2, S3 and S5) | GET | /api/v1/services/extended-search/products/{collection}/ids/?q=? | You can find documentation for S1, S2 and S3 here and for S5p here |
Search Ids (S1, S2, S3 and S5) | GET | /api/v1/services/extended-search/products/{collection}/?q=? | You can find documentation for S1, S2 and S3 here and for S5p here |
Search Quicklooks (S1, S2 and S3) | GET | /api/v1/services/extended-search/products/quicklook/{productId} | |
Search Thumbnails (S1, S2 and S3) | GET | /api/v1/services/extended-search/products/thumbnail/{productId} |
4.3. Order (Download Products in My Storage) : Download Products in my Storage.
Action | Method | Endpoint | Body | Body Exemple |
---|---|---|---|---|
Estimate (Volume of an Order) | POST | /api/v1/services/order/products/estimate | A list of product Ids | {“products”: [“S1AWV…”]} |
Create Order (Download a list of products in your own bucket or in your 10Go free | ||||
bucket) More details in section: Creation of product orders | POST | /api/v1/services/order/products/orders | A list of product Ids. | {“products”: [“S1AWV…”]} |
Get all Orders | GET | /api/v1/services/order/products/orders | ||
Get Order by Id | GET | /api/v1/services/order/products/orders/{orderId} | ||
Get all Deliveries (Products ordered) | GET | /api/v1/services/order/products/deliveries | ||
Get all Deliveries by Order | GET | /api/v1/services/order/products/orders/{orderId}/deliveries | ||
Get Delivery by id | GET | /api/v1/services/order/products/orders/{orderId}/deliveries/{deliveryId} |
4.4. My Storage (Download Products and Manage your Storage) : Retrieve downloaded data and manage your storage space.
Action | Method | Endpoint |
---|---|---|
Delete Order by Id and all the products from My Storage | DELETE | /api/v1/services/user-storage/products/orders/{orderId} |
Download Delivery (Redirect to presigned download url) | GET | /api/v1/services/user-storage/products/orders/{orderId}/deliveries/{deliveryId}/download |
Get Delivery Download Url (If the redirection is not possible) | GET | /api/v1/services/user-storage/products/orders/{orderId}/deliveries/{deliveryId}/download-url |
Get Delivery Metadata. | GET | /api/v1/services/user-storage/products/orders/{orderId}/deliveries/{deliveryId}/metadata |
Note: The download from postman will fail because of the size of the products. You can use
Curl
in version v7.58+. See next chapter for Downloading Ordered Products.
4.5. My Account (Manage your Account) : User informations and registration
Action | Method | Endpoint |
---|---|---|
Get Personal Informations (Storage status…) | GET | api/v1/services/user-storage/me |
5. Creation of product orders
5.1. Deliver in a bucket provided by user : The user must provide the necessary information to access the bucket so that we can deliver the products.
Syntax of the request body:
{
"bucketProperties": {
"endpoint": "<CLOUD_PROVIDER_ENDPOINT>",
"region": "<CLOUD_PROVIDER_REGION_OF_YOUR_BUCKET>",
"name":"<BUCKET_NAME>",
"accessKey": "<BUCKET_ACCESS_KEY>",
"secretKey": "BUCKET_SECRET_KEY",
"path": "<PATH_WHERE_YOU_WANT_YOUR_DATA_INSIDE_THE_BUCKET>"
},
"products": ["S2A_MSIL1C_20210407T162851_N0300_R083_T16RCQ_20210407T221411"]
}
5.2. Delivered in a offered bucket : A bucket is automatically created for you with a 10Go limit on your first order. There is no need to enter bucketProperties. Syntax of the request body:
{
"products": ["S2A_MSIL1C_20210407T162851_N0300_R083_T16RCQ_20210407T221411"]
}
6. Downloading Ordered Products
- When your order has delivered products, you can download the products onto your machine.
- Get a delivery id (cf. Get all Deliveries by Order) then execute these commands :
Solution 1 :
You can download from extenSO :
Requirement : Curl version v7.58+
Example with authent via One Atlas
curl -X POST https://authenticate.foundation.api.oneatlas.airbus.com/auth/realms/IDP/protocol/openid-connect/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'apikey=<API_KEY_ONE_ATLAS>&grant_type=api_key&client_id=IDP'
curl --location --request GET https://sobloo.eu/api/v1/services/userstorage/
products/orders/<YOUR_ORDER_ID>/deliveries/<YOUR_DELIVERY_ID>/download --header "Authorization: Bearer
<YOUR_ACCESS_TOKEN>" --output product.zip
Solution 2 :
You can download directly from the cloud provider :
Example with authent via One Atlas
curl -X POST https://authenticate.foundation.api.oneatlas.airbus.com/auth/realms/IDP/protocol/openid-connect/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'apikey=<API_KEY_ONE_ATLAS>&grant_type=api_key&client_id=IDP'
curl --location --request GET https://sobloo.eu/api/v1/services/userstorage/
products/orders/<YOUR_ORDER_ID>/deliveries/<YOUR_DELIVERY_ID>/download-url --header "Authorization: Bearer
<YOUR_ACCESS_TOKEN>"
curl --location --request GET "<THE_DOWNLOAD_LINK>" --output product.zip
How to report a bug / technical problem ?
You can ask them via this form
Known Limitations
© Airbus Defence and Space 2022. All rights reserved. Privacy Policy | Legal Information