RDAP Domain Ownership & Expiry Monitor
Pricing
from $9.00 / 1,000 results
RDAP Domain Ownership & Expiry Monitor
Bulk-check domain registration data via RDAP protocol (WHOIS successor). Monitors ownership changes, expiry dates, and nameserver updates with optional webhook notifications.
Pricing
from $9.00 / 1,000 results
Rating
0.0
(0)
Developer

太郎 山田
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Monitor domain registration data at scale using the RDAP protocol (the official successor to WHOIS). Track ownership changes, expiry dates, nameserver updates, and registrar transfers across hundreds of domains — automatically.
What does this actor do?
This actor queries RDAP servers directly (via the IANA bootstrap) to retrieve structured domain registration data. Unlike WHOIS scrapers, RDAP is an official IETF standard (RFC 7480-7484) with JSON responses — meaning reliable, consistent data with zero anti-bot risk.
Key Features
- 🔍 Bulk domain lookup — Check up to 500 domains per run
- 🔄 Change detection — Automatically detects registrar, nameserver, expiry date, and status changes between runs
- ⏰ Expiry warnings — Get alerted when domains expire within your configured threshold
- 🪝 Webhook notifications — Send results to Slack, Discord, or any webhook endpoint
- 📊 Structured JSON output — Clean, consistent data ready for spreadsheets or databases
- 🛡️ Zero anti-bot risk — RDAP is an open protocol; no CAPTCHAs, no blocks
Use Cases
| Who | Why |
|---|---|
| Domain investors | Monitor portfolio expiry dates and competitor domain changes |
| Brand protection teams | Detect unauthorized registrar transfers or nameserver hijacking |
| IT/Security teams | Track domain configuration changes across your organization |
| M&A due diligence | Verify domain ownership and registration history |
Input Example
{"domains": ["example.com", "github.com", "google.com"],"expiryWarningDays": 30,"checkOwnership": true,"delivery": "dataset","concurrency": 3}
Output Example
Each domain returns a structured result:
{"domain": "google.com","status": "initial","rdap": {"registrar": "MarkMonitor Inc.","registrationDate": "1997-09-15T04:00:00Z","expiryDate": "2028-09-14T04:00:00Z","nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"],"status": ["client delete prohibited", "client transfer prohibited"],"dnssec": false},"changes": [],"warnings": [],"checkedAt": "2026-02-21T06:40:17.813Z"}
Change Detection
On subsequent runs, changes are automatically detected:
{"status": "changed","changes": [{"type": "nameservers_changed","from": ["ns1.old.com", "ns2.old.com"],"to": ["ns1.new.com", "ns2.new.com"]}]}
How It Works
- Loads the IANA RDAP Bootstrap to find the correct RDAP server for each TLD
- Queries each domain's RDAP server with automatic rate limiting (500ms between requests)
- Parses the standardized JSON response into clean structured data
- Compares with previous run snapshots to detect changes
- Delivers results to Apify Dataset and/or webhook
Cost
This actor uses zero external APIs or proxies. You only pay for Apify compute time. A typical run checking 100 domains takes ~30 seconds.
Rate Limiting
Built-in rate limiting protects against RDAP server throttling:
- 500ms minimum delay between queries
- Automatic retry with exponential backoff on 429/503 errors
- Configurable concurrency (1-10 parallel requests)
Commercial Ops
Set up .env first:
$cp -n .env.example .env
Cloud Task/Schedule setup (idempotent):
$npm run apify:cloud:setup
Daily reliability checks:
npm run canary:checknpm run contract:test:live
OpenClaw cron commands:
openclaw-cron-commands.md