ActorStack.dev

dnstwist generates names; a zone search finds them

Permutation engines find the squats their rules predicted. Searching the registry zone finds what is actually registered, including the spellings no generator would produce — and each approach misses something the other catches.

By Oswaldo Carabano6 min read

Short answer

dnstwist and the tools built on it generate permutations of a brand — character swaps, homoglyphs, inserted hyphens, alternative TLDs — and then test which of those names resolve. Searching a registry zone file inverts that: it asks which delegated domains actually match the brand, so it finds squats whose spelling no permutation rule would have produced, and brand-plus-keyword domains that are not typos at all. Each approach misses what the other catches. A permutation engine can test country-code TLDs that zone files do not cover, and it can check whether a name resolves rather than merely exists; zone search covers 1,075 gTLDs at once and does not depend on a generator's imagination.

Key points

  • dnstwist generates permutations of a brand and tests which resolve, so its coverage is bounded by the rules its generator implements.
  • A zone search asks which delegated domains match the brand, which catches squats whose spelling no permutation rule would have produced.
  • Brand-plus-keyword domains such as a brand followed by a product word are not typos, so a permutation engine built on character edits does not generate them.
  • A permutation engine can test country-code TLDs, which zone-file search cannot cover at all, so the two have genuinely different blind spots.
  • Resolution and delegation are different tests: dnstwist checks whether a name answers, and a zone file proves the name is delegated.
  • Running both is the complete answer, and running either alone leaves a documented gap rather than an unknown one.
On this page6 sections

Two tools, opposite directions, and a gap each one leaves that the other fills.

Two opposite directions at the same problem

dnstwist starts from your brand and generates names: character swaps, homoglyphs, inserted hyphens, bit-flips, alternative TLDs. Then it tests which of those resolve. A zone search starts from what is registered and asks which of it matches your brand.

Generation is bounded by the generator's rules. Search is bounded by the zones covered. Those are different boundaries.

What a permutation engine cannot generate

Anything its rules did not anticipate. A squat spelled in a way no edit rule produces; a brand-plus-keyword domain such as a brand followed by -support, -login or a product name, which is not a typographic variant at all and so is not generated by a character edit engine. Those are exactly the domains a contains match finds.

What a zone search cannot see

Every country-code top-level domain. .io, .ai, .co, .me and the rest are outside ICANN's zone data service entirely, and a permutation engine can test a candidate there simply by resolving it. For brand protection this is the more serious of the two gaps.

Resolving and existing are different tests

dnstwist tells you a name answers. A zone file tells you a name is delegated. A domain can be delegated and serve nothing, which is why parked_for_sale exists as a triage field — and a name can resolve through infrastructure that a delegation record alone would not reveal.

What each one costs per result

A dnstwist-based detector in the Apify Store charges $0.03 per registered domain found, or about $30 per thousand. A zone sweep charges $0.004 per match, about $4 per thousand — roughly seven times cheaper per result, for the structural reason that a held dataset is cheap to query.

Using both, and what that closes

The zone sweep covers 1,075 gTLDs broadly and cheaply, including the spellings nobody would guess. The permutation engine covers the country-code namespaces and tests resolution. Run together, the remaining gap is small and describable; run alone, either leaves a hole that the report should name rather than imply.

Frequently asked questions

Is this a dnstwist alternative?
It is a different method aimed at the same problem, and the two have different blind spots. dnstwist generates candidate names and tests them; a zone search looks for what is delegated. Neither is a superset of the other, so a thorough programme uses both.
What does a zone search find that dnstwist does not?
Squats whose spelling no permutation rule produces, and brand-plus-keyword domains that are not typographic variants at all. A generator can only test names its rules thought of, and a squatter is not obliged to pick one of them.
What does dnstwist find that a zone search does not?
Anything in a country-code top-level domain, which zone-file tools cannot cover, and whether a candidate actually resolves rather than merely being delegated. Those are real advantages and they are the reason to keep using it.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Operator claimchecked 18 Sept 2026
    dnstwist — domain name permutation engineMarcin Ulikowski
  2. Operator claimchecked 18 Sept 2026
    Typosquatting Detection — Actor README and input schemaActorStack / Apify Store
  3. Law or regulatorchecked 18 Sept 2026
    Root Zone Database — the delegation record for every TLDIANA
A row of residential mailboxes on posts in front of a wooden fence and trees.
DomainsGuide

Typosquat detection

How to run a brand sweep across 1,075 gTLDs, how to read `exact`, `typo` and `contains` differently, and why an empty result is the outcome worth paying for.

7 min
A row of residential mailboxes on posts in front of a wooden fence and trees.
DomainsGuide

Detecting domain hijacking

Whoever controls the nameservers controls the mail, the site and the certificates. That change happens in the registry zone, which is the one layer most monitoring never looks at.

7 min
A white measuring tape curving across a dark background, showing the numbers 15 to 45.
DomainsMeasured

DNSSEC adoption by TLD

Measured across the whole zone, 5.0% of domains publish a DS record. Per registry the rate runs from 0% to 100%, which is what makes the global figure unusable on its own.

5 min