Skip to main content

Search syntax

Start in Search with a domain, an IP address or a keyword. Use explicit fields when you want to control what matches. The same field expressions work in the dataset pages and their API requests.

Start with an example​

GoalDatasetQuery
Explore a domain across recordsUnified searchexample.com
Find services on a domain and its subdomainsHosts(host:example.com OR host:*.example.com)
Restrict those services to HTTPSHosts(host:example.com OR host:*.example.com) AND port:443
Find IPv4 DNS answersDNShost:*.example.com AND type:A
Find names pointing to an IPDNSvalue:192.0.2.1
Find certificate namesCertificatessan:*.example.com
Find a domain registrationWHOISdomain:example.com
Find a registration organizationWHOISregistrant_organization:"Example Company"
Find a technology on a scoped set of hostsHostshost:*.example.com AND technologies:nginx*

The examples use reserved names and addresses. Replace them with your investigation target; an empty example result is not a service error.

Fields and values​

Write field:value. Quote values containing spaces or punctuation that belongs to the value, for example title:"Customer Portal" or headers:"Content-Type: text/html". Use ordinary straight quotes, not typographic quotes copied from a document.

Field names depend on the dataset. A DNS answer uses value; a host's observed address uses resolution; a certificate name uses san; WHOIS uses domain. See Hosts, DNS, Certificates and WHOIS for their fields.

Combine and exclude​

Use uppercase AND, OR and NOT, with parentheses to make the grouping explicit:

host:*.example.com AND (port:80 OR port:443) AND NOT status_code:404
(host:example.com OR host:*.example.com) AND NOT technologies:Cloudflare

NOT excludes a matching condition. It does not establish that a missing or unobserved attribute is absent from the live service.

Wildcards​

* matches a sequence of characters on supported text fields. host:*.example.com targets subdomains; add host:example.com explicitly when you also need the apex. A suffix such as *example.com can match names outside that domain, so it is a poor substitute for a scoped domain query.

Prefer a concrete name or suffix over a leading wildcard across the entire index. Numeric fields such as ports are best queried as numbers, not wildcard text.

Numeric comparisons and dates​

Use <, <=, > and >= on fields that support comparisons:

host:*.example.com AND port>=8000 AND port<9000

For observation dates, use the interface's Observed selector. It applies to indexed observations, not a live availability check. A certificate's validity dates and a domain's registration dates describe different events; do not interpret them as the time Profundis last saw the asset.

A bare domain or IP can be interpreted into appropriate queries for multiple datasets. The heading shows the interpretation; Search everywhere broadens it when offered.

With explicit fields, Profundis selects the datasets that support the expression. It does not join rows from different datasets. For example, type:A AND san:*.example.com combines a DNS-only field with a certificate field and has no common dataset. Run two searches, then follow their observed connections.

An unknown field produces an error with suggestions where available. Fix it rather than broadening the query blindly. See Unified search.

Search from a result​

Use a result value's available search/refine actions to add a condition. The Find text on this page field only filters already loaded rows; it does not search the full index. The facet rail is based on the search response and should not be read as a complete inventory.

Why is my query rejected or incomplete?​

SymptomCheck
Invalid syntaxBalanced parentheses, straight quotes, uppercase operators and a value after each field
Unknown fieldDataset field reference; host, domain, san and value are not interchangeable
Conflicting fieldsSplit the expression into searches supported by a common dataset
Filter or depth limitYour current plan and the limit shown by the interface
Slow or partial resultsStart with a domain/IP scope, reduce broad wildcards and inspect the partial-results notice
Locked dataAuthentication and dataset entitlement; creating an account does not unlock every paid field

Search syntax is not the same as a regular expression in an advanced alert rule. Use the alert editor's query validation and Test lab when creating a watch.