diff --git a/backend/metagenedb/common/utils/api/baseapi.py b/backend/metagenedb/common/utils/api/baseapi.py
index 2aa39aae4b79d0b146cd81ea466ac9c4ea1fec57..8b1a7fe056447ee1674b693f5bee348ae96d9765 100644
--- a/backend/metagenedb/common/utils/api/baseapi.py
+++ b/backend/metagenedb/common/utils/api/baseapi.py
@@ -1,6 +1,19 @@
+import logging
 import requests
 from urllib.parse import urljoin
 
+logging.basicConfig(level=logging.INFO)
+_LOGGER = logging.getLogger(__name__)
+
+
+class LoggedSession(requests.Session):
+
+    def request(self, method, url, **kwargs):
+        _LOGGER.info(f"{method.upper()} {url}")
+        response = super().request(method, url, **kwargs)
+        _LOGGER.info(f"STATUS CODE: {response.status_code}")
+        return response
+
 
 class BaseAPI(object):
     BASE_URL = ''
@@ -9,6 +22,7 @@ class BaseAPI(object):
         'Content-type': 'application/json',
         'Accept': '*/*'
     }
+    SESSION = LoggedSession
 
     def __init__(self):
         if not getattr(self, 'base_url', None):
@@ -16,25 +30,27 @@ class BaseAPI(object):
         if not getattr(self, 'route', None):
             self.route = self.ROUTE
         self.url = urljoin(self.base_url, self.route)
+        self.session = self.SESSION()
+        self.session.headers.update(self.HEADERS)
 
     def get_all(self):
-        response = requests.get(self.url)
+        response = self.session.get(self.url)
         response.raise_for_status()
         return response.json()
 
     def get(self, entry_id):
         full_url = urljoin(self.url, entry_id)
-        response = requests.get(full_url)
+        response = self.session.get(full_url)
         response.raise_for_status()
         return response.json()
 
     def post(self, data):
-        response = requests.post(f"{self.url}", json=data, headers=self.HEADERS)
+        response = self.session.post(f"{self.url}", json=data)
         response.raise_for_status()
         return response.json()
 
     def put(self, entry_id, data):
         full_url = urljoin(self.url, entry_id)
-        response = requests.put(f"{full_url}/", json=data, headers=self.HEADERS)
+        response = self.session.put(f"{full_url}/", json=data)
         response.raise_for_status()
         return response.json()
diff --git a/backend/metagenedb/common/utils/api/togows.py b/backend/metagenedb/common/utils/api/togows.py
index 547703dc4aa091eb918694a570a9728a1ee006e7..7951b78d30d5575c07cbd0bf35ad4c31e1635cee 100644
--- a/backend/metagenedb/common/utils/api/togows.py
+++ b/backend/metagenedb/common/utils/api/togows.py
@@ -11,6 +11,7 @@ class TogoWSEntry(TogoWS):
     TYPE = 'entry'
 
     def __init__(self, database, entry_format='json'):
+        super().__init__()
         self.database = database
         self.format = entry_format
         self.route = f"{self.TYPE}/{self.database}/"