Domain WHOIS & DNS Lookup (RDAP) avatar

Domain WHOIS & DNS Lookup (RDAP)

Pricing

from $10.00 / 1,000 domain checkeds

Go to Apify Store
Domain WHOIS & DNS Lookup (RDAP)

Domain WHOIS & DNS Lookup (RDAP)

Look up domain registration (registrar, creation and expiry dates, status, nameservers, DNSSEC) from official RDAP registries plus A, AAAA, MX, NS, TXT, CNAME and CAA records and the email provider. No personal data.

Pricing

from $10.00 / 1,000 domain checkeds

Rating

0.0

(0)

Developer

Neatfeeds

Neatfeeds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Give it a list of domains, URLs or emails; get back one clean row per domain with the registrar, creation/expiry dates, days until expiry, domain age, EPP status, nameservers, DNSSEC, live DNS records (A, AAAA, MX, NS, TXT, CNAME, CAA) and the email provider detected from MX.

Data comes only from official sources: the IANA RDAP bootstrap and each registry's own RDAP server (the ICANN-mandated successor of WHOIS), plus DNS-over-HTTPS from Cloudflare (Google as fallback). No scraping of WHOIS websites, no browser, no proxy, no personal data.

Use cases

  • Domain investors and SEO: track expiry dates and daysUntilExpiry of portfolios, competitors' domains or expired-domain candidates; check registered: false for availability.
  • Security / threat intel: flag newly registered domains (domainAgeDays < 30) in phishing reports, email logs or ad networks; check DNSSEC, CAA and nameservers.
  • Sales and lead enrichment: turn a list of company websites or contact emails into emailProvider (Google Workspace, Microsoft 365, Zoho Mail, Proofpoint, ...) and hosting hints for segmentation.
  • IT inventory and compliance: audit all company domains at once: registrar, renewal dates, transfer locks (status), SPF/verification TXT records, CAA policy.

Input

FieldTypeDefaultDescription
domainsarray of stringsrequiredDomains, URLs or emails. The registrable domain is extracted (https://www.shop.example.co.uk/x → example.co.uk, jane@example.com → example.com), lower-cased and converted to punycode (münchen.de → xn--mnchen-3ya.de). Duplicates are checked and billed once; entries that are not domains are skipped and listed in the log.
includeDnsbooleantrueAlso resolve DNS records and detect the email provider. Same price either way.
maxResultsinteger1000Stop after this many domains.
{
"domains": ["example.com", "https://www.wikipedia.org/wiki/Main_Page", "press@stripe.com", "münchen.de"],
"includeDns": true,
"maxResults": 1000
}

Output

One item per unique domain. Real item from a cloud run (TXT list shortened):

{
"domain": "wikipedia.org",
"input": "wikipedia.org",
"registered": true,
"registrar": "MarkMonitor Inc.",
"registrarIanaId": "292",
"createdAt": "2001-01-13T00:12:14.754Z",
"updatedAt": "2026-08-12T08:47:19.410Z",
"expiresAt": "2027-01-13T00:12:14.000Z",
"daysUntilExpiry": 85,
"domainAgeDays": 9410,
"status": ["client delete prohibited", "client transfer prohibited", "client update prohibited"],
"nameservers": ["ns0.wikimedia.org", "ns1.wikimedia.org", "ns2.wikimedia.org"],
"dnssec": false,
"dns": {
"a": ["208.80.154.224"],
"aaaa": ["2620:0:861:ed1a::1"],
"mx": [
{ "priority": 10, "exchange": "mx-in1001.wikimedia.org" },
{ "priority": 10, "exchange": "mx-in2001.wikimedia.org" }
],
"ns": ["ns0.wikimedia.org", "ns1.wikimedia.org", "ns2.wikimedia.org"],
"txt": ["yandex-verification: 35c08d23099dc863", "v=spf1 include:_cidrs.wikimedia.org ~all"],
"cname": [],
"caa": [
{ "flags": 0, "tag": "iodef", "value": "mailto:dns-admin@wikimedia.org" },
{ "flags": 0, "tag": "issue", "value": "letsencrypt.org" },
{ "flags": 0, "tag": "issue", "value": "pki.goog" }
]
},
"emailProvider": "Other",
"rdapServer": "https://rdap.publicinterestregistry.org/rdap/",
"error": null,
"checkedAt": "2026-10-19T22:23:02.529Z"
}
FieldMeaning
domain / inputNormalized domain looked up / the original entry.
registeredtrue registered, false not found in the registry (RDAP 404, usually available), null unknown (registry without RDAP or lookup error).
registrar, registrarIanaIdSponsoring registrar and its IANA ID.
createdAt, updatedAt, expiresAtISO 8601 dates from the registry (null when the registry does not publish them, e.g. .de).
daysUntilExpiry, domainAgeDaysWhole days, computed at checkedAt.
statusEPP status codes (transfer locks, holds, pending delete...).
nameservers, dnssecDelegation as recorded by the registry.
dnsLive records: a, aaaa, mx (priority, exchange), ns, txt, cname, caa (flags, tag, value). null when includeDns is off.
emailProviderFrom MX: Google Workspace, Microsoft 365, Zoho Mail, Proofpoint, Mimecast, Fastmail, Proton Mail, GoDaddy, OVHcloud, IONOS, Aruba, Yandex 360, Cloudflare Email Routing, ...; Self-hosted (MX on the same domain), Other, No email (null MX) or null (no MX).
rdapServerRegistry RDAP server that answered.
errorWhy some data is missing; null when everything worked.

The dataset has two views: Overview (registration table) and DNS records. Export as JSON, CSV, Excel or via API.

Pricing

Pay per event, no subscription:

  • $10 per 1,000 domains = $0.01 per domain (apify-default-dataset-item)
  • $0.00005 per run start (apify-actor-start)
DomainsCost
1$0.01005
100$1.00005
1,000$10.00005
10,000$100.00005

Duplicates and entries that are not domains are never billed. A run of 48 mixed domains took 28 seconds.

Why this actor

  • Official sources: registration data straight from the registries' RDAP servers listed by IANA (the protocol ICANN requires instead of port-43 WHOIS), DNS from Cloudflare/Google DoH. Structured JSON, not parsed WHOIS text.
  • No personal data: registrant, admin, tech and abuse contacts, vCards, emails and phones are dropped before anything is stored. Only the registrar is kept, so the output is safe to share under GDPR.
  • No blocking: public APIs with proper backoff on rate limits (429, Retry-After), timeouts and resolver fallback; no proxies needed.
  • DNS included: one row gives registration + DNS + email provider, at the same price.
  • Never fails the whole run for one bad domain: problems are reported per domain in error.

FAQ

Some TLDs return registered: null. Why? A few country-code registries (e.g. .it, .ch, .jp, .ru, .cn, .ee, .so, .tk) publish no RDAP service in the IANA bootstrap, and their port-43 WHOIS has restrictive terms. For those domains you still get DNS records and the email provider, and error says the registry has no RDAP. .de, .io and .co are covered through their registries' official RDAP servers. Some registries (e.g. .de, .nl) publish no dates or registrar.

How do I cap spending? Set a maximum cost per run in the run options (or maxTotalChargeUsd via API). The actor checks the remaining budget before each batch and stops cleanly at the limit; maxResults caps the number of domains too.

Can I use it from the API, Make, Zapier, n8n or an AI agent? Yes. Call POST https://api.apify.com/v2/acts/neatfeeds~domain-whois-rdap/run-sync-get-dataset-items?token=<TOKEN> with the JSON input above and you get the items back directly. It works with all Apify integrations, the Apify MCP server and scheduled runs (e.g. a weekly expiry check of your portfolio).

Is a registered: false domain guaranteed to be available? It means the registry has no record of it. Reserved or premium names may still not be purchasable; check with a registrar before relying on it.

Subdomains? Inputs are reduced to the registrable domain (common second-level ccTLD suffixes like co.uk, com.au are handled), because registration data exists only at that level.