diff --git a/updates_notifier/fetchers/atom_rss_fetcher.py b/updates_notifier/fetchers/atom_rss_fetcher.py
new file mode 100644
index 0000000000000000000000000000000000000000..2dc6eef32708715b86c31027b1c1825ffe6fe98c
--- /dev/null
+++ b/updates_notifier/fetchers/atom_rss_fetcher.py
@@ -0,0 +1,48 @@
+import logging
+from typing import List
+
+import defusedxml.ElementTree as ET
+import requests
+
+from ..entry import Entry
+from .project_fetcher import ProjectFetcher
+
+logger = logging.getLogger(__name__)
+
+_ATOM_STANDARD = "{http://www.w3.org/2005/Atom}"
+_ATOM_ENTRY = f"{_ATOM_STANDARD}entry"
+_ATOM_TAG_ID = f"{_ATOM_STANDARD}id"
+_ATOM_TAG_VERSION = f"{_ATOM_STANDARD}title"
+_ATOM_TAG_URL = f"{_ATOM_STANDARD}link"
+
+
+class AtomRSSFetcher(ProjectFetcher):
+    def __init__(self, feed_id: int, name: str, stream_url: str):
+        super().__init__(feed_id, name)
+
+        self.stream_url = stream_url
+
+    def fetch_entries(self) -> List[Entry]:
+        req = requests.get(self.stream_url)
+        if req.status_code != requests.codes.ok:
+            logger.error(
+                "Failed to get %s RSS file at %s, server returned %s.",
+                self.name,
+                self.stream_url,
+                req.status_code,
+            )
+            return []
+
+        entries: List[Entry] = []
+
+        root = ET.fromstring(req.content)
+
+        ET.fromstring(req.content)
+        for entry in root.findall(_ATOM_ENTRY):
+            tag_id = entry.findtext(_ATOM_TAG_ID)
+            version = entry.findtext(_ATOM_TAG_VERSION)
+            url = entry.find(_ATOM_TAG_URL)
+
+            entries.append(Entry(self.feed_id, tag_id, self.name, version, url))
+
+        return entries
diff --git a/updates_notifier/fetchers/github_fetcher.py b/updates_notifier/fetchers/github_fetcher.py
index 0b572fdf7fa85d81ee0863af48611e46485b9ff1..721a0a468fe965f22240b59b95d9f66cd43ec6cf 100644
--- a/updates_notifier/fetchers/github_fetcher.py
+++ b/updates_notifier/fetchers/github_fetcher.py
@@ -1,7 +1,8 @@
 import logging
-import requests
 from typing import List
 
+import requests
+
 from ..entry import Entry
 from .project_fetcher import ProjectFetcher
 
diff --git a/updates_notifier/fetchers/gitlab_fetcher.py b/updates_notifier/fetchers/gitlab_fetcher.py
index e058e634056470737a20ce3a0425b61fed4f690c..47caa99cb02ba6531977e181fb4a0067940c8c66 100644
--- a/updates_notifier/fetchers/gitlab_fetcher.py
+++ b/updates_notifier/fetchers/gitlab_fetcher.py
@@ -1,8 +1,9 @@
 import logging
-import requests
 from typing import List
 import urllib.parse
 
+import requests
+
 from ..entry import Entry
 from .project_fetcher import ProjectFetcher