diff --git a/docs/conf.py b/docs/conf.py
index 6f8b07bfa6a783cb46bbf54c21d0d91cde572269..8fc029d6d2d622cd727ea7b85d4bbce4049a609b 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -53,6 +53,7 @@ html_theme_options = {
 intersphinx_mapping = {
     "np": ("https://numpy.org/doc/stable/", None),
     "Python": ("https://docs.python.org/3", None),
+    "pooch": ("https://www.fatiando.org/pooch/latest/", None),
 }
 # We keep the objects.inv files in our docs folder to get hints on how to specify the
 # cross-references. More on the topic can be found here:
diff --git a/src/zema_emc_annotated/dataset.py b/src/zema_emc_annotated/dataset.py
index f7411a734d613907248e7cf625c590a7c54e9aac..1da12a81889ffcb3709f9b0bd75adabcede2bffe 100644
--- a/src/zema_emc_annotated/dataset.py
+++ b/src/zema_emc_annotated/dataset.py
@@ -65,6 +65,13 @@ class ZeMASamples:
 
     The underlying dataset is the annotated "Sensor data set of one electromechanical
     cylinder at ZeMA testbed (ZeMA DAQ and Smart-Up Unit)" by Dorst et al. [Dorst2021]_.
+    Each extracted sample will be cached in the download directory of the file,
+    which is handled by :func:`pooch.os_cache`, where ``<AppName>`` evaluates to
+    ``pooch``. That way the concurrent retrieval of the same data is as performant as
+    possible and can simply be left to ``zema_emc_annotated``. Where ever the result
+    of ``ZeMASamples`` is needed in an external code base, it should be safe to call
+    it over and over without causing unnecessary extractions or even downloads. The
+    underlying mechanism is Python's built-in ``pickle``.
 
     Parameters
     ----------