diff --git a/mlair/helpers/join.py b/mlair/helpers/join.py
index e0b28660f8d19e260dab5a68deced3af49b05f8e..93cb0e7b1b34d1ebc13b914ac9626fb4466a7201 100644
--- a/mlair/helpers/join.py
+++ b/mlair/helpers/join.py
@@ -131,15 +131,16 @@ def get_data(opts: Dict, headers: Dict) -> Union[Dict, List]:
     :return: requested data (either as list or dictionary)
     """
     url = create_url(**opts)
-    response = retries_session().get(url, headers=headers)
+    response = retries_session().get(url, headers=headers, timeout=(5, None))  # timeout=(open, read)
     if response.status_code == 200:
         return response.json()
     else:
         raise EmptyQueryResult(f"There was an error (STATUS {response.status_code}) for request {url}")
 
 
-def retries_session(max_retries=5):
+def retries_session(max_retries=3):
     retry_strategy = Retry(total=max_retries,
+                           backoff_factor=0.1,
                            status_forcelist=[429, 500, 502, 503, 504],
                            method_whitelist=["HEAD", "GET", "OPTIONS"])
     adapter = HTTPAdapter(max_retries=retry_strategy)