Bulk Domain Lookup - WHOIS/RDAP, DNS, SSL, expiry, availability
Pricing
$2.00 / 1,000 domain checkeds
Bulk Domain Lookup - WHOIS/RDAP, DNS, SSL, expiry, availability
Bulk domain lookup for portfolio and expiry monitoring. Export WHOIS/RDAP, DNS, TLS certificate and HTTP observations as JSON with availability evidence and per-check errors.
Pricing
$2.00 / 1,000 domain checkeds
Rating
0.0
(0)
Developer
Grit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Domain intelligence scraper returns registry, DNS, TLS certificate, and HTTP observations for supplied domains. Domain lookup API rows include availability evidence and check errors alongside source data.
Typical uses: expiry monitoring, domain-portfolio audits, brand-name availability sweeps, lead-list enrichment, SSL-expiry alerts, due diligence on a list of vendors.
What it returns
| Field | Type | Example value |
|---|---|---|
domain | string | "github.com" |
input | string | "https://www.github.com/apify/crawlee" |
checks | array | ["rdap", "dns", "ssl", "http", "availability"] |
registered | boolean | true |
availability | string | "registered" |
registry_source | string | "rdap" |
registry_server | string | "https://rdap.verisign.com/com/v1/" |
registrar | string | "MarkMonitor Inc." |
registrar_iana_id | string | "292" |
created | string | "2007-10-09T18:20:50Z" |
updated | string | "2026-09-07T09:22:52Z" |
expires | string | "2028-10-09T18:20:50Z" |
status | array | ["clientDeleteProhibited", "clientTransferProhibited", "clientUpdateProhibited"] |
nameservers | array | ["ns0.wikimedia.org", "ns1.wikimedia.org", "ns2.wikimedia.org"] |
dnssec | boolean | false |
registrant_org | string | "Domains By Proxy, LLC" |
registrant_country | string | "US" |
days_to_expiry | integer | 735 |
domain_age_days | integer | 6936 |
errors | array | [] |
checked_at | string | "2026-10-05T10:50:39Z" |
dns_a | array | ["140.82.121.3"] |
dns_aaaa | array | [] |
dns_mx | array | ["0 github-com.mail.protection.outlook.com"] |
dns_ns | array | ["ns0.wikimedia.org", "ns1.wikimedia.org", "ns2.wikimedia.org"] |
dns_txt | array | [] |
dns_spf | string | "v=spf1 ip4:212.58.224.0/19 ip4:132.185.0.0/16 +include:spf.sis.bbc.co.uk +include:spf.messagelabs.com ~all" |
dns_dmarc | string | "v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:dmarc@github.com; ruf=mailto:dmarc@github.com; fo=1" |
dns_caa | array | ["0 iodef \"mailto:dns-admin@wikimedia.org\"", "0 issue \"letsencrypt.org\"", "0 issue \"pki.goog\""] |
dns_resolves | boolean | true |
ssl_valid | boolean | true |
ssl_issuer | string | "Sectigo Limited" |
ssl_subject | string | "github.com" |
ssl_sans | array | ["github.com", "www.github.com"] |
ssl_not_before | string | "2026-09-01T00:00:00Z" |
ssl_not_after | string | "2026-11-29T23:59:59Z" |
ssl_days_left | integer | 55 |
ssl_tls_version | string | "TLSv1.3" |
ssl_host | string | "github.com" |
http_final_url | string | "https://github.com" |
http_status | integer | 200 |
http_server | string | "github.com" |
http_redirects | integer | 0 |
Coverage, as measured on the test run: RDAP works for .com, .org, .ai and .co.uk. For .io and .com.tr (no RDAP) the actor falls back to WHOIS port 43 and returns dates and nameservers. For .de the registry only answers "connected" or "free" over WHOIS, so .de rows carry registered, availability and DNS but no dates or registrar.
Input example
{"domains": ["github.com"],"maxItems": 10}
Use the input schema for the remaining filters and defaults.
Output example
This is a selected-field excerpt of the first object in sample_output.json.
{"domain": "github.com","input": "https://www.github.com/apify/crawlee","checks": ["rdap","dns","ssl","http","availability"],"registered": true,"availability": "registered","registry_source": "rdap","registry_server": "https://rdap.verisign.com/com/v1/","registrar": "MarkMonitor Inc.","registrar_iana_id": "292","created": "2007-10-09T18:20:50Z","updated": "2026-09-07T09:22:52Z","expires": "2028-10-09T18:20:50Z","status": ["clientDeleteProhibited","clientTransferProhibited","clientUpdateProhibited"],"dnssec": false}
Pricing
Pay per event: $0.002 per domain, all checks included (1,000 domains = $2.00). Not charged: invalid inputs, duplicates, and rows where every check failed. Details in PRICING.md.
Performance (measured)
26 domains with all five checks, concurrency 10, from a local machine: 30 s end to end. Domains on .io and .com.tr, which need a WHOIS round trip, are the slow ones. Your numbers will vary with region and registry rate limits.
Limits
- "likely available" is a strong signal, not a registrar guarantee: reserved, premium or blocked names may still be unregisterable.
- Registries rate-limit. Requests per registry host are capped and retried with backoff; a persistent refusal is reported in
errors, not hidden. - WHOIS formats differ by TLD; the parser handles the common fields and leaves the rest empty rather than guessing.
- Contact data (name, e-mail, phone) is never returned. Registrant organisation and country appear only if the registry publishes them unredacted.
- SSL is read from the apex (then
www); a site serving TLS only on another host name reportsssl_valid: null.
FAQ
What limits the output? The maxItems input caps output rows; its schema maximum is 100,000. Source availability and errors may yield fewer rows.
Does it need a proxy, login, or API key? The actor queries public registry, DNS, TLS, and HTTP services without an API key or proxy input.
How is it priced? PRICING.md proposes $0.002 for each domain row with usable data. Invalid, duplicate, and wholly failed rows have no domain event; platform charges may apply.
What happens on rate limits? Registry and WHOIS checks limit parallel requests and retry or report throttling. Upstream services may still return unknown.
How fresh is the data? Registry, DNS, TLS, and HTTP fields are checked during the run; checked_at records the check time and sources can change.
Does likely available guarantee registration? No. It is a signal based on registry and DNS evidence, and must be checked with a registrar.
Use with AI agents / MCP
Every row is flat JSON with stable field names, so agents can run the actor through the Apify MCP server (https://mcp.apify.com) or the Apify API and filter directly: "domains with days_to_expiry below 30", "rows where availability is likely_available", "certificates with ssl_days_left below 14", "domains without dns_dmarc". Input is one JSON object; for small lists use the run-sync-get-dataset-items endpoint.