def fetch(observable):
        base_url_api = "https://www.threatcrowd.org/searchApi/v2"
        if isinstance(observable, Hostname):

            url = base_url_api + "/domain/report/"
            params = {"domain": observable.value}
            try:
                res = requests.get(url, params)

                if res.ok:
                    return res.json()
            except Exception as e:
                print("Exception while getting domain report {}".format(e.message))
                return None

        elif isinstance(observable, Email):
            url = base_url_api + "/email/report/"
            params = {"email": observable.value}
            try:
                res = requests.get(url, params)

                if res.ok:
                    return res.json()
            except Exception as e:
                print("Exception while getting email report {}".format(e.message))
                return None
        elif isinstance(observable, Ip):
            url = base_url_api + "/ip/report/"
            print(url)
            params = {"ip": observable.value}
            print(params)
            try:
                res = requests.get(url, params)

                if res.ok:
                    return res.json()
            except Exception as e:
                print("Exception while getting email report {}".format(e.message))
                return None
        elif isinstance(observable, Hash):
            url = base_url_api + "/file/report/"
            params = {"resource": observable.value}
            try:
                res = requests.get(url, params)

                if res.ok:
                    return res.json()
            except Exception as e:
                print("Exception while getting email report {}".format(e.message))
                return None