Make a signed request to the API, raise any API errors, and
        returning a tuple of (data, metadata)

def _request(self, url, params=None):
        """Make a signed request to the API, raise any API errors, and
        returning a tuple of (data, metadata)
        """

        response = get(url, params=params, headers=self.headers, timeout=30)

        if response.status_code != 200:
            raise APIError('Request to {} returned {}'.format(response.url, response.status_code))

        response = response.json()

        error_text = response['service_meta']['error_text']
        if error_text:
            raise APIError(error_text)

        return response