diff --git a/backend/metagenedb/api/catalog/views/function.py b/backend/metagenedb/api/catalog/views/function.py
index 949909d066562fcddc41839e7de74572b34dcb57..45f7ec7aa64aef88829260a9577bee93dfb1e9c3 100644
--- a/backend/metagenedb/api/catalog/views/function.py
+++ b/backend/metagenedb/api/catalog/views/function.py
@@ -1,19 +1,34 @@
+
+import logging
 from rest_framework.response import Response
 
 from metagenedb.api.catalog.filters import FunctionFilter
 from metagenedb.apps.catalog.models import Function
 from metagenedb.apps.catalog.serializers import FunctionSerializer
+from metagenedb.common.utils.external_api.togows import GetFunctionExternalInfo
 
 from .bulk_viewset import BulkViewSet
 
 
+logger = logging.getLogger(__name__)
+
+
 class FunctionViewSet(BulkViewSet):
     queryset = Function.objects.all()
     serializer_class = FunctionSerializer
     lookup_field = 'function_id'
     filterset_class = FunctionFilter
 
+    def _get_external_info(self, db_data):
+        detailed_info_retriever = GetFunctionExternalInfo(db_data['function_id'],
+                                                          db_data['source'])
+        detailed_data = detailed_info_retriever.get_details()  # @TODO check consistency?
+        return detailed_data
+
     def retrieve(self, request, *args, **kwargs):
         instance = self.get_object()
         serializer = self.get_serializer(instance)
-        return Response(serializer.data)
+        returned_data = serializer.data
+        if request.query_params.get('detailed', None):
+            returned_data = self._get_external_info(returned_data)
+        return Response(returned_data)
diff --git a/backend/metagenedb/api/catalog/views/test_function.py b/backend/metagenedb/api/catalog/views/test_function.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/backend/metagenedb/common/utils/external_api/test_togows.py b/backend/metagenedb/common/utils/external_api/test_togows.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/backend/metagenedb/common/utils/external_api/togows.py b/backend/metagenedb/common/utils/external_api/togows.py
index d319e0fd38e7f32cbc1741a2bf1c33fe83ddc788..28cd6f7e524aaa851c1589c4f59f2e0c7f924a4c 100644
--- a/backend/metagenedb/common/utils/external_api/togows.py
+++ b/backend/metagenedb/common/utils/external_api/togows.py
@@ -1,5 +1,7 @@
 import logging
 
+from django.conf import settings
+
 from bioapi.togows import TogoWSEntryAPI
 
 
@@ -21,7 +23,13 @@ class GetFunctionExternalInfo:
         Get detailed information from KEGG orthology through Togows.
         """
         kegg_api = TogoWSEntryAPI("kegg-orthology")
-        return kegg_api.get(self.function_id)[0]
+        response = kegg_api.get(self.function_id)[0]
+        response[settings.API_KEY_ADDITIONAL_INFO] = {
+            'comment': f"Information retrieved from external source: {kegg_api.url}",
+            'url': f"{kegg_api.url}{self.function_id}"
+        }
+        return response
 
     def get_details(self):
+        logger.info("Retrieving information from KEGG through togows")
         return getattr(self, f"_get_{self.source}", self._get_unknown_source)()
diff --git a/backend/metagenedb/settings/django.py b/backend/metagenedb/settings/django.py
index 53496e4c51acb2b6cd701334984e84201761d895..99b3700264216cfd800daefbf5af4bb6df2e2ad5 100644
--- a/backend/metagenedb/settings/django.py
+++ b/backend/metagenedb/settings/django.py
@@ -146,3 +146,6 @@ STATIC_ROOT = public_root('static')
 STATIC_URL = env.str('STATIC_URL', default='/static/')
 
 SECRET_KEY = env.str('SECRET_KEY', default='')
+
+# -- key for API when additional information is added to the payload
+API_KEY_ADDITIONAL_INFO = env.str('API_KEY_ADDITIONAL_INFO', default='metagenedb_additional_info')