Domain WHOIS & DNS Lookup — Registration, DNS Records & Tech
Pricing
Pay per usage
Domain WHOIS & DNS Lookup — Registration, DNS Records & Tech
Look up WHOIS data, DNS records, SSL certificates, and tech stack for any domain. Bulk domain research for lead generation, SEO audits, domain investing, and competitive intelligence. Uses RDAP, DNS-over-HTTPS, Certificate Transparency, and web WHOIS providers.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Domain WHOIS & DNS Lookup
Look up WHOIS registration data, DNS records, SSL certificates, and technology stack for any list of domains. Production-grade bulk domain research tool.
What It Does
For each domain you provide, this actor retrieves:
WHOIS Registration Data
- Registrar — who registered the domain (GoDaddy, Namecheap, etc.)
- Registrant info — name, organization, email (when not privacy-protected)
- Dates — creation, expiration, last updated
- Nameservers — authoritative DNS servers
- Status codes — EPP status flags (clientTransferProhibited, etc.)
- DNSSEC — whether DNSSEC is enabled
DNS Records
- A records — IPv4 addresses
- AAAA records — IPv6 addresses
- MX records — mail servers with priority
- TXT records — SPF, DKIM, DMARC, domain verification tokens
- NS records — nameservers
- CNAME records — canonical name aliases
- SOA record — start of authority (primary NS, admin email, serial)
SSL Certificate Info
- Issuer — certificate authority (Let's Encrypt, DigiCert, etc.)
- Validity — not-before and not-after dates
- Subject Alternative Names — all domains covered by the cert
- Serial number
Technology Stack Detection
- Server — Apache, Nginx, LiteSpeed, IIS, etc.
- Framework/CMS — WordPress, Shopify, Next.js, Laravel, etc.
- CDN — Cloudflare, Fastly, AWS CloudFront, etc.
- Analytics — Google Analytics, Facebook Pixel, Hotjar, etc.
Use Cases
Lead Generation
Find domain owner contact info, identify businesses by their tech stack, and build targeted prospect lists. Filter by registration date to find new businesses.
Domain Investing
Check domain availability, find expiring domains, analyze registration patterns, and research domain history for valuation.
SEO Analysis
Discover a competitor's hosting setup, CDN configuration, mail providers, and DNS architecture. Check for proper SPF/DKIM/DMARC email authentication.
Competitive Intelligence
Detect what technology stack competitors use, identify their hosting providers, and monitor infrastructure changes.
Security Research
Audit DNS configurations, check DNSSEC deployment, verify SSL certificate validity, and identify potential misconfigurations.
Input
| Field | Type | Default | Description |
|---|---|---|---|
domains | string[] | required | List of domains to look up (bare domains, no protocol) |
includeWhois | boolean | true | Fetch WHOIS/RDAP registration data |
includeDns | boolean | true | Fetch DNS records via DNS-over-HTTPS |
includeSSL | boolean | false | Fetch SSL certificate info from CT logs |
includeTechStack | boolean | false | Detect technology stack via HTTP headers and HTML |
Example Input
{"domains": ["google.com", "github.com", "shopify.com"],"includeWhois": true,"includeDns": true,"includeSSL": true,"includeTechStack": true}
Output
Each domain produces one result object in the dataset:
{"domain": "example.com","isRegistered": true,"lookupTimestamp": "2026-03-01T12:00:00.000Z","whois": {"registrar": "Example Registrar, Inc.","registrantName": "REDACTED FOR PRIVACY","registrantOrg": "Example Corp","registrantEmail": "admin@example.com","creationDate": "1995-08-14T00:00:00Z","expirationDate": "2027-08-13T00:00:00Z","updatedDate": "2024-08-14T07:01:44Z","nameservers": ["ns1.example.com", "ns2.example.com"],"status": ["clientTransferProhibited"],"dnssec": "unsigned"},"dns": {"aRecords": ["93.184.216.34"],"aaaaRecords": ["2606:2800:220:1:248:1893:25c8:1946"],"mxRecords": [{ "priority": 10, "exchange": "mail.example.com" }],"txtRecords": ["v=spf1 -all"],"nsRecords": ["ns1.example.com", "ns2.example.com"],"cnameRecords": [],"soaRecord": {"mname": "ns1.example.com","rname": "admin.example.com","serial": 2024081401}},"ssl": {"issuer": "DigiCert Inc","validFrom": "2024-01-30T00:00:00Z","validTo": "2025-03-01T23:59:59Z","subjectAltNames": ["example.com", "www.example.com"],"serialNumber": "0F:BE:08:B0:85:48:..."},"techStack": {"server": "ECS (dcb/7F3B)","framework": null,"cdn": "Edgecast","analytics": []}}
Pricing
$0.005 per domain looked up (pay-per-event).
- 100 domains = $0.50
- 1,000 domains = $5.00
- 10,000 domains = $50.00
Data Sources
This actor uses multiple free, public data sources for maximum reliability:
- RDAP (Registration Data Access Protocol) — the modern, structured replacement for WHOIS
- who.is — web-based WHOIS lookup as fallback
- whois.domaintools.com — additional WHOIS detail as secondary fallback
- Google DNS-over-HTTPS — primary DNS resolver
- Cloudflare DNS-over-HTTPS — fallback DNS resolver
- crt.sh — Certificate Transparency log aggregator
- Direct HTTP — for tech stack detection via headers and HTML analysis
Limits and Notes
- WHOIS data may be redacted due to privacy services (common since GDPR)
- DNS lookups are fast and reliable; WHOIS providers may rate-limit on large batches
- SSL data comes from Certificate Transparency logs and may lag by hours
- Tech stack detection is best-effort based on observable signals
- Domains are processed in parallel with built-in rate limiting
- The actor handles errors gracefully — failed lookups for one source do not block others
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/domain-whois-scraper").call(run_input={"searchTerm": "domain whois","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/domain-whois-scraper').call({searchTerm: 'domain whois',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));