Bulk Domain Search — Availability Checker for 1,075 TLDs avatar

Bulk Domain Search — Availability Checker for 1,075 TLDs

Pricing

Pay per event

Go to Apify Store
Bulk Domain Search — Availability Checker for 1,075 TLDs

Bulk Domain Search — Availability Checker for 1,075 TLDs

Bulk domain search and availability checker: paste up to 5,000 names and get a verdict for each, across 1,075 gTLDs. No WHOIS, no registrar API, no rate limits and no per-lookup fee — it reads the registries' own zone files, so a taken domain is certain and the rest are probably free.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Oswaldo Carabano

Oswaldo Carabano

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Screens thousands of candidate domains in one run against the registries' own zone files. No registrar API, no rate limits, no per-lookup fee.

Built for the moment before you decide: you have 300 name ideas across 12 TLDs and you want the dead ones gone before you look at the rest by hand.

Coverage

1,075 gTLDs, including .com, .net, .org, .info, .biz, .xyz, .top, .shop, .online, .site, .store, .app, .dev and .cloud255,631,856 delegated domains, counted from the zone files themselves and refreshed daily.

Coverage is real but it is not evenly spread, and you should know the shape of it before you rely on it: .com alone is 166 million of that total, and while all 1,075 TLDs are included, 481 of them hold fewer than a thousand domains each. Breadth helps you catch something in an obscure TLD; it is not 1,075 equally busy namespaces.

Not covered: .io, .ai, .co, .me, .tv, .cc and every other country-code TLD. These are not available from ICANN's zone file service at any price — they are run outside ICANN's contracts. They are also exactly the TLDs a startup expects, so we say it here rather than letting you find out from an empty result.

What a zone file does not contain, and no run will ever return: the registrant, their email, the registrar, the registration date, the expiry date, or the domain's own A, MX and TXT records. Any tool promising those needs a different source, and at scale that source is prohibited by the agreement behind this data.

Input

Every run is anchored on something you provide. There is no way to ask this Actor for the whole namespace, and that is a design decision rather than a limitation: the data agreement behind it forbids handing over a substantial portion of a zone, so the product simply has no shape that could.

See Example runs below for fifteen worked inputs.

Output

FieldMeaning
candidateThe name you asked about, exactly as we normalised it
domainThe domain, when it exists in the zone
tldIts top-level domain
statustaken or probably_free — read the asymmetry below
nameserversWhere it delegates, when it is taken
dns_providerWho runs the DNS, inferred from the nameserver. 69.1% filled. This is a hosting fact, not a technology one — see below
parked_for_saleTrue when the nameserver belongs to a parking or domain-sale service. 2.0% of domains, and exact when it fires

Reading the results

The two answers are not equally strong, and that is the whole point.

statusWhat it means
takenThe domain is delegated in the registry's own zone file. Certain.
probably_freeNot in the zone file. Usually unregistered — but a domain can be registered and absent, for example if it is suspended, newly bought, or has no nameservers set.

About 1.6% of registered .com domains are not in the zone file at any given time. We checked that figure against ICANN's monthly registry reports rather than taking it on trust: 169,209,254 .com domains registered against 166,467,808 in the zone, which is 1.62%.

That rate is not the same everywhere. It is roughly 2.4% in .net and 3.1% in .org, so probably_free is a little less reliable outside .com than inside it.

Treat this as a screening pass that removes the vast majority of dead candidates cheaply, then confirm the handful you actually want at a registrar. It is not a purchase decision, and we would rather say so than let you find out at checkout.

parked_for_sale is worth reading on the taken rows. A taken domain sitting on a sale service is one you might still be able to buy.

dns_provider says who runs the DNS, not what the site is built with. We measured every domain in the zone: the nameserver identifies the DNS operator for 69% of them, but that is a hosting fact. A domain on Cloudflare can be running anything at all. Website platforms are configured with A and CNAME records, which a zone file does not contain, so we cannot see them and we do not guess — Shopify, for instance, is visible on 185 domains out of 64 million. We would rather ship a column that is true than one that looks impressive.

Example runs

1. Bulk domain search for one name across five TLDs

{
"candidates": [
"myawesomeapp.com",
"myawesomeapp.net",
"myawesomeapp.org",
"myawesomeapp.app",
"myawesomeapp.dev"
],
"maxResults": 100
}

2. Find which domains in a list are still available

{
"candidates": [
"trylaunch.com",
"trylaunch.net",
"trylaunch.app"
],
"onlyFree": true,
"maxResults": 100
}

3. Check a startup name shortlist for availability

{
"candidates": [
"kavu.com",
"kavu.io",
"hexly.com",
"hexly.app",
"nordic.dev"
],
"maxResults": 100
}

4. Bulk check brand plus modifier domain ideas

{
"candidates": [
"getstripe.com",
"trystripe.com",
"usestripe.com",
"stripehq.com"
],
"maxResults": 100
}

5. Check a rebrand name across five TLDs

{
"candidates": [
"northwind.com",
"northwind.co.uk",
"northwind.shop",
"northwind.store",
"northwind.online"
],
"maxResults": 100
}

6. Bulk availability check for two-word product names

{
"candidates": [
"cloudforge.com",
"cloudforge.dev",
"dataforge.com",
"dataforge.dev"
],
"maxResults": 100
}

7. See which short domains on your wishlist are already gone

{
"candidates": [
"zyla.com",
"vexo.com",
"quix.com",
"nyla.com",
"xqoz.com",
"vurq.com"
],
"maxResults": 200
}

8. Check a domain investor watchlist in bulk

{
"candidates": [
"crypto.shop",
"crypto.store",
"crypto.online",
"crypto.site"
],
"maxResults": 100
}

9. Bulk check local business domain names

{
"candidates": [
"berlinbakery.shop",
"berlinbakery.store",
"berlinbakery.online"
],
"maxResults": 100
}

10. Screen a naming shortlist and keep only the free ones

{
"candidates": [
"lumenbarrow.com",
"lumenmantle.com",
"lumenfathom.com",
"lumenwright.com",
"lumenforge.com",
"vertexbarrow.com",
"vertexquill.com",
"vertexforge.com",
"quantabarrow.com",
"quantahollow.com",
"nimbusbarrow.com",
"cobaltquill.com"
],
"onlyFree": true,
"maxResults": 500
}

11. Check AI product name availability in bulk

{
"candidates": [
"askly.ai",
"askly.com",
"askly.app",
"askly.dev"
],
"maxResults": 100
}

12. Defensive domain registration check before launch

{
"candidates": [
"acmepay.com",
"acmepay.net",
"acmepay.org",
"acmepay.shop",
"acmepay.app",
"acmepay.dev"
],
"maxResults": 100
}

13. Bulk domain availability check from a spreadsheet

{
"candidates": [
"idea001.com",
"idea002.com",
"idea003.com",
"idea004.com",
"idea005.com"
],
"onlyFree": true,
"maxResults": 5000
}

14. Compare hyphenated and non-hyphenated domains

{
"candidates": [
"my-app.com",
"my-app.dev",
"myapp.com",
"myapp.dev"
],
"maxResults": 100
}

15. Check numeric and mixed domain names in bulk

{
"candidates": [
"shop24.store",
"shop24.online",
"24shop.store"
],
"maxResults": 100
}

Pricing

$0.00001 to start, then $0.001 per candidate screened$1 per 1,000. Screening 5,000 candidates costs $5.00, and a 300-name shortlist costs 30 cents.

WHOIS-based bulk checkers in the Store charge $0.02 to $0.003 per domain — $20 to $3 per 1,000. This is three to twenty times cheaper because it costs us almost nothing to answer: there is no WHOIS lookup, no proxy and no rate limit behind each row, just a query against a file we already hold. Screening 5,000 names here is $5; the same work against a WHOIS-based Actor is $100.

⚠️ One honest comparison we lose. There is a flat-rate checker at $0.035 per run with no per-domain charge. For a single large batch it is cheaper than this Actor, and we are not going to pretend otherwise. What you get here instead is 1,075 TLDs in one pass, an answer in seconds rather than minutes, and a stated error rate — 1.62%, measured against ICANN's monthly registry reports — instead of a promise.

Data source

🛡️ Sourced from the Registry Operators' own zone files, obtained through ICANN's Centralized Zone Data Service under agreement with those operators. ICANN does not endorse, sponsor or review this Actor.

Built for security research, brand protection and domain analytics. The access behind this data was granted one TLD at a time, which is why the coverage is what it is.

Support

Found a domain the Actor missed, or a row that looks wrong? Open an issue on the Actor page with the exact input you used. Zone data is refreshed once a day, so a domain delegated this morning may not appear until tomorrow's snapshot.