ActorStack.dev

How to check thousands of domains without a WHOIS lookup

Screening a naming shortlist against zone files instead of querying WHOIS per name: what it costs, what the verdicts mean, and where the method stops being enough.

By Oswaldo Carabano7 min read

Short answer

Checking a domain's availability normally means a WHOIS or RDAP lookup per name, which carries a rate limit, a proxy and a per-lookup fee. Screening against registry zone files answers the same question from a file already held: a domain present in the zone is delegated and certainly taken, and a domain absent from it is probably free. Screening 5,000 candidates costs $5.00 at $0.001 each, against roughly $100 at the $0.02 per domain a WHOIS-based bulk checker charges. The method's limit is its asymmetry — absence misses about 1.62% of registered `.com` domains — so it belongs at the top of a funnel, with a registrar confirming the handful that survive it.

Key points

  • A WHOIS-based check needs a rate limit, a proxy and a retry path for every single name, which is what a per-lookup fee actually pays for.
  • Screening against zone files answers from a file already held, so 5,000 candidates cost $5.00 rather than roughly $100 at $0.02 per domain.
  • Presence in the zone proves delegation and is certain; absence is a screening verdict that misses about 1.62% of registered `.com` domains.
  • The right shape is a funnel: screen thousands cheaply, then confirm the handful that matter at a registrar before committing to a name.
  • `onlyFree` removes the taken candidates from the output, and rows hidden that way are not charged.
  • Country-code TLDs cannot be screened this way at all, so a shortlist containing `.io` or `.ai` needs a second source for those rows.
On this page6 sections

You have 300 name ideas across a dozen TLDs. Most of them are gone. Finding out which is a different problem from deciding between the survivors.

What a WHOIS check actually costs

A WHOIS or RDAP lookup is a network request against a rate-limited service. At volume it needs proxies, backoff and a retry path per name, and that infrastructure is what the per-lookup fee pays for. Bulk checkers in the Apify Store charge $0.003 to $0.02 per domain, which is $3 to $20 per thousand.

Answering from a file you already hold

A registry zone file already says which domains are delegated. Checking a candidate against it is a lookup rather than a request, so the marginal cost collapses — and the price can follow the cost at $0.001 per candidate, or $1 per thousand.

CandidatesZone screen at $0.001WHOIS checker at $0.02
300$0.30$6.00
5,000$5.00$100.00

Running a screen over a shortlist

input.json — one name across five TLDs
{
  "candidates": [
    "myawesomeapp.com",
    "myawesomeapp.net",
    "myawesomeapp.org",
    "myawesomeapp.app",
    "myawesomeapp.dev"
  ],
  "maxResults": 100
}

Up to 5,000 candidates per run, each with its TLD. onlyFree: true drops the definitely-taken rows from the output, and rows hidden that way are not charged.

Reading the two verdicts

taken is certain: the domain is delegated in the registry's zone file. probably_free is a screening verdict, and it is wrong about 1.62% of the time in .com. On taken rows, parked_for_sale is worth reading — a domain sitting on a sale service is one you might still be able to buy.

Where the method stops being enough

At the point of decision. Screen thousands cheaply, then confirm the handful you actually want at a registrar before committing a brand to one. Saying so costs a sale occasionally and is better than letting somebody discover the 1.62% at checkout.

The candidates it cannot answer for

Anything in a country-code TLD. A shortlist containing .io or .ai needs a second source for those rows, because zone data does not cover them at any price and an absent row must not be read as an available name.

Frequently asked questions

How do I check hundreds of domains at once?
Paste the candidate list, with the TLD on each name, and screen it against zone files in one run. Up to 5,000 candidates go in a single job, and each comes back either delegated in the registry zone or absent from it.
Is a zone-file check as good as WHOIS?
For screening, it is better value and nearly as good; for a final decision, no. Zone data proves a domain is taken with certainty but can only report absence, which misses about 1.62% of registered `.com` domains, so a registrar check belongs at the end of the funnel.
Why does bulk WHOIS cost so much more?
Because every name is an individual network request against a rate-limited service, which needs proxies and retries to run at volume. A zone-file screen answers from data already held, so the marginal cost of a row is close to nothing.
What happens to candidates in .io or .ai?
They cannot be answered at all, because country-code TLDs are not distributed through ICANN's zone data service. A shortlist mixing gTLDs and ccTLDs needs a second source for the country-code rows rather than reading an empty result as availability.

Sources

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

  1. Operator claimchecked 18 Sept 2026
    Bulk Domain Search — Actor README and input schemaActorStack / Apify Store
  2. Law or regulatorchecked 18 Sept 2026
    Registry Reports — monthly per-TLD transaction and domain countsICANN
  3. Platform docschecked 18 Sept 2026
    Centralized Zone Data ServiceICANN
A white measuring tape curving across a dark background, showing the numbers 15 to 45.
DomainsMeasured

Probably free, not available

Absence from a zone file usually means unregistered, and sometimes does not. The gap was measured against ICANN's own monthly registry reports rather than estimated, and it differs by TLD.

6 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 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