Helpers — Naming, Quota & Lookups

The small utility procedures: registrable-apex and public-suffix tests, top-ASN ranking, Tor and TLS-fingerprint lookups, and reading your quota.

Updated July 2026Procedures

Helpers — Naming, Quota & Lookups Documentation

Beyond the investigation and identity procedures, WhisperGraph ships a handful of small utilities — the naming, ranking, lookup, and quota calls you reach for inside a larger query. None of them need a deep traversal; each answers one focused question.

Public-suffix functions

The PSL functions apply the Public Suffix List so you can find the registrable apex of a hostname or test whether a label is itself a public suffix. They are the reliable way to reduce a messy hostname to the domain you actually want to anchor on.

CALL whisper.psl.tldPlusOne("mail.google.co.uk") YIELD apex RETURN apex
FunctionArgumentReturns
whisper.psl.tldPlusOne(host)a hostnamethe registrable apex (mail.google.co.ukgoogle.co.uk)
whisper.psl.isPublicSuffix(label)a labeltrue if the label is itself a public suffix
whisper.psl.affiliation(host)exactly one hostthe affiliation group for the host

whisper.psl.affiliation() takes exactly one argument; passing more returns a 400. Use tldPlusOne before an anchored lookup when your input might be a subdomain — anchoring on the apex is usually what you want.

whisper.topAsnsByPrefixCount(n)

Rank the autonomous systems announcing the most prefixes — a quick way to find the largest networks without scanning the ASN label.

CALL whisper.topAsnsByPrefixCount(10) YIELD asn, prefixCount
RETURN asn, prefixCount ORDER BY prefixCount DESC

Tor & TLS-fingerprint lookups

Two direct lookups check whether an IP is a known Tor relay or emits a known TLS fingerprint, without composing the underlying edges yourself.

CALL whisper.lookupTorRelay("185.220.101.1") YIELD indicator, found
RETURN indicator, found
ProcedureArgumentAnswers
whisper.lookupTorRelay(ip)an IPwhether the IP operates a Tor relay
whisper.lookupTlsFingerprint(ip)an IPwhether the IP presents a known JA3/JARM fingerprint

TLS-fingerprint coverage is still seeding, so treat an empty result as no data rather than a negative finding.

whisper.quota()

Read the plan a request runs at and the caps that apply. It never counts against your quota.

CALL whisper.quota() YIELD key, value RETURN key, value

It yields plan, isAnonymous, hourlyLimit, hourlyUsed, hourlyRemaining, dailyLimit, maxQueryDepth, and maxResponseLimit. Read it any time you need to know your remaining budget or why a deep query was rejected — the caps here are the ones the Errors & Rate Limits page describes.

Schema introspection

The db.* calls describe the live schema and are also quota-free: db.labels(), db.relationshipTypes(), db.propertyKeys(), and db.schema(). They are covered on the Graph Schema pages and in the Procedures overview.