code: def get_music_service_information(self, search_type, search, start=0,
                                        max_items=100):
          
          # Check input
          if search_type not in ['artists', 'albums', 'tracks', 'playlists']:
              message = 'The requested search {} is not valid'\
                  .format(search_type)
              raise ValueError(message)
          # Transform search: tracks -> tracksearch
          search_type = '{}earch'.format(search_type)
          parent_id = SEARCH_PREFIX.format(search_type=search_type,
                                           search=search)
  
          # Perform search
          body = self._search_body(search_type, search, start, max_items)
          headers = _get_header('search')
          response = _post(self._url, headers, body, **self._http_vars)
          self._check_for_errors(response)
          result_dom = XML.fromstring(response.text.encode('utf-8'))
  
          # Parse results
          search_result = result_dom.find('.//' + _ns_tag('', 'searchResult'))
          out = {'item_list': []}
          for element in ['index', 'count', 'total']:
              out[element] = search_result.findtext(_ns_tag('', element))
  
          if search_type == 'tracksearch':
              item_name = 'mediaMetadata'
          else:
              item_name = 'mediaCollection'
          for element in search_result.findall(_ns_tag('', item_name)):
              out['item_list'].append(get_ms_item(element, self, parent_id))
  
          return out
docs: Search for music service information items.
  
          :param search_type: The type of search to perform, possible values are:
              'artists', 'albums', 'tracks' and 'playlists'
          :type search_type: str
          :param search: The search string to use
          :type search: str
          :param start: The starting index of the returned items
          :type start: int
          :param max_items: The maximum number of returned items
          :type max_items: int
  
          Note:
              Un-intuitively the playlist search returns MSAlbumList
              items. See note in class doc string for details.