Bulk Domain Availability Checker (Registry-Confirmed) avatar

Bulk Domain Availability Checker (Registry-Confirmed)

Pricing

from $0.70 / 1,000 domain checks

Go to Apify Store
Bulk Domain Availability Checker (Registry-Confirmed)

Bulk Domain Availability Checker (Registry-Confirmed)

Paste a list of names and see which domains are free across .com, .io, .ai, .de, .eu and 40+ more endings. Every answer is confirmed at the registry, including endings DNS-only checks can only guess. $1 per 1,000 checks; unanswered checks are free.

Pricing

from $0.70 / 1,000 domain checks

Rating

0.0

(0)

Developer

Quiet Robots

Quiet Robots

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

🔎 What does Bulk Domain Availability Checker do?

Paste a list of names and find out which domains are still free. Each name is checked across .com, .net, .org, .io, .ai, .app, .dev, .co and .xyz (or any endings you choose), and "available" is confirmed by the registry that runs each ending, not guessed from DNS.

  • Names × endings in one run: 100 names across 9 endings is 900 checks.
  • Registry-confirmed answers, including .io, .de, .eu, .it and .me, where a DNS-only check can only say "probably free".
  • A summary table to read, plus one data row per domain for spreadsheets and automations.
  • No API key, no proxy, no WHOIS account. You only need an Apify account.
  • $1 per 1,000 domains checked. You only pay for confirmed answers.

Press Start with the example names to see it work. That run checks 19 domains and costs about $0.02.

🚀 How to check domain availability in bulk

  1. Type or paste the names you are considering into Names or domains, for example brightpath and plum-otter-studio.
  2. Press Start.
  3. Open the summary table in the run's Output tab: one line per name, one column per ending, with the free ones marked.
Name.com.net.org.app.dev
brightpathtakentakentakentakentaken
plum-otter-studioFREEFREEFREEFREEFREE

The same answers are saved as data too (one row per domain). Download them as JSON, CSV or Excel, or read them through the Apify API.

💡 What you can use it for

  • Naming a product, startup or side project: paste 100 candidate names and get back the ones with a free .com or .io.
  • Checking a list you already have: paste full domains (brightpath.io) and get one row each.
  • AI agents and automations: a clean JSON answer per domain, with no API key or login.
  • Watching domains you want: switch on "Include registrar and dates" to get each registered domain's expiry date, and put the run on a schedule.

📥 Input

FieldWhat to put in
Names or domainsOne per line, or separated by commas. A plain name (brightpath) is checked with every ending below. A full domain (brightpath.io) is checked exactly as written. Links and capital letters are cleaned up for you.
Endings to checkWithout the dot. Defaults to com net org io ai app dev co xyz. Two-part endings such as co.uk work too.
Include registrar and datesFor registered domains, also fetch the registrar, registration and expiry dates and nameservers. Slower.
Only save available domainsLeaves registered domains out of the results.
{
"names": ["brightpath", "plum-otter-studio", "example.com"],
"tlds": ["com", "io", "ai"],
"details": false,
"onlyAvailable": false
}

📤 Output

One row per domain, in the order you gave them. This one was made with "Include registrar and dates" switched on:

{
"domain": "example.com",
"name": "example",
"tld": "com",
"status": "registered",
"available": false,
"registrar": "RESERVED-Internet Assigned Numbers Authority",
"createdAt": "1995-08-14T04:00:00Z",
"expiresAt": "2027-08-13T04:00:00Z",
"nameservers": ["elliott.ns.cloudflare.com", "hera.ns.cloudflare.com"],
"source": "rdap",
"note": null,
"checkedAt": "2026-10-10T11:45:31.983Z"
}

status is one of:

StatusMeaningCharged
availableThe registry confirms it has no record of this domain.Yes
registeredSomeone owns it.Yes
reservedNot registered, but held back from sale: by the registry itself (where its WHOIS says so, see Limits) or by ICANN's rules (example, www, nic, whois, rdds on every generic ending). It cannot be bought.No
probably_availableThe domain has no DNS records, but the registry could not confirm it (it has no public lookup service, or its lookup limit was reached). note says which.No
unknownNo clear answer. note says why.No
invalidNot a valid domain name.No

source says where the answer came from: dns, or the registry itself over rdap or whois.

✅ How it confirms a domain is available

  1. DNS first. A domain with nameservers is certainly registered, so those are answered at once.
  2. Then the registry. Every name DNS cannot find is looked up over RDAP, the registries' official replacement for WHOIS, at the registry that runs that ending. "Not found" there means available.
  3. WHOIS as a backup. For endings whose registry has no RDAP, or when a registry's RDAP limit has been reached, the Actor asks the same registry over WHOIS.
  4. A second look for reserved names. Some registries hold common words back from sale and still answer "not found" over RDAP. On the endings where the registry's WHOIS reveals this, a free-looking name is checked there too and comes back as reserved instead of available.

Step 2 matters: in testing, about 1 in 25 registered domains had no DNS records and would have been reported as free by a DNS-only check.

No scraping, no proxies, no third-party API in between.

Accuracy. Before release, 280 answers across .com .net .org .xyz .co .pl .de were compared with the registries' separate WHOIS service: 279 matched, none disagreed, and one could not be compared.

🌍 Supported domain endings (TLDs)

Type any ending into Endings to check. Tested with a taken and a free name each:

  • Confirmed by the registry: com net org io ai app dev co xyz (the defaults), plus tech online store shop site biz club cloud design blog art space fun top one tv cc to fm, uk co.uk de fr nl pl eu it be at se cz us ca com.au in me gg sh, and any other ending on IANA's RDAP list.
  • Partly: endings whose registry offers no public lookup (for example es, ch). Registered names are still found through DNS; names that look free come back as probably_available and are not charged.

💰 Pricing

You pay per domain that gets a confirmed answer (status available or registered). Everything else is free: reserved, unconfirmed, unknown and invalid rows are never charged.

Your Apify plan's discount tierPrice per 1,000 domains checked
Free$1.00
Bronze$0.90
Silver$0.80
Gold$0.70
  • 10 names across 9 endings = 90 checks = $0.09 at the Free price.
  • Apify's free plan includes $5 of credit a month, enough for up to about 5,000 checks.
  • Starting a run costs $0.00005.
  • If you set a maximum charge for the run, the Actor checks only as many domains as that covers.

🔌 Use it from the API, an automation or an AI agent

Start a run and get the rows back in one call (replace YOUR_TOKEN with your Apify API token):

curl -X POST "https://api.apify.com/v2/acts/quiet-robots~bulk-domain-availability-checker-registry-confirmed/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"names": ["brightpath", "plum-otter-studio"], "tlds": ["com", "io"]}'

The same with the JavaScript client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('quiet-robots/bulk-domain-availability-checker-registry-confirmed').call({
names: ['brightpath', 'plum-otter-studio'],
tlds: ['com', 'io'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((row) => row.available));
  • Make, Zapier, n8n and others: through Apify's integrations.
  • AI assistants: through Apify's MCP server an assistant can call the Actor as a tool: it sends a list of names and gets back one clear available: true or false per domain.

⚠️ Limits and good to know

  • "Available" means not registered, which is not always the same as "you can buy it". A registry can hold a name back (reserved) or sell it at a premium price. This mostly affects dictionary words; invented names are rarely affected.
    • Reserved names are caught on xyz tech online store site space fun cloud club design top (seen in testing, for example website.xyz and test.tech), and checked the same way on art fm biz one co.
    • They are not caught on .app, .dev and .shop, whose registries have no WHOIS service, or on other endings. There a reserved name such as test.app shows as available.
    • Premium pricing is never shown. Your registrar gives the final answer and price.
  • The second look takes time. It adds roughly half a second per free-looking name on the endings listed above.
  • Registries limit lookups. The .app and .dev registry allows about one lookup a second, so the Actor paces itself there. If a registry stops answering during a very large run, free-looking names come back as probably_available and are not charged; run them again later.
  • Long lists need a longer timeout. If a run reaches its time limit, the Actor saves what it has, says how many domains it did not reach, and does not charge for those. Raise the timeout in the run options and run the rest.
  • Registrar and dates come from RDAP. Answers that came over WHOIS or DNS don't include them.
  • No personal data. Only the registrar, dates and nameservers are returned, never owner contact details.

❓ FAQ

Do I need an API key, a proxy or a WHOIS account?

No. The Actor talks to DNS and to the registries directly. You only need an Apify account.

Can I check domain availability through an API?

Yes. See the examples above, or the API tab on this page for ready-made calls in other languages.

Can it watch a domain and tell me when it becomes free?

Save the run as a task with the domains you want and put it on a schedule (daily, for example). Each run tells you whether they are still registered; with "Include registrar and dates" on, you also see the expiry date.

How many domains can I check in one run?

There is no fixed limit. In our own testing 900 domains took about two minutes. Very large runs on one ending can reach that registry's lookup limit; the names it could not confirm come back as probably_available, free of charge.

Why did a name come back as probably_available?

Its registry either has no public lookup or stopped answering during the run. The name has no DNS records, which usually means it is free. Run it again later for a confirmed answer.

Does it tell me the price of a domain?

No. It says whether a domain is registered. Prices, including premium prices, come from the registrar you buy from.

💬 Support

Found a wrong answer, or need an ending that is not confirmed yet? Open an issue on the Actor's Issues tab and include the domain.