L’utilisation avancĂ©e des APIs GEODES requiert Ă minima l’accĂšs Ă un terminal et Ă l’outil en ligne de commande Curl.
L’outil Postman offre Ă©galement une IHM facilitant la dĂ©couverte du catalogue GEODES et de ses APIs.
Optionnel :
- Il peut parfois ĂȘtre nĂ©cessaire de configurer un proxy en exportant la variable suivante : export https_proxy=<proxy>
1. Rechercher via l’API STAC
L’API STAC GEODES est accessible depuis la landing page : https://geodes-portal.cnes.fr/api/stac.
Elle expose les endpoints :
- /collections : Permet de rechercher des jeux de données
- /items: Permet de rechercher des produits
- /collections/#collectionId : Permet de rechercher une collection spécifique à partir de son id
- /collections/#collectionId/items: Permet de rechercher les items d’une une collection spĂ©cifique Ă partir de son id
- /collections/#collectionId/items/#itemId: Permet de rechercher un item spĂ©cifique d’une une collection spĂ©cifique Ă partir de l’id de la collection et de l’id de l’item.
Les opĂ©rateurs supportĂ©s par l’API STAC GEODES sont :
| Mot clé | Utilité | Exemple |
|---|---|---|
| eq | Chercher une valeur exacte | « sat:relative_orbit » : {« eq »:51} |
| neq | Chercher les valeurs différentes | « platform »:{« neq »: »S1B »} |
| in | Chercher plusieurs valeurs | « sar:polarizations »: {« in »: [« VV », »VV VH »]} |
| contains | Contient une valeur | « mission »: {« contains »: »theia »} |
| lte | Cherche des valeurs inférieures ou égales à | « eo:cloud_cover »:{« lte »:30} |
| gte | Cherche des valeurs supérieures ou égales à | « start_datetime »:{« gte »: »2027-01-01T00:00:00Z »} |
1.1 Rechercher des jeux de données
La liste des collections GEODES est accessible ici :https://geodes-portal.cnes.fr/api/stac/collections
Les métadonnées des collections GEODES sont présentées ci-dessous :
| Attribut | Type | Recherche | Description | Valeurs possibles ou exemple ou pattern |
|---|---|---|---|---|
| title | String | oui | Titre de la collection | « PEPS Sentinel-1 Level1 » |
| description | String | oui | Description de la collection | « Sentinel-1 Level-1 products are the baseline products […]  » |
| dataset | String | oui | Référence de la collection | « PEPS_S1_L1 » |
| gsd | String | Résolution spatiale le plus fine, en mÚtres | 5 | |
| platform | String | oui | Plateformes d’acquisition des donnĂ©es | sentinel-2, multisat |
| processing:level | String | oui | Niveau de produit | LEVEL1 |
| constellation | String | Nom de la mission | sentinel-1, sentinel-2, etc… | |
| instruments | String | Capteur | C-SAR | |
| temporal_resolution | String | Résolution temporelle en jours | 144 | |
| total_items | Number | nombre de produits dans cette collection | 10 | |
| keywords | String | oui | Mots clĂ©s associĂ©s Ă la collection | [« s1″, »sentinel-1″, »l1″, »sar », »grd », »slc »] |
| missions | String | Projets chapeau | spĂ©cifique Postel (cyclopes, polder, …) | |
| providers | JSON | Fournisseurs de la collection | ||
| missions | String | oui | Projet en charge de la collection |
Il est possible de rechercher des jeux de donnĂ©es du catalogue et leurs mĂ©tadonnĂ©es avec une requĂȘte de type :
curl -k -H "Content-Type: application/json" -X POST -d '{"page":1, "query": { <ATTRIBUTS RECHERCHES> }}' "https://geodes-portal.cnes.fr/api/stac/collections" |
Le nombre de collections correspondantes aux critĂšres de recherche est disponible dans l’attribut « matched » de la rĂ©ponse.
Exemples
La requĂȘte suivante permet de trouver une collection dont les mots-clĂ©s contiennent l’expression « grd » :
curl -k -H "Content-Type: application/json" -X POST -d '{"page":1, "query": {"keywords": {"contains":"grd"}}}' "https://geodes-portal.cnes.fr/api/stac/collections"
La requĂȘte peut ĂȘtre Ă©galement lancer avec un get pour un rĂ©sultat rapide:
curl -k -X GETÂ "https://geodes-portal.cnes.fr/api/stac/collections"X POST -d '{"page":1, "query": {"keywords": {"contains":"grd"}}}' "https://geodes-portal-prod.cnes.fr/api/search/collections"
1.2 Rechercher des produits
La liste des produits GEODES est accessible ici :https://geodes-portal.cnes.fr/api/stac/items
La liste des mĂ©tadonnĂ©es de produits offertes par l’API GEODES est accessible ici: https://geodes.cnes.fr/metadonnees-offertes-par-lapi-stac-de-geodes/
Il est possible de rechercher des produits du catalogue et leurs mĂ©tadonnĂ©es avec la requĂȘte suivante:
|
Le nombre de produits correspondants aux critĂšres de recherche est disponible dans l’attribut « matched » de la rĂ©ponse.
La limite d’affichage est configurable avec une valeur maximale de 80. Au delĂ de 80 Ă©lĂ©ments, il faut parcourir les pages de rĂ©ponses pour obtenir la suite.
Chaque requĂȘte retourne une liste de produits et leurs mĂ©tadonnĂ©es au format JSON.
Le filtre sortBy est optionnel et permet d’ordonner la rĂ©ponse selon les valeurs d’un attribut spĂ©cifiĂ© :
« direction » correspond au sens choisi pour le tri. Il y a 2 valeurs possibles : « asc » pour ascendant et « dsc » pour descendant.
« field » correspond Ă l’attribut choisi pour le tri. Il doit faire partie de la liste dâattribut donnĂ©e prĂ©cĂ©demment.
Exemples
- Trouver des produits de type S1A SLC dont la date de dĂ©but d’acquisition est entre le 20 Juin 2023 Ă 4h21m51s et le 28 Juin 2023 Ă 4h21m51s et dont la polarisation est VV et le mode de capteur est soit IW soit EW :
curl -k -H "Content-Type: application/json" -X POST -d '{"page":1,"query":{"start_datetime":{"lte":"2023-06-28T04:21:51.000Z","gte":"2023-06-20T04:21:51.000Z"},"sar:polarizations" : {"in": ["VV"]}, "platform": {"in": ["S1A"]},"product:type": {"in": ["SLC"]},"sar:instrument_mode": {"in": ["IW","EW"]}}}' "https://geodes-portal.cnes.fr/api/stac/items"
- Trouver 10 produits SENTINEL2 L1C dont la couverture nuageuse est infĂ©rieure Ă 50% et dont l’emprise intersecte une bbox donnĂ©e :
curl -k -H "Content-Type: application/json" -X POST -d '{ "page":1,"limit":10, "bbox":[148,-30,153,-28], "query": {"dataset": {"in":["PEPS_S2_L1C"]}, "eo:cloud_cover": {"lte":50}}}' "https://geodes-portal.cnes.fr/api/stac/items"
- Trouver le produit dont le nom est S2A_MSIL1C_20230303T071811_N0509_R006_T39UYU_20230303T080614:
curl -k -H "Content-Type: application/json" -X POST -d '{ "page":1,"limit":10, "bbox":[148,-30,153,-28], "query": {"identifier":{"contains":"S2A_MSIL1C_20230303T071811_N0509_R006_T39UYU_20230303T080614"}}' "https://geodes-portal.cnes.fr/api/stac/items"
- Trouver 10 produits SENTINEL2 L1C dont la couverture nuageuse est inférieure à 10% et ordonné selon le taux de couverture nuageuse :
curl -k -H "Content-Type: application/json" -X POST -d '{ "page":1,"limit":10, sortBy: [{ direction: "asc", field: "eo:cloud_cover" }] ,"query": {"dataset": {"in":["PEPS_S2_L1C"]}, "eo:cloud_cover": {"lte":10}}}' "https://geodes-portal.cnes.fr/api/stac/items"
- Trouver les produits SENTINEL2 L1C diffusĂ©s par GEODES en janvier 2022 (exemple de requĂȘte utile pour du moissonnage)
curl -k -H "Content-Type: application/json" -X POST -d '{"page":1,"query":{"dataset":{"in":["PEPS_S2_L1C"]}, "datetime":{"lte":"2022-01-31T23:59:59.999Z"}, "datetime":{"gte":"2022-01-01CT00:00:00.000Z"}}}' https://geodes-portal.cnes.fr/api/stac/items
1.3 DĂ©couvrir les mĂ©tadonnĂ©es d’une collection spĂ©cifique
La liste des mĂ©tadonnĂ©es d’une collection spĂ©cifique est accessible ici :https://geodes-portal.cnes.fr/api/stac/collections/#collectionId
CollectionId reprĂ©sente l’id d’une collection qui peut ĂȘtre rĂ©cupĂ©rer avec une requĂȘte sur les collections.
Exemple :
- Trouver les métadonnées de la collection « Sentinel-1 Level 1 » :
curl -k -X GET "https://geodes-portal.cnes.fr/api/stac/collections/PEPS_S1_L1"
1.4 Rechercher des items une collection spécifique
La liste des produits d’une collection spĂ©cifique est accessible ici :https://geodes-portal.cnes.fr/api/stac/collections/#collectionId/items
CollectionId reprĂ©sente l’id d’une collection qui peut ĂȘtre rĂ©cupĂ©rer avec une requĂȘte sur les collections.
Exemple :
- Trouver les produits de la collection « Sentinel-1 Level 1 »: https://geodes-portal.cnes.fr/api/stac/collections/PEPS_S1_L1/items
curl -k -X GET "https://geodes-portal.cnes.fr/api/stac/collections/PEPS_S1_L1/items"
1.5 Rechercher un item spécifique
La liste des mĂ©tadonnĂ©es d’un produit spĂ©cifique est accessible ici :https://geodes-portal.cnes.fr/api/stac/collections/#collectionId/items/#itemId
itemId reprĂ©sente l’id d’un item, il est de la forme « URN:… »
Exemple :
- Trouver les métadonnées du produit « S1A_IW_SLC__1SDV_20230205T213855_20230205T213925_047106_05A6BD_61EA »:
curl -k -X GET "https://geodes-portal.cnes.fr/api/stac/collections/PEPS_S1_L1/items/URN:FEATURE:DATA:gdh:d0264bba-0719-35da-8d48-d65a72cfa58e:V1"
2. GĂ©nĂ©rer une clĂ© d’API
2.1. S’authentifier sur le portail GEODES
Dans un premier temps, vous devez vous connecter au portail GEODES afin de gĂ©nĂ©rer une clĂ© d’API.
Voici les étapes à suivre :
- Ouvrir votre navigateur internet
- Accéder au portail GEODES en utilisant le lien suivant : https://geodes-portal.cnes.fr
- S’authentifier via le bouton Log In en haut Ă droite :

Une fois redirigé sur la page de connexion, veuillez saisir votre adresse e-mail, votre mot de passe, puis cliquer sur le bouton « Login » :

Si vous possĂ©dez dĂ©jĂ un compte GEODES, passez directement Ă l’Ă©tape « 3.3 GĂ©nĂ©rer une clĂ© d’API« .
2.2. Créer un compte
Afin de créer un compte, veuillez cliquer sur le bouton « Create account »,

Puis, renseignez les informations ci-dessous :

Attention, tous les champs sont obligatoires. Le mot de passe doit contenir au moins une majuscule, un chiffre et un caractĂšre spĂ©cial et atteindre une longueur d’au moins 8 caractĂšres.
Un email de vérification vous sera envoyé avec un lien de validation de compte. DÚs réception du mail, veuillez cliquer sur le lien afin de valider votre compte.
2.3. GĂ©nĂ©rer une clĂ© d’API
Veuillez cliquer sur votre nom en haut Ă droite et choisir l’option « My information » :

Vous pouvez dĂ©sormais choisir de gĂ©nĂ©rer une clĂ© d’API en cliquant sur le bouton « Generate » :

Ensuite, la clĂ© d’API sera gĂ©nĂ©rĂ©e et apparaĂźtra dans l’IHM.

Vous pouvez alors le copier dans le presse papier en cliquant sur l’icĂŽne dĂ©diĂ©e.
Ensuite, vous devrez exporter une variable d’environnement APIKEY avec la clĂ© d’API gĂ©nĂ©rĂ©e Ă l’Ă©tape « 2.3 GĂ©nĂ©rer une clĂ© d’API« .
Voici un exemple :
export APIKEY="sSDFSGcxvjqRSDGFDDFGDFGDFGWSDFFSDGDFG"
Pour modifier votre clĂ© d’API, cliquez sur l’icĂŽne de rĂ©gĂ©nĂ©ration. Votre clĂ© d’API sera rĂ©gĂ©nĂ©rĂ©e et remplacera l’ancienne clĂ© dans l’IHM.
3. TĂ©lĂ©charger un produit via l’API
Optionnel :
- Si vous utilisez les services de tĂ©lĂ©chargement depuis un terminal, il peut ĂȘtre pratique d’exporter une variable d’environnement APIKEY avec la clĂ© d’API.
export APIKEY="Copier_ici_votre_clé_API"
L’API GEODES de recherche renvoie un JSON contenant des informations sur les produits correspondant Ă la recherche et notamment le lien de tĂ©lĂ©chargement des produits. Il est possible via un simple ensemble d’instructions Shell d’extraire le nom de l’archive du produit (contenant son identifiant) ainsi que son lien de tĂ©lĂ©chargement, en utilisant la commande suivante :
<COMMANDE CURL> | sed 's/,/\n/g' | grep zip | sed 's/assets\":{/\n/g' | grep href | sed 's/{"href"://g'
Par exemple :
curl -k -H "Content-Type: application/json" -X POST -d '{ "page":1,"limit":10, "query": {"dataType": {"in":["PEPS_S2_L1C"]}}}' "https://geodes-portal.cnes.fr/api/stac/search" | sed 's/,/\n/g' | grep zip | sed 's/assets\":{/\n/g' | grep href | sed 's/{"href"://g'
Cela permet d’obtenir un rĂ©sultat sous la forme :
« archive1″: »lien1 »
« archive2″: »lien2 »
« archive3″: »lien3 »
« archive4″: »lien4 »
« archive5″: »lien5 »
« archive6″: »lien6 »
« archive7″: »lien7 »
« archive8″: »lien8 »
« archive9″: »lien9 »
« archive10″: »lien10 »
en prenant en compte le « limit »: 10 de la requĂȘte.
Il suffit ensuite pour tĂ©lĂ©charger le produit de rĂ©cupĂ©rer le lien dĂ©sirĂ© et de l’incorporer Ă la requĂȘte de la forme suivante :
curl -vvv -k -L -H "X-API-Key: $APIKEY" -XGET "<LIEN TELECHARGEMENT>" --output <chemin vers fichier sortie>
Par exemple :
curl -vvv -k -L -H "X-API-Key: $APIKEY" -XGET "https://geodes-portal.cnes.fr/api/download/URN:FEATURE:DATA:gdh:01202b44-2d76-36b8-9453-56bf907882bf:V1/files/6e5ffa91b66775844607711eae4e0483" --output SENTINEL2C_20250922-171411-673_L2A_T14SQE_C_V4-0.zip
Important : dans les scripts, bien penser à échapper le caractÚre ':' avec %3A
4. Consulter la disponibilitĂ© d’un produit
Certains produits diffusĂ©s par GEODES sont stockĂ©s sur bande (Tier3) tandis que d’autres sont stockĂ©s sur disque (Tier2). Les APIs suivantes permettent de consulter le mode de stockage afin d’anticiper un tĂ©lĂ©chargement direct ou un tĂ©lĂ©chargement aprĂšs restauration sur disque.
4.1. DisponibilitĂ© d’un produit
L’endpoint pour connaitre disponibilitĂ© d’un produit est : /availability/{NOM_DU_PRODUIT}
Il s’agit d’une requĂȘte GET.
curl -XGET -k -H "Content-Type:application/json" -H "X-API-Key: $APIKEY" -H "Prefer:respond-async" "<URL_DU_PORTAIL>/availability/{NOM_DU_PRODUIT}" |
un exemple de requĂȘte
curl -XGET -k -H "Content-Type:application/json" -H "X-API-Key: $APIKEY" -H "Prefer:respond-async" "https://geodes-portal.cnes.fr/availability/S2A_MSIL1C_20161106T094202_N0500_R036_T32NNM_20230926T184801" |
4.2. DisponibilitĂ© d’une liste de produits
Pour connaĂźtre le mode de stockage d’une liste de produits, utiliser une requĂȘte POST sur l’endpoint : /availability avec un body pouvant prendre la forme suivante :
{ "product_ids": [ "URN_DU_PRODUIT_1", "URN_DU_PRODUIT_2" ]} |
La requĂȘte retourne une rĂ©ponse sous la forme :
|
Ci-dessous un exemple de requĂȘte
curl -XPOST -k --data "@body.json" -H "Content-Type:application/json" -H "X-API-Key: $APIKEY" -H "Prefer:respond-async" "https://geodes-portal.cnes.fr/availability" |
avec body.json :
|
La réponse retournée est de la forme suivante :
|
5. Pour les utilisateurs Python
PyGEODES est un outil de recherche et téléchargement des produits catalogués dans GEODES.

Lâensemble des informations pour installer et utiliser cet outil est disponible sur Github : pygeodes â pygeodes v0.1.0 Manual
Vous trouverez également dans cette documentation des exemples pour vous accompagner dans sa prise en main.
En cas de questions/remarques sur lâoutil PyGEODES, merci de nous contacter via le formulaire de contact.
