diff --git a/datasources/connectors/hypercat.py b/datasources/connectors/hypercat.py
index bcc6856b0569c798d7f1fcb26ca77b5a70c8de7d..ba37216c9a8001220340995e9c916bd9a03b2e88 100644
--- a/datasources/connectors/hypercat.py
+++ b/datasources/connectors/hypercat.py
@@ -1,6 +1,7 @@
 import typing
 
 import requests
+import requests.auth
 
 from datasources.connectors.base import BaseDataConnector, DataConnectorContainsDatasets, DataConnectorHasMetadata
 
@@ -15,7 +16,14 @@ class HyperCat(DataConnectorContainsDatasets, DataConnectorHasMetadata, BaseData
     def get_data(self,
                  dataset: typing.Optional[str] = None,
                  query_params: typing.Optional[typing.Mapping[str, str]] = None):
-        super().get_data(dataset, query_params)
+        if dataset is None:
+            raise ValueError('When requesting data from a HyperCat catalogue you must provide a dataset href.')
+
+        location = dataset
+        r = requests.get(location,
+                         params=query_params,
+                         auth=requests.auth.HTTPBasicAuth(self.api_key, ''))
+        return r.text
 
     def get_datasets(self,
                      query_params: typing.Optional[typing.Mapping[str, str]] = None):
diff --git a/datasources/tests/test_connectors.py b/datasources/tests/test_connectors.py
index 11471d4f02be2b13ac622f5bb02da6bbc2be8660..94538279495cb40b4afe98c1267c02ee42046b9b 100644
--- a/datasources/tests/test_connectors.py
+++ b/datasources/tests/test_connectors.py
@@ -119,3 +119,20 @@ class ConnectorHyperCatTest(TestCase):
 
         self.assertIn('application/json',
                       result['urn:X-hypercat:rels:isContentType'])
+
+    def test_plugin_get_dataset_data(self):
+        """
+        Test that we can get data from a single dataset within the catalogue.
+        """
+        from decouple import config
+
+        api_key = config('HYPERCAT_BT_API_KEY')
+
+        dataset = self.dataset + '/datastreams/0'
+
+        connection = self.plugin(self.url,
+                                 api_key=api_key)
+        result = connection.get_data(dataset=dataset)
+
+        self.assertIsInstance(result, str)
+        self.assertGreaterEqual(len(result), 1)