diff --git a/_data/facilities.yml b/_data/facilities.yml
index 17a4e3a4df98f48f41e75439ca9c144f9bb82cd9..9196bc25b6a786e6f71e7e9ce83bec6a6d37f1fa 100644
--- a/_data/facilities.yml
+++ b/_data/facilities.yml
@@ -29,6 +29,8 @@
       link: https://data.cells.es/iws/icat_plus/oaipmh/request
       last-check: 2024-12-22
       status: Active
+      adminAddress:
+      - mis@cells.es
       datasets:
         count: 20
         sets:
@@ -148,6 +150,8 @@
       link: https://icatplus.esrf.fr/oaipmh/request
       last-check: 2024-12-22
       status: Active
+      adminAddress:
+      - datapolicy@esrf.fr
       datasets:
         count: 7202
     pan-search-api:
@@ -177,6 +181,8 @@
       status: Active
       datasets:
         count: 0
+      adminAddress:
+      - max.novelli@ess.eu
     pan-search-api:
       link: https://search.panosc.ess.eu/api
       status: Error
@@ -207,6 +213,9 @@
       link: https://in.xfel.eu/metadata/oai-pmh/oai2
       last-check: 2024-12-22
       status: Active
+      adminAddress:
+      - luis.maia@xfel.eu
+      - krzysztof.wrona@xfel.eu
       datasets:
         count: 5
         sets:
@@ -246,6 +255,8 @@
       link: https://data.helmholtz-berlin.de/oaipmh/request
       last-check: 2024-12-22
       status: Active
+      adminAddress:
+      - icatmaster@helmholtz-berlin.de
       datasets:
         count: 28952
         sets:
@@ -286,6 +297,8 @@
       link: https://rodare.hzdr.de/oai2d
       status: Active
       last-check: 2024-12-22
+      adminAddress:
+      - rodare-admin@hzdr.de
       datasets:
         count: 1020
         sets:
@@ -438,6 +451,8 @@
       link: https://fairdata.ill.fr/openaire/oai
       status: Active
       last-check: 2024-12-22
+      adminAddress:
+      - data@ill.fr
       datasets:
         count: 0
     pan-search-api:
@@ -465,6 +480,8 @@
       link: https://icatisis-prod.esc.rl.ac.uk/oaipmh/request
       status: Error
       last-check: 2024-12-22
+      adminAddress:
+      - isisdata@stfc.ac.uk
     pan-search-api:
       link: https://data.isis.stfc.ac.uk/datagateway-api/search-api/
       status: Active
@@ -522,6 +539,8 @@
       link: https://doi.psi.ch/oaipmh/oai
       status: Active
       last-check: 2024-12-22
+      adminAddress:
+      - carlo.minotti@psi.ch
       datasets:
         count: 0
     pan-search-api:
diff --git a/scripts/update_oai-pmh.rb b/scripts/update_oai-pmh.rb
index 735914b3e9202bbf0109f1606e51f4ec2b69b89a..ebfcc9527fbffd3fdf441111f02bcddfa1c6ae73 100644
--- a/scripts/update_oai-pmh.rb
+++ b/scripts/update_oai-pmh.rb
@@ -17,26 +17,33 @@ def check_oai_pmh_endpoint(endpoint_url)
 
         if !response.success?
             print_with_time("Error: Identify response has HTTP status code #{response.code}.")
-            return "Error"
+            return "Error", []
         end
 
         response = HTTParty.get(queryIdentify_url)
         if response.body.nil? || response.body.empty?
             print_with_time("Error: Identify response is empty.")
-            return "Error"
+            return "Error", []
         end
 
         xml_response = Nokogiri::XML(response.body)
         oai_pmh_tag = xml_response.at_xpath('//*[name()="OAI-PMH"]')
         if !oai_pmh_tag
             print_with_time("Error: Identify response has no OAI-PMH tag.")
-            return "Error"
+            return "Error", []
         end
 
-        return "Active"
+        addresses = []
+        adminEmails = xml_response.xpath('/xmlns:OAI-PMH/xmlns:Identify/xmlns:adminEmail')
+        adminEmails.each do |adminEmail|
+            address = adminEmail.content
+            addresses.append(address)
+        end
+
+        return "Active", addresses
     rescue StandardError => e
         print_with_time("Error: Identify request failed: #{e.message}")
-        return "Error"
+        return "Error", []
     end
 end
 
@@ -229,9 +236,9 @@ end
 
 
 def query_oai_pmh_endpoint(endpoint)
-    status = check_oai_pmh_endpoint(endpoint)
+    status, adminAddress = check_oai_pmh_endpoint(endpoint)
     if status == "Error"
-        return status, {}, 0, {}
+        return status, [], {}, 0, {}
     end
 
     dc_prefix = metadata_prefix_of(endpoint, 'http://www.openarchives.org/OAI/2.0/oai_dc/')
@@ -246,7 +253,7 @@ def query_oai_pmh_endpoint(endpoint)
         set_counts = {}
     end
 
-    return status, set_names, total_count, set_counts
+    return status, adminAddress, set_names, total_count, set_counts
 end
 
 
@@ -268,10 +275,14 @@ facilities.each do |facility|
 
     name = facility['short-name']
     puts "Checking OAI-PMH endpoint for #{name}: #{oai_pmh_endpoint}"
-    status, set_names, total_count, set_count = query_oai_pmh_endpoint(oai_pmh_endpoint)
+    status, adminAddress, set_names, total_count, set_count = query_oai_pmh_endpoint(oai_pmh_endpoint)
 
     oai_pmh['status'] = status
 
+    if !adminAddress.empty?
+        oai_pmh['adminAddress'] = adminAddress
+    end
+
     oai_pmh.delete('datasets')
 
     if status == "Active"