diff --git a/modules/mailchimp_campaign/src/Controller/MailchimpCampaignController.php b/modules/mailchimp_campaign/src/Controller/MailchimpCampaignController.php
index f1c930f..25dca92 100644
--- a/modules/mailchimp_campaign/src/Controller/MailchimpCampaignController.php
+++ b/modules/mailchimp_campaign/src/Controller/MailchimpCampaignController.php
@@ -9,6 +9,7 @@ use Drupal\Core\Link;
 use Drupal\Core\Url;
 use \Drupal\mailchimp_campaign\Entity\MailchimpCampaign;
 
+use Mailchimp\MailchimpAPIException;
 use Symfony\Component\HttpFoundation\JsonResponse;
 
 /**
@@ -28,8 +29,16 @@ class MailchimpCampaignController extends ControllerBase {
       '#empty' => '',
     );
 
-    $campaigns = mailchimp_campaign_load_multiple();
-    $templates = mailchimp_campaign_list_templates();
+    try {
+      $campaigns = mailchimp_campaign_load_multiple();
+      $templates = mailchimp_campaign_list_templates();
+    }
+    catch (MailchimpAPIException $e) {
+      $this->messenger()->addError(t('Unable to fetch Mailchimp campaign data, caught API exception: @error', [
+        '@error' => $e->getMessage(),
+      ]));
+      return $content;
+    }
 
     /* @var $campaign \Drupal\mailchimp_campaign\Entity\MailchimpCampaign */
     foreach ($campaigns as $campaign) {
