Domain Availability Checker: Bulk, RDAP, Name Ideas
Pricing
from $1.20 / 1,000 checked domains
Domain Availability Checker: Bulk, RDAP, Name Ideas
Check which domain names are free to register, in bulk, with no API key. Paste names or generate ideas from keywords × TLDs (.com, .io, .ai, .app…) with prefixes and suffixes. Official registry RDAP with WHOIS fallback, plus registrar and expiry for taken names.
Pricing
from $1.20 / 1,000 checked domains
Rating
0.0
(0)
Developer
Charles Markette
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Domain Availability Checker tells you which domain names are free to register, in bulk, with no API key and no registrar account. Paste a list of domains, or type a few keywords and it generates the name ideas for you: every keyword × every TLD (.com, .io, .ai, .co.uk…), with optional prefixes (get, try, my), suffixes (app, hq, labs) and hyphenated variants. Each name comes back as one row: available: true or false, how it was checked, and for taken names the registrar and expiry date if you want them.
How it checks
- DNS first (fast). If the name has nameservers in DNS, it's registered:
available: false,method: "dns". Most taken names are settled here quickly, without querying the registry. - Then the registry. Names not in DNS are checked against the registry's official RDAP service (found through IANA's RDAP list). "Not found" means
available: true; a record meansavailable: false(registered names without nameservers are caught here). For TLDs without RDAP, it asks the registry's WHOIS server instead. - If neither answers clearly, the row has
available: nulland anerrorsaying why. These rows are free.
It sends at most 3 requests at a time to any one registry and retries when a server is busy, honouring Retry-After.
Use cases
- Brand and startup naming: type 10 name ideas and get every free .com, .io, .ai and .app version in one run, plus get-/-hq style variants.
- Domain investors: check a list of thousands of names you're watching, and keep only the free ones with Output only available names.
- Agencies: check names for several clients at once, then export the free ones to a Google Sheet for the client to pick from.
- Enriching a list of company names: point it at a dataset of companies (from a scraper or a CSV). Items with a website get that domain checked; set Name fields (for example
companyName) and items with only a name get domain ideas generated from the name ("Blue Fox Ltd" → bluefox.com, bluefox.io…).
How to use it
- Add Domains to check, and/or Keywords with the TLDs to try (default: com, net, org, io, co, app, dev, ai). Add Prefixes, Suffixes or Hyphenated variants if you want more ideas.
- Optionally pick a Dataset to enrich. Set Domain fields if yours aren't named domain, website, url or email, and Name fields (for example
companyName) to generate ideas from company names. - Run it. Turn on Output only available names for a short list, or Registrar and dates for taken names to see who holds the taken ones and when they expire.
Keywords are cleaned into valid domain labels: lowercase, spaces and punctuation removed ("Blue Fox!" → bluefox), apostrophes dropped ("Joe's" → joes), accented names converted to punycode ("café" → xn--caf-dma). Labels longer than 63 characters are skipped. Max generated names (default 500) caps how many names the keywords can produce.
Input example
{"keywords": ["blue fox", "quiet otter"],"tlds": ["com", "io", "ai", "co.uk"],"prefixes": ["get"],"suffixes": ["hq"],"hyphenVariants": true,"onlyAvailable": true}
Output example
{"domain": "getbluefox.io","label": "getbluefox","tld": "io","available": true,"method": "rdap","premiumOrReservedPossible": true,"registrar": null,"createdAt": null,"expiresAt": null,"daysUntilExpiry": null,"sourceKeyword": "blue fox","sourcePrefix": "get","sourceSuffix": null,"domainInput": null,"checkedAt": "2026-10-15T09:12:44Z","error": null}
A taken name checked with Registrar and dates for taken names turned on looks like "available": false, "method": "dns", "registrar": "Example Registrar, Inc.", "createdAt": "2009-06-02T17:14:10Z", "expiresAt": "2035-06-02T17:14:10Z", "daysUntilExpiry": 3152. domainInput is the original text for names from your list or dataset. method is dns, rdap or whois. A run summary (counts of available, taken, unknown and invalid names) is saved as OUTPUT in the key-value store.
How much does it cost?
Pay per event: $0.0023 per checked domain, plus $0.005 per run start. Apify platform usage is included.
Apify Store discounts: the price above is for Apify's Free plan. Paid plans pay less per 1,000 checked domains: $2.00 on Starter, $1.56 on Scale, $1.20 on Business. The "from" price at the top of the Store page is the Business price.
You pay only for rows with a definite answer (available true or false). These are free: rows with available: null (the registry couldn't be reached or didn't answer clearly), rows for input that isn't a domain, repeats skipped by Check each domain once, and names left out by Output only available names.
Worked examples:
Examples use the Free-plan rate. Where an example doesn't add it, each run also has its run-start charge, counted per GB of Actor memory (minimum one; one at the default memory); Apify Proxy (where used) is billed separately.
- 20 keywords × 8 TLDs = 160 names: 160 × $0.0023 + $0.005 = $0.373.
- A list of 5,000 names: 5,000 × $0.0023 + $0.005 = $11.505.
If you set a maximum cost per run, the Actor stops cleanly at that limit.
FAQ and limits
Does "available" mean I can buy it at the normal price?
Not always. available: true means the registry has no registration for the name. Some registries sell certain names at premium prices, and some names are reserved by the registry or blocked by registrars, even though they aren't registered. premiumOrReservedPossible: true marks available names in TLDs known to have premium pricing (for example .io, .ai, .co, .app, .dev, .xyz). Other TLDs can have reserved names too. Always confirm the price at your registrar's checkout.
Can a name be taken between my check and my purchase?
Yes. The result is correct at checkedAt. Popular names can be registered by someone else minutes later.
What does "available": null mean?
The name couldn't be confirmed: the registry was busy or unreachable, the TLD publishes neither RDAP nor WHOIS, or its WHOIS reply didn't say clearly. See error, and re-run those rows later. They are free.
Why is a taken name shown without a registrar?
By default, names found in DNS are reported as taken without asking the registry (faster, and polite to registries). Turn on Registrar and dates for taken names to fetch the registrar, creation and expiry dates.
Which TLDs are supported?
Any public TLD or second-level ending (co.uk, com.au…) that publishes RDAP or WHOIS. Some country-code registries publish little or rate-limit heavily, so expect more null rows there. Subdomains in your list are reduced to the registrable domain (blog.example.com → example.com).
Does it buy or reserve domains?
No. It only checks. It never registers anything and doesn't collect domain owners' personal data.
Related Actors
| Actor | Use it to |
|---|---|
| Domain WHOIS & DNS Lookup | Get full registration, DNS and email-setup data for taken domains. |
| Merge & Deduplicate Datasets | Keep only new names between scheduled runs. |
| Google Sheets Import & Export | Send the free names to a Google Sheet to share with a client or team. |
| Email & Slack Report | Send the list of free names by email, Slack, Discord, Teams or Telegram after each run. |
| Dataset Filter & Transform | Keep only the available names, or drop columns before sharing the list. |
| Bulk URL Status Checker | Check that the taken domains have live websites, and follow their redirects. |
RDAP bootstrap data: IANA. Domain parsing: tldextract with the Public Suffix List.