Bulk Domain Availability Checker (RDAP) + Name Ideas
Pricing
from $1.50 / 1,000 domain lookups
Bulk Domain Availability Checker (RDAP) + Name Ideas
Check hundreds of names across any TLDs straight from registry RDAP servers, get available variations (get-, -hq, hyphenated) and track domains that change status.
Pricing
from $1.50 / 1,000 domain lookups
Rating
0.0
(0)
Developer
Musedenny
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Check hundreds or thousands of names across any TLDs in one run, straight from the official registry servers, and get available variations (get-, try-, -hq, -labs, hyphenated) when your first choice is taken. A monitoring mode reports only domains that changed status since the last run, e.g. a domain you want that just dropped.
- Official data, no scraping: each TLD's registry RDAP server, found through the IANA RDAP bootstrap file. Taken domains include the registrar, creation and expiry dates, status codes and nameservers.
- Fast: about 25 domains per second on .com/.net/.org.
- Fair billing: you pay per lookup actually sent to a registry. Domains skipped because a registry is down, rate-limiting, or has no lookup server are free.
- WHOIS fallback for ccTLDs without RDAP: .us, .de, .uk, .ca, .eu, .nl, .fr, .me.
Input
{"names": ["brightloom", "Blue Bottle", "quillmoss"],"tlds": ["com", "io", "ai", "app", "dev"],"suggestVariations": true,"variationTlds": ["com"],"maxVariationsPerName": 5,"onlyAvailable": false}
| Field | Default | Description |
|---|---|---|
names | – | Up to 5,000 names. "Blue Bottle" becomes bluebottle; non-ASCII names are converted to punycode. |
tlds | com, net, org, io, co, ai, app | Checked for every name. |
suggestVariations | false | Also check variations of each name. |
variationTlds | com | TLDs the variations are checked on. |
prefixes / suffixes | get, try, use, my, go / app, hq, labs, hub, now | Variation building blocks. |
hyphenate | true | blue-bottle for multi-word names. |
maxVariationsPerName | 10 | Cap per name (0–50). |
onlyAvailable | false | Leave taken domains out of the results (they are still checked and billed). |
onlyChanges | false | Monitoring: after the first run, output only domains whose status changed. |
stateStoreName | bulk-domain-checker-state | Named store for monitoring state; use one per watch list. |
proxyConfiguration | off | Optional Apify Proxy, see "Rate limits". |
maxConcurrency | 20 | Parallel lookups. |
Output
One item per domain:
{"inputName": "Blue Bottle","domain": "getbluebottle.com","tld": "com","status": "available","available": true,"source": "rdap","registrar": null,"createdAt": null,"expiresAt": null,"domainStatus": [],"nameservers": [],"note": "Not registered (may still be reserved or premium-priced at the registry).","isVariation": true,"variationType": "prefix:get","checkedAt": "2026-11-01T08:30:00Z"}
A taken domain looks like {"domain": "bluebottle.ai", "status": "registered", "available": false, "registrar": "NameCheap, Inc.", "createdAt": "…", "expiresAt": "…", …}.
status values: available, registered, unknown (no lookup server for the TLD, or the registry is rate-limiting), invalid (not a valid domain label). In onlyChanges mode each item also has previousStatus and changed.
The run's OUTPUT record has totals and availableByName (name → list of available domains), which is handy for a quick shortlist.
Pricing (pay per event + usage)
| Event | Price | When |
|---|---|---|
apify-actor-start | $0.001 | Apify built-in event, charged once per run (per GB of memory above 1 GB). Covers start-up cost and deters empty runs. |
domain-check | $0.0015 | One domain (name + TLD) looked up at the registry. Lookups skipped because a registry is down, blocking, or has no server are free. |
Examples: 500 names × .com = $0.001 + $0.75. 100 names × 5 TLDs + 5 .com variations each = 1,000 lookups = $1.50.
Plus Apify platform usage for the run itself (server time), typically $0.0002–0.0005 per run because the Actor is lightweight and capped at 512 MB. The run stops cleanly when your maximum cost per run is reached.
Rate limits (read this if you check .ai or .io in bulk)
Registries protect their RDAP servers. Verisign (.com/.net) and PIR (.org) handled 300+ quick lookups without complaint in testing. Identity Digital, which runs .ai, .io and about 450 other TLDs, blocks an IP for roughly 24 hours after a short burst. The Actor therefore:
- paces Identity Digital lookups to one every 1.5 seconds (so 100 .ai names take about 2.5 minutes);
- stops querying any registry that asks it to wait more than 2 minutes, and returns
unknown(free) for the rest of that registry's domains, with a clear note; - can route lookups through Apify Proxy (
proxyConfiguration), which spreads them over many IPs. Proxy traffic is billed by Apify to your account.
Limitations
- "Available" means the registry has no registration. Some names are reserved or premium-priced; confirm at a registrar before you buy.
- TLDs with neither RDAP nor a supported WHOIS server are returned as
unknownand are not billed.
Local development
pip install -r requirements.txt pytest pytest-asyncio respxpytest # HTTP mocked, no credentialspython -m src # reads storage/key_value_stores/default/INPUT.json
The RDAP code is shared with the Brand Name Checker Actor: edit ../shared/rdap.py, then run python ../scripts/sync_shared.py.