Bulk Domain Availability Checker (RDAP) avatar

Bulk Domain Availability Checker (RDAP)

Pricing

$1.00 / 1,000 domain checkeds

Go to Apify Store
Bulk Domain Availability Checker (RDAP)

Bulk Domain Availability Checker (RDAP)

Check whether domains are available or registered, in bulk or as name ideas × TLDs, using official registry RDAP data with a DNS fallback. Returns registrar, creation and expiry dates, and nameservers.

Pricing

$1.00 / 1,000 domain checkeds

Rating

0.0

(0)

Developer

Jakob Jerič

Jakob Jerič

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Check if domains are available or registered, for a list of domains or for name ideas combined with many TLDs. For registered domains you also get the registrar, creation date, expiry date, days until expiry, EPP status, nameservers and DNSSEC.

Data comes from the domain registries' official RDAP services (the standard that replaces WHOIS for registry data), found through the IANA bootstrap file. TLDs whose registry has no public RDAP are checked through DNS instead. No API key, account or proxy is needed.

What you can do with it

  • Name brainstorming: check 20 name ideas across .com, .io, .ai, .dev and more in one run.
  • Portfolio monitoring: track expiry dates and registrars for your own domains, and schedule the run to catch renewals you missed.
  • Expiring-domain research: sort by daysUntilExpiry to see which domains on a watch list expire soon.
  • Lead and brand checks: confirm a list of brand or typo domains is registered, and by which registrar.

Input

FieldWhat it does
domainsDomains, hostnames or URLs. https://www.bbc.co.uk/news is checked as bbc.co.uk.
keywordsName ideas without an extension. Each one is combined with every entry in tlds.
tldsExtensions for the keywords. Default: com, net, org, io, ai, co, app, dev. Multi-level ones such as co.uk work.

Example:

{
"domains": ["apify.com", "bbc.co.uk", "my-unused-startup-name-2931.com"],
"keywords": ["northwindlabs"],
"tlds": ["com", "net", "org", "io", "ai", "co", "app", "dev"]
}

This checks 11 domains in about 2 seconds.

Output

One dataset item per domain. Examples copied from real runs:

{
"input": "apify.com",
"domain": "apify.com",
"tld": "com",
"status": "registered",
"source": "rdap",
"registrar": "Amazon Registrar, Inc.",
"registrarIanaId": "468",
"createdAt": "2009-06-02T17:14:10Z",
"updatedAt": "2026-05-16T16:53:04Z",
"expiresAt": "2035-06-02T17:14:10Z",
"daysUntilExpiry": 3135,
"eppStatus": ["client transfer prohibited"],
"nameservers": ["ns-1225.awsdns-25.org", "ns-1928.awsdns-49.co.uk", "ns-449.awsdns-56.com", "ns-839.awsdns-40.net"],
"dnssec": true,
"note": null,
"checkedAt": "2026-10-31T23:44:35.315Z"
}
{
"input": "northwindlabs.io",
"domain": "northwindlabs.io",
"tld": "io",
"status": "available",
"source": "rdap",
"registrar": null,
"registrarIanaId": null,
"createdAt": null,
"updatedAt": null,
"expiresAt": null,
"daysUntilExpiry": null,
"eppStatus": [],
"nameservers": [],
"dnssec": null,
"note": null,
"checkedAt": "2026-10-31T23:44:35.321Z"
}
{
"input": "spiegel.de",
"domain": "spiegel.de",
"tld": "de",
"status": "registered",
"source": "dns",
"registrar": null,
"registrarIanaId": null,
"createdAt": null,
"updatedAt": null,
"expiresAt": null,
"daysUntilExpiry": null,
"eppStatus": [],
"nameservers": ["pns101.cloudns.net", "pns102.cloudns.net", "pns103.cloudns.net", "pns104.cloudns.net"],
"dnssec": null,
"note": "The .de registry has no public RDAP service; result based on DNS only.",
"checkedAt": "2026-10-31T23:41:48.806Z"
}

Status values

statusMeaning
registeredThe registry has a record (source: rdap), or the domain is delegated in DNS (source: dns).
availableThe registry's RDAP service has no record and the domain is not in DNS.
likely-availableThe TLD has no public RDAP and the name does not exist in DNS. A few registered domains have no DNS at all, so confirm at a registrar before you rely on it.
invalidNot a valid domain, or the registry rejected the name. Not charged.
unknownThe lookups failed after retries. note says why. Not charged.

The Overview tab of the dataset shows a table with the main columns. Export to CSV, Excel or JSON from the dataset page or the API.

Pricing

Pay per event: $0.001 per domain checked ($1 per 1,000). There is no start fee. Invalid entries and failed lookups (unknown) are free. Example: 8 TLDs × 25 name ideas = 200 domains = $0.20.

If you set a maximum cost per run, the Actor stops when that amount is reached.

Limits

  • Up to 10,000 domains per run. Split bigger lists into several runs.
  • "Available" means the name is not registered. It can still be a premium or reserved name at the registrar, or blocked by registry policy.
  • Registries without public RDAP (for example .de, .co, .eu, .ch, .us, .jp) give only a DNS-based result, with no registrar or dates. .io, .me and .ac are queried through their registry operator's RDAP service.
  • Some ccTLD registries publish fewer fields over RDAP (for example no expiry date or nameservers). Missing values are null or empty lists.
  • Registrant and contact details are never collected. Only the registrar is read from RDAP.
  • Requests are throttled per registry and retried with backoff when a registry rate-limits. A run of 320 domains took about 75 seconds.
  • If a registry keeps rate-limiting after the retries (we saw this with .shop), the domain is checked through DNS instead and unregistered names come back as likely-available. Such runs are also slower.

FAQ

Is this WHOIS? It uses RDAP, the JSON successor to WHOIS that ICANN requires for all generic TLDs. It returns the same registry data (registrar, dates, status, nameservers) in a structured form.

Can I buy domains with it? No. It only checks the registries. Buy at any registrar.

Why is a domain I own shown as likely-available? Its TLD has no public RDAP and the domain has no nameservers set, so it does not exist in DNS. Add nameservers, or check it at your registrar.

How fresh is the data? Each run queries the registries live. checkedAt shows when each domain was checked.

Can I run it on a schedule? Yes. Use Apify schedules, for example daily for a list of domains you own, and filter on daysUntilExpiry.