def METHOD_NAME(self, observable: str, mb_type: str, limit=10) -> pd.DataFrame:
    """
    Lookup for IOC in MalwareBazaar.
    Parameters
    ----------
    observable : str
        The observable to lookup. It can be a hash, a signature
    mb_type : str
        The type of the observable. It can be a hash, a signature (refer to MBEntityType).
    limit : int, optional
        The number of results to return, default is 100 or 50 in some cases, by default 10
    Returns
    -------
    pd.DataFrame
        The results of the lookup.
    Raises
    ------
    KeyError
        If invalid IoC type is provided.
    """
    if MBEntityType(mb_type) not in self._SUPPORTED_MB_TYPES:
        raise KeyError(
            f"Property type {mb_type} not supported",
            "Valid types are",
            ", ".join(x.value for x in MBEntityType.__members__.values()),
        )
    query_parameters = _build_query_string(observable, mb_type, limit)
    return self._make_mb_request(query_parameters)