code: def search_site(self, keyword):
          
          if not keyword:
              raise ValueError('Must provide a valid keyword')
  
          url = self.build_url(
              self._endpoints.get('search').format(keyword=keyword))
  
          response = self.con.get(url)
          if not response:
              return []
  
          data = response.json()
  
          # Everything received from cloud must be passed as self._cloud_data_key
          return [
              self.site_constructor(parent=self, **{self._cloud_data_key: site})
              for site in data.get('value', [])]
docs: Search a sharepoint host for sites with the provided keyword
  
          :param keyword: a keyword to search sites
          :rtype: list[Site]