diff --git a/README.md b/README.md
index fed3cba90cb0e90c278c8c1ab80d5a13e0387ea3..8e2eaa20af74d54082174e74462e7aea486d34e7 100644
--- a/README.md
+++ b/README.md
@@ -69,6 +69,18 @@ To load this version at a later date, use `plwn.load(path)` instead of `plwn.loa
     >>> api = plwn.load("storage-dumps/plwn-new.db")
 
 
+Downloading API dumps
+=====================
+
+In order to download one of the dumps available at https://minio.clarin-pl.eu/ :
+    import plwn
+    plwn.download("optional_name")
+File will be downloaded to the current directory.
+If optional_name is not provided default dump will be downloaded.
+If optional_name is provided but doesn't match name of any available dumps, the process will fail
+and display possible names.
+
+
 Licenses
 ========
 
diff --git a/plwn/__init__.py b/plwn/__init__.py
index fe9b1f0b971492731c7c6ed5c26934eef70743eb..83159a544675380d88a64e755e0098518d19e1c8 100644
--- a/plwn/__init__.py
+++ b/plwn/__init__.py
@@ -20,6 +20,7 @@ from ._loading import read
 from ._loading import load
 from ._loading import show_source_formats
 from ._loading import show_storage_formats
+from .download import download
 # Import the enums that are needed for selecting and filtering
 from .enums import PoS, RelationKind
 
@@ -35,4 +36,5 @@ __all__ = [
     "show_source_formats",
     "load_default",
     "RelationKind",
+    "download",
 ]
diff --git a/plwn/config.ini b/plwn/config.ini
index 04c4bf256a340605658c527de18d82e11b0db1e2..ec3c6ffbc546b7cc4832deaca53288cb9a1a5482 100644
--- a/plwn/config.ini
+++ b/plwn/config.ini
@@ -1,2 +1,2 @@
 [DOWNLOAD]
-model = https://minio.clarin-pl.eu/public/models/plwn_api_dumps/plwn_dump_27-03-2018.sqlite
\ No newline at end of file
+default_model = https://minio.clarin-pl.eu/public/models/plwn_api_dumps/plwn_dump_27-03-2018.sqlite
\ No newline at end of file
diff --git a/plwn/download.py b/plwn/download.py
index 9699eb5b58a6d7c5cc55c490f85ab1b410934506..21378e18e5b4751fdacf48f68f81ca04d7ef0f8d 100644
--- a/plwn/download.py
+++ b/plwn/download.py
@@ -1,25 +1,50 @@
 """Implementation of download method."""
 import configparser
 import os
+import xml.etree.ElementTree as ET
+import re
 
 import requests
+from six.moves.urllib.request import urlopen
 
-models = {
-    "model",
-}
 
+config = configparser.ConfigParser()
+config_path = os.path.join(os.path.dirname(
+            os.path.abspath(__file__)), "config.ini")
+config.read(config_path)
+
+
+def get_available_models():
+    root = ET.parse(urlopen("https://minio.clarin-pl.eu/public")).getroot()
+    available_models = []
+    for child in root.findall(
+            "{http://s3.amazonaws.com/doc/2006-03-01/}Contents"):
+        if "models/plwn_api_dumps/" in str(
+                child.find(
+                    "{http://s3.amazonaws.com/doc/2006-03-01/}Key").text):
+            string = child.find(
+                "{http://s3.amazonaws.com/doc/2006-03-01/}Key").text
+            substring = r"models/plwn_api_dumps/"
+            available_models.append(re.sub(substring, r'', string))
+    return available_models
 
-def download(name):
+
+def download(name = "default_model"):
     """After called it downloads a specified database model.
 
     Currently only one model available.
     """
+    models = get_available_models()
+    if name == "default_model":
+        url = config["DOWNLOAD"][name]
+        r = requests.get(url)
+        with open(name, "wb") as f:
+            f.write(r.content)
+            f.close()
+        return
     if name in models:
-        cfg = configparser.ConfigParser()
-        config_path = os.path.join(os.path.dirname(
-            os.path.abspath(__file__)), "config.ini")
-        cfg.read(config_path)
-        url = cfg["DOWNLOAD"][name]
+        url = config["DOWNLOAD"]["default_model"]
+        url = url.replace("plwn_dump_27-03-2018.sqlite",name)
         r = requests.get(url)
         with open(name, "wb") as f:
             f.write(r.content)
diff --git a/setup.py b/setup.py
index f4f5befa127b31ce33fdce375bfe52b311254a20..fad428729a86384ba43d92a9283180427d2f8600 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@ ENVNAME_DIST_NODEFAULT = 'PLWN_API_DIST_NO_DEFAULT_STORAGE'
 
 setup_args = dict(
     name='PLWN_API',
-    version='0.23',
+    version='0.24',
     license='LGPL-3.0+',
     description='Python API to access plWordNet lexicon',