diff --git a/lib/galaxy/tool_util/biotools/source.py b/lib/galaxy/tool_util/biotools/source.py
index 92c8b08a69b7..25838499aa55 100644
--- a/lib/galaxy/tool_util/biotools/source.py
+++ b/lib/galaxy/tool_util/biotools/source.py
@@ -54,12 +54,13 @@ def __init__(self, cache=None):
 
     def _raw_get_metadata(self, biotools_reference) -> Optional[str]:
         api_url = f"https://bio.tools/api/tool/{biotools_reference}?format=json"
-        req = requests.get(api_url, timeout=DEFAULT_SOCKET_TIMEOUT)
-        req.encoding = req.apparent_encoding
-        if req.status_code == 404:
-            return None
-        else:
+        try:
+            req = requests.get(api_url, timeout=DEFAULT_SOCKET_TIMEOUT)
+            req.raise_for_status()
+            req.encoding = req.apparent_encoding
             return req.text
+        except Exception:
+            return None
 
     def get_biotools_metadata(self, biotools_reference: str) -> Optional[BiotoolsEntry]:
         createfunc = functools.partial(self._raw_get_metadata, biotools_reference)