diff --git a/quapy/data/datasets.py b/quapy/data/datasets.py
index 5a0dde1..fb17730 100644
--- a/quapy/data/datasets.py
+++ b/quapy/data/datasets.py
@@ -624,3 +624,26 @@ def fetch_lequa2022(task, data_home=None):
 
     return train, val_gen, test_gen
 
+def fetch_IFCB(data_home=None):
+
+    if data_home is None:
+        data_home = get_quapy_home()
+
+    URL_TRAINDEV=f'https://zenodo.org/records/10036244/files/IFCB.train.zip'
+    URL_TEST=f'https://zenodo.org/records/10036244/files/IFCB.test.zip'
+    URL_TEST_PREV=f'https://zenodo.org/records/10036244/files/IFCB.test_prevalences.zip'
+
+    ifcb_dir = join(data_home, 'ifcb')
+    os.makedirs(ifcb_dir, exist_ok=True)
+
+    def download_unzip_and_remove(unzipped_path, url):
+        tmp_path = join(ifcb_dir, 'tmp.zip')
+        download_file_if_not_exists(url, tmp_path)
+        with zipfile.ZipFile(tmp_path) as file:
+            file.extractall(unzipped_path)
+        os.remove(tmp_path)
+
+    if not os.path.exists(join(ifcb_dir, task)):
+        download_unzip_and_remove(ifcb_dir, URL_TRAINDEV)
+        download_unzip_and_remove(ifcb_dir, URL_TEST)
+        download_unzip_and_remove(ifcb_dir, URL_TEST_PREV)
\ No newline at end of file