diff --git a/0-collect-data/datacite.py b/0-collect-data/datacite.py
new file mode 100644
index 0000000000000000000000000000000000000000..cb5f3ca1b4a0e208a0b1928350c180006ff7fc5f
--- /dev/null
+++ b/0-collect-data/datacite.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+# In[1]:
+
+
+# récupérer les DOIs de l'UGA depuis Datacite
+## 2023-12-01, Elias Chetouane
+
+
+# In[12]:
+
+
+"""
+## todo
+- recherche par affiliation contributeurs ?
+
+## Documentation
+* Doc générale API Datacite : https://support.datacite.org/docs/api
+* Recherche d'un DOI : https://support.datacite.org/docs/api-sampling
+* Pagination : https://support.datacite.org/docs/pagination
+"""
+
+
+# In[13]:
+
+
+import requests, json
+
+
+# In[14]:
+
+
+# requête url de base
+url = 'https://api.datacite.org/dois?affiliation=true&query=creators.affiliation.affiliationIdentifier:"https://ror.org/02rx3b187"&page[size]=100'
+
+# obtenir les résultats de la première page
+req = requests.get(url)
+results = [req.json()]
+
+# obtenir les résultats de chaque page dans la liste results
+nb_pages = results[0]["meta"]["totalPages"]
+page = 1
+while(page < nb_pages):
+    url = (results[page-1]["links"]["next"])
+    req = requests.get(url)
+    results.append(req.json())
+    page += 1
+
+
+# In[15]:
+
+
+# ajouter les DOIs dans une liste, sans ajouter les résultats qui ne sont pas des DOIs
+
+dois = []
+not_dois = []
+nb_dois = 0
+
+# prendre en compte les résultats de chaque page
+for res in results:
+    num_dois = res["data"]
+    nb_dois += len(num_dois)
+
+    for item in num_dois :
+        doi = item["id"]
+        if item.get("type") != "dois":
+            print("Le résultat " + str(item) + " est de type " + item.get("type") + " : " + doi)
+            not_dois.append(doi)
+        else:
+            dois.append(doi)
+
+print("Nombre de résultats trouvés : " + str(nb_dois))
+
+
+# In[43]:
+
+
+# exporter la liste de DOI au format txt
+
+with open("datacite-dois.txt", 'w') as f :
+    [f.write(f"{line}\n") for line in dois]
+