RDAP Lookup: Domain, IP & ASN Registration Data (Modern WHOIS)
Pricing
$8.00 / 1,000 lookup (domain, ip or asn)s
RDAP Lookup: Domain, IP & ASN Registration Data (Modern WHOIS)
Look up domain registration, expiry, registrar, nameservers and DNSSEC straight from the registries over RDAP, the official structured replacement for WHOIS. Also covers IP networks and AS numbers. No API key, no rate-limited WHOIS proxy.
Pricing
$8.00 / 1,000 lookup (domain, ip or asn)s
Rating
0.0
(0)
Developer
Alex Burton
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
RDAP Lookup: Domain, IP & ASN Registration Data
Registration data for domains, IP networks and AS numbers, read straight from the registries over RDAP — the IETF protocol that officially replaced WHOIS. No API key, no scraping, no third-party WHOIS proxy sitting between you and the answer.
| Mode | What you get |
|---|---|
| Domains | Registrar and IANA ID, registration / expiry / last-changed dates, nameservers, DNSSEC, EPP status codes, transfer lock, registrant and abuse contacts |
| IP addresses | Network name and range, CIDR blocks, allocating organization, allocation type, country, abuse contact |
| AS numbers | AS name, number range, holding organization, country, abuse contact, registration dates |
Why use this one
- It queries the real registry, not a middleman. The Actor loads IANA's official bootstrap file once per run and maps each top-level domain to its own registry's RDAP server. Most tools funnel every lookup through one redirector, which adds a hop and a single point of failure.
- It tells you when there is no answer, and why. If a country-code TLD publishes no RDAP service at all, you get a row saying exactly that. If a domain is unregistered, you get a row saying that. You never get a half-empty record you have to interpret.
- It does the flattening that makes RDAP usable. Raw RDAP hides the expiry date inside an
eventsarray keyed byeventAction, the registrar inside anentitiesarray keyed byroles, and every contact inside a jCardvcardArray. This Actor unpacks all three into plain spreadsheet columns. - It gets addresses right. jCard's
adrproperty normally carries seven empty strings as its value and the readable address in alabelparameter. Parsers that read only the value array lose the address. This one prefers the label. - Bulk by design. Paste a thousand domains and get a thousand rows, with the failures labelled rather than dropped.
How to use it
- Choose What to look up.
- Paste your Domains, IP addresses or AS numbers, one per line.
- Click Start, then download as JSON, CSV, Excel or HTML, or fetch through the Apify API.
Domains are cleaned up for you, so all of these work and mean the same thing:
https://www.example.com/pricing?ref=xwww.example.comexample.com.
Example input: check a portfolio for expiry
{"mode": "domains","domains": ["example.com", "apify.com", "iana.org"]}
Example input: who owns this IP range
{"mode": "ip","ips": ["8.8.8.8", "1.1.1.1"],"includeRawEntities": true}
Output
Domain
{"type": "domain","query": "example.com","found": true,"domain": "example.com","tld": "com","handle": "2336799_DOMAIN_COM-VRSN","registrar": "RESERVED-Internet Assigned Numbers Authority","registrarIanaId": 376,"registeredOn": "1995-08-14T04:00:00Z","expiresOn": "2027-08-13T04:00:00Z","lastChangedOn": "2026-08-14T08:01:43Z","statuses": ["client delete prohibited", "client transfer prohibited", "client update prohibited"],"locked": true,"nameservers": ["elliott.ns.cloudflare.com", "hera.ns.cloudflare.com"],"dnssec": true,"registrantName": null,"registrantRedacted": false,"registrarAbuseEmail": null,"error": null}
IP network
{"type": "ipNetwork","query": "8.8.8.8","found": true,"rir": "ARIN","handle": "NET-8-8-8-0-2","name": "GOGL","organization": "Google LLC","startAddress": "8.8.8.0","endAddress": "8.8.8.255","cidrs": ["8.8.8.0/24"],"ipVersion": "v4","allocationType": "DIRECT ALLOCATION","abuseEmail": "network-abuse@google.com","registeredOn": "2023-12-28T22:24:33Z"}
A lookup that cannot be answered still produces a row:
{ "type": "domain", "query": "example.xyzzy", "found": false, "error": "the .xyzzy registry does not publish an RDAP service" }
Pricing
| Result | Price |
|---|---|
| Lookup (domain, IP or ASN) | $8.00 per 1,000 |
Rows that report a problem are charged the same as rows that return data when a registry was actually asked — a name that does not exist still costs a lookup. Rows rejected before any request, such as an unreadable domain or a TLD that publishes no RDAP service at all, are saved to the dataset but not charged. Set a maximum spend per run in the run options and the Actor stops cleanly when it is reached.
Limits to know about
These come from the registries, not from this Actor:
- Contact details are usually redacted. Since GDPR, most registries return the registrar and the dates but blank out registrant name, email and address. Placeholders such as "REDACTED FOR PRIVACY" or
redacted@registryare turned into null rather than passed off as a real name or address, andregistrantRedactedistruewhen the registry says it withheld them. Privacy-service relays (a proxy company's name and address) are real registrations of record and are kept. Abuse contacts are generally still published. - Not every TLD has RDAP. Generic TLDs are required to run it. Many country-code registries (and
.ukamong them, at the time of writing) do not, and a few run it only for authenticated registrars. The Actor reports those by name rather than guessing. - Registries rate-limit. A long batch against a single registry can start returning 429s; the Actor backs off and retries, and you can lower Max parallel requests or turn on a proxy.
- Date precision varies. Some registries publish only a date, others a full timestamp with a timezone. Everything is normalised to UTC.
- IP and ASN lookups go to ARIN by default, which redirects to RIPE, APNIC, LACNIC or AFRINIC when the range belongs to them;
rirsays which registry answered. You can point the Actor at a different registry directly. AFRINIC records often carry no name or abuse contact entity, so the Actor also reads the record's free-text remarks intodescriptionand takes an abuse address from them when one is given.
FAQ
How is this different from a WHOIS lookup? WHOIS returns free text that every registry formats differently, so parsing it is guesswork. RDAP returns JSON with a defined schema, which is why dates and statuses here are reliable rather than best-effort.
Can I monitor my domains for expiry? Yes. Schedule the Actor and connect the dataset to Slack, Google Sheets, Zapier or Make, then alert on expiresOn.
Why is a domain I know exists reported as not found? Check the spelling first, then the TLD. If the registry publishes no RDAP service the error field will say so.
Is this legal? RDAP is a public, standardised service that registries are required to operate, and this Actor uses it as intended. Records may contain personal data, so handle any contact details you receive in line with the laws that apply to you.
Feedback
Found a bug or need a field that's missing? Open an issue on the Actor's Issues tab.