docs: def email_finder(self, domain=None, company=None, first_name=None,
                       last_name=None, full_name=None, raw=False):
          """
          Find the email address of a person given its name and company's domain.
  
          :param domain: The domain of the company where the person works. Must
          be defined if company is not.
  
          :param company: The name of the company where the person works. Must
          be defined if domain is not.
  
          :param first_name: The first name of the person. Must be defined if
          full_name is not.
  
          :param last_name: The last name of the person. Must be defined if
          full_name is not.
  
          :param full_name: The full name of the person. Must be defined if
          first_name AND last_name are not.
  
          :param raw: Gives back the entire response instead of just email and score.
  
          :return: email and score as a tuple.
          """
          params = self.base_params
  
          if not domain and not company:
              raise MissingCompanyError(
                  'You must supply at least a domain name or a company name'
              )
  
          if domain:
              params['domain'] = domain
          elif company:
              params['company'] = company
  
          if not(first_name and last_name) and not full_name:
              raise MissingNameError(
                  'You must supply a first name AND a last name OR a full name'
              )
  
          if first_name and last_name:
              params['first_name'] = first_name
              params['last_name'] = last_name
          elif full_name:
              params['full_name'] = full_name
  
          endpoint = self.base_endpoint.format('email-finder')
  
          res = self._query_hunter(endpoint, params, raw=raw)
          if raw:
              return res
  
          email = res['email']
          score = res['score']
  
          return email, score