WHOIS Domain Lookup — Registrar, Age, Expiry & DNS (Bulk) avatar

WHOIS Domain Lookup — Registrar, Age, Expiry & DNS (Bulk)

Pricing

from $10.40 / 1,000 domain looked ups

Go to Apify Store
WHOIS Domain Lookup — Registrar, Age, Expiry & DNS (Bulk)

WHOIS Domain Lookup — Registrar, Age, Expiry & DNS (Bulk)

Look up WHOIS records for hundreds of domains in a single run: registrar, creation and expiry dates, domain age, days until expiry, nameservers, DNSSEC and status codes. Public registry data for every major TLD (.com, .org, .io, .co.uk and more) — no API keys, structured JSON/CSV output.

Pricing

from $10.40 / 1,000 domain looked ups

Rating

0.0

(0)

Developer

daehwan kim

daehwan kim

Maintained by Community

Actor stats

0

Bookmarked

98

Total users

11

Monthly active users

6 days ago

Last modified

Share

WHOIS Domain Lookup — Registrar, Age, Expiry & Nameservers (Bulk)

Look up WHOIS registration data for any domain — registrar, creation and expiry dates, domain age, days until expiry, nameservers, and status codes — in bulk, with no API keys. Enter up to 10 domains, get back clean structured JSON.

Built for domain due diligence, expiry monitoring, brand protection, security research, and IT asset management. Run it on the Apify platform with API access, scheduling, integrations, and monitoring built in.

Free plan vs paid plan

Free Apify planPaid Apify plan
Domains looked up per runThe first 3 you enterUp to 10
Fields per domainAll of them (registrar, dates, age, expiry, name servers, status)All of them
Domains you entered but were not looked upCounted in the final free-plan-preview row with an estimated paid priceNone
Price per eventList priceDiscounted: Bronze −20%, Silver −35%, Gold and above −48%

The free limit is a plan limit, not an error: the run finishes SUCCEEDED and the status message says how many domains were not looked up yet.

This Actor queries public WHOIS registry data only, via the open-source whoiser library (MIT). Registrant contact details are often redacted by registrars under GDPR/ICANN policy — this Actor returns only what the registry publicly exposes.

Why use WHOIS Domain Lookup?

  • Bulk — up to 10 domains per run
  • No API keys, no setup — public registry data
  • Clean structured output — dates normalized to ISO, age and expiry pre-calculated
  • Nameservers & status codes — full registry detail
  • Pay per event — $0.02 per domain looked up, plus a small fee per run. When domain-checked is on the run's price list, a domain the registries report as having no record is charged the same $0.02 once instead. No subscription.

How to use WHOIS Domain Lookup

  1. Enter one or more domains (bare domains like example.com).
  2. (Optional) Adjust follow depth for richer referral data.
  3. Click Start and read the results in the Output tab.

Input

FieldTypeDescription
domainsarrayUp to 10 bare domains (protocol and www. stripped automatically)
domainstringSingle-domain alternative
followintegerWHOIS referral servers to follow, 1–3 (default 2)
{
"domains": ["example.com", "github.com"],
"follow": 2
}

Invalid input ends the run as SUCCEEDED with a notice row.

Output

One dataset item per domain.

{
"domain": "github.com",
"status": "Looked up",
"registrar": "MarkMonitor Inc.",
"registrarUrl": "http://www.markmonitor.com",
"createdDate": "2007-10-09T18:20:50.000Z",
"updatedDate": "2024-09-07T09:16:33.000Z",
"expiryDate": "2026-10-09T18:20:50.000Z",
"domainAgeDays": 6820,
"daysUntilExpiry": 485,
"nameServers": ["dns1.p08.nsone.net", "dns2.p08.nsone.net"],
"domainStatus": ["clientTransferProhibited"],
"dnssec": "unsigned",
"registryDomainId": "1264983250_DOMAIN_COM-VRSN",
"lookedUpAt": "2026-06-11T10:32:00.000Z"
}

status tells you how each domain ended:

statusMeaningCharged as
Looked upA registry returned registration data for the domaindomain-looked-up
No WHOIS data (domain may be unregistered or TLD unsupported)The registries answered, and there is no record for this namedomain-checked, when that event is on the run's price list; otherwise not charged
Registry refused or rate-limited the lookup: …The registry answered the query with an explicit refusal or rate-limit reply (only in runs whose price list carries registry-response-checked)registry-response-checked
Lookup error: …No WHOIS server gave a usable answer (timeout, refused connection, empty reply, unsupported TLD — and refusal / rate-limit replies in runs whose price list does not carry registry-response-checked)Never charged
Invalid domain (skipped)The input is not a domain nameNever charged

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
domainThe domain looked up
registrarSponsoring registrar
createdDate / updatedDate / expiryDateRegistration dates (ISO 8601)
domainAgeDaysDays since registration
daysUntilExpiryDays until the domain expires
nameServersAuthoritative nameservers
domainStatusEPP status codes (e.g. clientTransferProhibited)
dnssecDNSSEC signing status

Pricing

Run start fee — from 10 September 2026: $0.010 is charged once per run, when the run starts and performs the investigation. Existing per-result prices are unchanged.

This Actor uses pay-per-event pricing. Apify platform usage is included in these prices.

EventCharged whenFree planBronzeSilverGold and above
run-startedOnce per run$0.01$0.008$0.0065$0.0052
domain-looked-upOnce per domain successfully looked up (registration data returned)$0.02$0.016$0.013$0.0104
domain-checkedOnce per domain whose lookup completed with the registries answering that there is no record for the name. Not charged when the lookup failed on our side or the domain was rejected as invalid. Applies when this event is on the run's price list.$0.02$0.016$0.013$0.0104
registry-response-checkedOnce per domain whose registry answered the query with an explicit refusal or rate-limit reply (the reply text is in registryResponse). Never charged for a timeout, a refused connection or an empty reply. A domain is charged this, domain-looked-up or domain-checked — only one. Applies when this event is on the run's price list.$0.02$0.016$0.013$0.0104

A domain is charged once at most: as domain-looked-up when registration data comes back, or as domain-checked when the registries answer that the name has no record — never both. "No record for this name" is the result you asked for, which is why it carries the same price as a successful lookup once domain-checked is on the price list; in a run whose price list does not carry that event, such a domain is not charged. Domains rejected as malformed, and lookups where no WHOIS server answered, are never charged.

Before the first lookup, the run's log and status message state the most the per-domain fees can come to (number of domains × the per-domain price for your plan) whenever domain-checked is on the price list.

Maximum charge per run: each domain row is charged as it is delivered. When the run reaches the maximum charge you set, it looks up no further domains, adds a charge-limit-reached notice row (never charged) saying how many were not looked up, and finishes SUCCEEDED. If the Apify charging API itself stops answering (three charge calls failing in a row, or ten in one run), the run likewise stops early with a billing-unavailable notice row (never charged) rather than return rows it cannot bill; run again for the rest.

Free plan: each run looks up the first 3 domains you enter (one row each). Paid Apify plans look up all of them (up to 10). Every free-plan run ends with a free-plan-preview notice row (never charged) that counts the domains not looked up yet and gives an estimated paid price for the whole input — it is a plan limit, not an error.

Tips

  • Feed a list of your portfolio domains and schedule a weekly run to catch upcoming expirations via daysUntilExpiry.
  • Use domainAgeDays to flag newly registered domains in fraud/abuse investigations.

FAQ, disclaimers, and support

Why is registrant contact info missing? Most registrars redact personal contact fields under GDPR and ICANN policy. This Actor returns only publicly published data.

Why did a lookup fail? Some TLDs use non-standard WHOIS servers or rate-limit queries. Try again or reduce the number of domains per run.

Found a bug or want a feature? Use the Issues tab. Custom solutions available.

Works well with

  • dnstwist-osint — Check whether registered typo-domains are impersonating the domain you just looked up.
  • subfinder-osint — Enumerate every public subdomain behind the same registration.

Every run of this Actor also returns these suggestions in the nextSteps field of its summary row.

Leave a review

A short review on the Reviews tab, good or bad, helps other people find this Actor and tells us what to build next. Found a bug or need a feature? Open an issue on the Issues tab and we'll look into it.