diff --git a/src/Plugin/ProjectBrowserSource/DrupalDotOrgJsonApi.php b/src/Plugin/ProjectBrowserSource/DrupalDotOrgJsonApi.php
index 90ba986b642075a9ccd9a7402b4d689c981b0b1b..8eff2b332aba2a20f4bc14b99d47ce46ccd2a2a9 100644
--- a/src/Plugin/ProjectBrowserSource/DrupalDotOrgJsonApi.php
+++ b/src/Plugin/ProjectBrowserSource/DrupalDotOrgJsonApi.php
@@ -16,6 +16,7 @@ use Drupal\project_browser\ProjectBrowser\Project;
 use Drupal\project_browser\ProjectBrowser\ProjectsResultsPage;
 use GuzzleHttp\ClientInterface;
 use GuzzleHttp\Exception\GuzzleException;
+use GuzzleHttp\Exception\RequestException;
 use Psr\Log\LoggerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Response;
@@ -171,6 +172,11 @@ class DrupalDotOrgJsonApi extends ProjectBrowserSourceBase {
         }
       }
     }
+    catch (RequestException $exception) {
+      $this->logger->error($exception->getMessage());
+      $result['message'] = $exception->getMessage();
+      $result['code'] = $exception->getCode();
+    }
     catch (GuzzleException $exception) {
       $this->logger->error($exception->getMessage());
       $result['message'] = $exception->getMessage();
@@ -290,6 +296,11 @@ class DrupalDotOrgJsonApi extends ProjectBrowserSourceBase {
     }
 
     $api_response = $this->fetchProjects($query);
+    if (!is_array($api_response) || $api_response['code'] !== Response::HTTP_OK) {
+      $error_message = $api_response['message'] ?? $this->t('Error querying data.');
+      return $this->createResultsPage([], 0, $error_message);
+    }
+
     $returned_list = [];
     if (is_array($api_response) && !empty($api_response['list'])) {
       $related = !empty($api_response['related']) ? $api_response['related'] : NULL;
@@ -515,6 +526,7 @@ class DrupalDotOrgJsonApi extends ProjectBrowserSourceBase {
 
     $result = $this->fetchData($endpoint, $query_params);
     $return = [
+      'code' => $result['code'],
       'total_results' => 0,
       'list' => [],
     ];
@@ -527,6 +539,10 @@ class DrupalDotOrgJsonApi extends ProjectBrowserSourceBase {
       $return['list'] = $result['data'];
     }
 
+    if ($result['code'] !== Response::HTTP_OK) {
+      $return['message'] = $result['message'] ?? $this->t('Error when fetching the data.');
+    }
+
     return $return;
   }