docs: 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