diff --git a/brian_dashboard_manager/inventory_provider/interfaces.py b/brian_dashboard_manager/inventory_provider/interfaces.py
index dcdd6dd332c66b07880b0a5bc17bca6bd831be12..dec23c68cd4cf98deee757122f8bf4e6bda41e83 100644
--- a/brian_dashboard_manager/inventory_provider/interfaces.py
+++ b/brian_dashboard_manager/inventory_provider/interfaces.py
@@ -1,8 +1,9 @@
-from enum import Enum, auto
 import requests
 import logging
 import jsonschema
 
+from requests.exceptions import HTTPError
+from enum import Enum, auto
 from functools import reduce
 
 logger = logging.getLogger(__name__)
@@ -300,9 +301,14 @@ def _get_ip_info(host):
             prev[router_name] = router
 
         return prev
-    r = requests.get(f'{host}/data/interfaces')
-    r.raise_for_status()
-    interfaces = r.json()
+    try:
+        r = requests.get(f'{host}/data/interfaces')
+        r.raise_for_status()
+        interfaces = r.json()
+    except HTTPError:
+        logger.exception('Failed to get IP info')
+        interfaces = []
+
     jsonschema.validate(interfaces, ROUTER_INTERFACES_SCHEMA)
     return reduce(reduce_func, interfaces, {})
 
@@ -316,8 +322,13 @@ def get_interfaces(host):
     """
 
     r = requests.get(f'{host}/poller/interfaces')
-    r.raise_for_status()
-    interfaces = r.json()
+    try:
+        r.raise_for_status()
+        interfaces = r.json()
+    except HTTPError:
+        logger.exception('Failed to get interfaces')
+        interfaces = []
+
     jsonschema.validate(interfaces, INTERFACE_LIST_SCHEMA)
 
     ip_info = _get_ip_info(host)
@@ -336,6 +347,7 @@ def get_interfaces(host):
         interface['ipv4'] = ipv4
         interface['ipv6'] = ipv6
         return interface
+
     filtered = filter(lambda i: len(i['dashboards']) > 0, interfaces)
     enriched = list(map(enrich, filtered))
     return enriched
@@ -351,8 +363,13 @@ def get_gws_direct(host):
     """
 
     r = requests.get(f'{host}/poller/gws/direct')
-    r.raise_for_status()
-    interfaces = r.json()
+    try:
+        r.raise_for_status()
+        interfaces = r.json()
+    except HTTPError:
+        logger.exception('Failed to get GWS direct data')
+        interfaces = []
+
     jsonschema.validate(interfaces, GWS_DIRECT_DATA_SCHEMA)
     return interfaces
 
@@ -364,10 +381,13 @@ def get_gws_indirect(host):
     :param host: Hostname to perform the request to.
     :return: GWS Indirect data
     """
-
-    r = requests.get(f'{host}/poller/gws/indirect')
-    r.raise_for_status()
-    interfaces = r.json()
+    try:
+        r = requests.get(f'{host}/poller/gws/indirect')
+        r.raise_for_status()
+        interfaces = r.json()
+    except HTTPError:
+        logger.exception('Failed to get GWS indirect data')
+        interfaces = []
     return interfaces
 
 
@@ -378,9 +398,13 @@ def get_eumetsat_multicast_subscriptions(host):
     :param host: Hostname to perform the request to.
     :return: EUMETSAT multicast subscriptions
     """
+    try:
+        r = requests.get(f'{host}/poller/eumetsat-multicast')
+        r.raise_for_status()
+        data = r.json()
+    except HTTPError:
+        logger.exception('Failed to get EUMETSAT multicast subscriptions')
+        data = []
 
-    r = requests.get(f'{host}/poller/eumetsat-multicast')
-    r.raise_for_status()
-    data = r.json()
     jsonschema.validate(data, MULTICAST_SUBSCRIPTION_LIST_SCHEMA)
     return data