diff --git a/lib/AccountManager/Metadata.pm b/lib/AccountManager/Metadata.pm
index e4524bafe6dca987a181193184715ce4db4061a2..e1937954cbbf494a79a7b5ed7bd1e895e48d0760 100644
--- a/lib/AccountManager/Metadata.pm
+++ b/lib/AccountManager/Metadata.pm
@@ -186,6 +186,15 @@ sub parse {
                     }
                     push @{ $data->{contacts} }, $details;
                 }
+            } elsif ($child->localname() eq 'Organization') {
+                my @urls = $child->getElementsByLocalName('OrganizationURL');
+                my %urls =
+                    map { $_->getAttribute('xml:lang') => $_->textContent() }
+                    @urls;
+                $data->{organization} =
+                    $urls{en} ? $urls{en}               :
+                    @urls     ? $urls[0]->textContent() :
+                    undef;
             }
 
             ## Getting X.509 certificates
diff --git a/t/metadata.t b/t/metadata.t
index 4415581fbbe199ea439ba0414fe1ff2961b43ece..5a709a6ae9e0824c1a236ad5311b96c7ebfca38e 100755
--- a/t/metadata.t
+++ b/t/metadata.t
@@ -10,7 +10,7 @@ use Test::Exception;
 
 use AccountManager::Metadata;
 
-plan tests => 21;
+plan tests => 22;
 
 my $metadata;
 
@@ -91,6 +91,7 @@ ok(defined $sp, 'filtered metadata extraction: defined result');
 ok(ref $sp eq 'ARRAY', 'filtered metadata extraction: result type');
 ok(scalar @$sp == 1, 'filtered metadata extraction: result count');
 is($sp->[0]->{entityid}, 'https://filesender.ipm.ir/', 'filtered entity has expected ID');
+is($sp->[0]->{organization}, 'http://www.ipm.ir/', 'filtered entity has expected organization URL');
 
 my $none = $metadata->parse(id => 'https://no.such.sp/');
 ok(defined $none, 'filtered metadata extraction: defined result');