def fetch(observable: Observable):
        """
        :param observable: The extended observable klass
        :param api_key: The api key obtained from Malshare
        :return:  malshare json response or None if error
        """

        try:
            params = {
                "hash": observable.value,
                "api_key": yeti_config.get("malshare", "api_key"),
                "action": "details",
            }
            response = requests.get("https://malshare.com/api.php", params=params)
            if response.status_code == 200:
                return response.json()
            elif response.status_code == 404:
                return
            else:
                raise RuntimeError(
                    f"Could not retrieve feed, HTTP response: {response.status_code}"
                )
        except Exception:
            raise RuntimeError("Error Feeds")

        :param observable: The extended observable klass
        :param api_key: The api key obtained from Malshare
        :return:  malshare json response or None if error
        
plugins/analytics/public/malshare.py