diff --git a/entities_security_contacts.py b/entities_security_contacts.py
index d718fdedaa40db41d97d941cb90e448bf9e73997..247cd0e89ebf1a5b3da6923dc61638da22ba2e51 100755
--- a/entities_security_contacts.py
+++ b/entities_security_contacts.py
@@ -25,7 +25,8 @@ ns = {
     'mdui': 'urn:oasis:names:tc:SAML:metadata:ui',
     'shibmd': 'urn:mace:shibboleth:metadata:1.0',
     'remd': 'http://refeds.org/metadata',
-    'icmd': 'http://id.incommon.org/metadata'
+    'icmd': 'http://id.incommon.org/metadata',
+    'mdrpi': 'urn:oasis:names:tc:SAML:metadata:rpi',
 }
 
 
@@ -33,6 +34,13 @@ entities = root.findall('./md:EntityDescriptor', ns)
 
 for entity in entities:
     sec_mails = set()
+
+    registration_authority = ''
+    registration_info = entity.find('./md:Extensions/mdrpi:RegistrationInfo', ns)
+    if registration_info == None:
+        continue
+    else:
+        registration_authority = registration_info.attrib['registrationAuthority'].strip()
     orgname = entity.find('./md:Organization/md:OrganizationDisplayName', ns).text.strip()
     if not orgname:
         continue
@@ -62,7 +70,7 @@ for entity in entities:
         for mail in sec_mails:
             if (domain,mail) not in seen_doms_mails:
                 seen_doms_mails.add((domain, mail))
-                contacts.add('{},{},{}'.format(domain, mail, orgname))
+                contacts.add('{},{},{},{}'.format(registration_authority, domain, mail, orgname))
 
 for contact in sorted(contacts):
     print(contact)
diff --git a/identity_federations_contacts.py b/identity_federations_contacts.py
new file mode 100755
index 0000000000000000000000000000000000000000..7ba5db77cb507ef4c48d0b69b43fa4be2c7360c6
--- /dev/null
+++ b/identity_federations_contacts.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python3
+
+# This script consume the eduGAIN API to retrieve the details of all the
+# eduGAIN identity federations and parse it to create a list of security
+# email addresses, if available, and the corresponding federation name in
+# CSV format. 
+# This list will be printed to stdout.
+
+import requests
+
+feds = requests.get('https://technical.edugain.org/api.php?action=list_feds_full')
+
+feds_dict = feds.json()
+
+print('FEDERATION,COUNTRIES,SECURITY CONTACT,FEDERATION CONTACT')
+
+for fed in feds_dict:
+    if feds_dict[fed]['status'] == '6':
+        countries = ""
+        security_contact = ""
+        if 'security_contact' in feds_dict[fed]:
+            if 'mail' in feds_dict[fed]['security_contact']:
+                security_contact = feds_dict[fed]['security_contact']['mail']['value']
+        if 'countries' in feds_dict[fed]:
+            countries_array = feds_dict[fed]['countries']
+            for country in countries_array:
+                countries = countries + " " + country
+        print(f"{fed},{countries.strip()},{security_contact},{feds_dict[fed]['contact_email']}")
diff --git a/identity_federations_security_contacts.py b/identity_federations_security_contacts.py
index 1e1c83386fd3b5bf310b149c437e5b26a6e9f1c0..f2117d0d114ab6557e04cf2818411377b4aa06ab 100755
--- a/identity_federations_security_contacts.py
+++ b/identity_federations_security_contacts.py
@@ -1,9 +1,9 @@
 #!/usr/bin/env python3
 
 # This script consume the eduGAIN API to retrieve the details of all the
-# eduGAIN identity federations and parse it to create a list of
-# security email addresses, if available, and the corresponding
-# federation name in CSV format.
+# eduGAIN identity federations and parse it to create a list of security
+# email addresses, if available, and the corresponding federation name in
+# CSV format. 
 # This list will be printed to stdout.
 
 import requests
@@ -12,6 +12,8 @@ feds = requests.get('https://technical.edugain.org/api.php?action=list_feds_full
 
 feds_dict = feds.json()
 
+print('#NAME,EMAIL')
+
 for fed in feds_dict:
     if 'security_contact' in feds_dict[fed]:
         if 'mail' in feds_dict[fed]['security_contact']: