def iris_investigate(self, domains=None, data_updated_after=None, expiration_date=None,<EOL>create_date=None, active=None, **kwargs):
if not (kwargs or domains):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if type(domains) in (list, tuple):<EOL><INDENT>domains = '<STR_LIT:U+002C>'.join(domains)<EOL><DEDENT>if hasattr(data_updated_after, '<STR_LIT>'):<EOL><INDENT>data_updated_after = data_updated_after.strftime('<STR_LIT>')<EOL><DEDENT>if hasattr(expiration_date, '<STR_LIT>'):<EOL><INDENT>expiration_date = expiration_date.strftime('<STR_LIT>')<EOL><DEDENT>if hasattr(create_date, '<STR_LIT>'):<EOL><INDENT>create_date = create_date.strftime('<STR_LIT>')<EOL><DEDENT>if type(active) == bool:<EOL><INDENT>active = str(active).lower()<EOL><DEDENT>return self._results('<STR_LIT>', '<STR_LIT>', domain=domains,<EOL>data_updated_after=data_updated_after, expiration_date=expiration_date,<EOL>create_date=create_date, items_path=('<STR_LIT>', ), **kwargs)<EOL>
Returns back a list of domains based on the provided filters.
        The following filters are available beyond what is parameterized as kwargs:

            - ip: Search for domains having this IP.
            - email: Search for domains with this email in their data.
            - email_domain: Search for domains where the email address uses this domain.
            - nameserver_host: Search for domains with this nameserver.
            - nameserver_domain: Search for domains with a nameserver that has this domain.
            - nameserver_ip: Search for domains with a nameserver on this IP.
            - registrar: Search for domains with this registrar.
            - registrant: Search for domains with this registrant name.
            - registrant_org: Search for domains with this registrant organization.
            - mailserver_host: Search for domains with this mailserver.
            - mailserver_domain: Search for domains with a mailserver that has this domain.
            - mailserver_ip: Search for domains with a mailserver on this IP.
            - redirect_domain: Search for domains which redirect to this domain.
            - ssl_hash: Search for domains which have an SSL certificate with this hash.
            - ssl_subject: Search for domains which have an SSL certificate with this subject string.
            - ssl_email: Search for domains which have an SSL certificate with this email in it.
            - ssl_org: Search for domains which have an SSL certificate with this organization in it.
            - google_analytics: Search for domains which have this Google Analytics code.
            - adsense: Search for domains which have this AdSense code.
            - tld: Filter by TLD. Must be combined with another parameter.

        You can loop over results of your investigation as if it was a native Python list:

            for result in api.iris_investigate(ip='199.30.228.112'):  # Enables looping over all related results

        api.iris_investigate(QUERY)['results_count'] Returns the number of results returned with this request
        api.iris_investigate(QUERY)['total_count'] Returns the number of results available within Iris
        api.iris_investigate(QUERY)['missing_domains'] Returns any domains that we were unable to find
        api.iris_investigate(QUERY)['limit_exceeded'] Returns True if you've exceeded your API usage
        api.iris_investigate(QUERY)['position'] Returns the position key that can be used to retrieve the next page:
            next_page = api.iris_investigate(QUERY, position=api.iris_investigate(QUERY)['position'])

        for enrichment in api.iris_enrich(i):  # Enables looping over all returned enriched domains