RDAPify is a production-grade RDAP client ecosystem built on a Rust engine. It queries domain, IP, ASN, nameserver, and entity registration data — replacing legacy WHOIS with a structured, standards-compliant (RFC 7483) approach built for security, observability, and scale.
| Repository | Role | Type |
|---|---|---|
| RDAPify | Open Source Rust RDAP engine | Apache-2.0 · Public |
| RDAPify-Pro | Commercial monitoring & automation plugin | Proprietary · Private |
| RDAPify-Internal | Billing, licensing, admin infrastructure | Proprietary · Private |
| rdapify-TS | TypeScript RDAP client (archived) | MIT · Archived |
|
Rust · Apache-2.0 · Open Source The core RDAP engine. Pure Rust, async-first, zero OpenSSL. Ships native bindings for Node.js and Python. # Rust
cargo add rdapify
# Node.js (native binding)
npm install rdapify-nd
# Python (native binding)
pip install rdapify-py |
Rust · Commercial Premium plugin — bulk monitoring, change detection, analytics, webhooks, CSV/JSON export. License key required. npm install @rdapify/pro |
Rust:
use rdapify::RdapClient;
#[tokio::main]
async fn main() -> rdapify::Result<()> {
let client = RdapClient::new()?;
let domain = client.domain("example.com").await?;
println!("{:?}", domain.registrar);
Ok(())
}Node.js (rdapify-nd):
const { domain, ip, asn } = require('rdapify-nd');
const d = await domain('example.com');
console.log(d.registrar?.name, d.ldhName);
const i = await ip('8.8.8.8');
console.log(i.name, i.country);Python (rdapify-py):
import rdapify_py as rdap
d = rdap.domain("example.com")
print(d["registrar"]["name"], d["ldhName"])CLI:
cargo install rdapify --features cli
rdapify domain example.com
rdapify ip 8.8.8.8
rdapify asn AS15169| Feature | Since | |
|---|---|---|
| 🛡️ | SSRF Protection — blocks private/loopback/reserved IPs | v0.1.0 |
| 🔒 | PII Redaction — GDPR/CCPA-compliant data scrubbing | v0.1.0 |
| ⚡ | Smart Cache — in-memory, Redis, and persistent backends | v0.1.0 |
| 🔄 | Middleware Hooks — beforeQuery / afterQuery pipeline |
v0.1.5 |
| 📊 | Metrics & Audit Logging — structured, redacted by default | v0.1.5 |
| 🌐 | Multi-Runtime — Node.js, Bun, Deno, Cloudflare Workers | v0.2.1 |
| ⚙️ | Circuit Breaker — protects against cascading failures | v0.2.0 |
| 🔍 | Domain Availability — checkAvailability() via RDAP 404 |
v0.1.9 |
| 🏎️ | Native Backend — optional Rust binding via rdapify-nd |
v0.1.0 |
| 🖥️ | CLI Tool — rdapify binary with full query support |
v0.1.8 |
| Runtime | Status | Notes |
|---|---|---|
| Node.js 20+ | ✅ Stable | Primary target |
| Bun | ✅ Stable | Auto-detected, uses Bun.fetch |
| Deno | ✅ Stable | Auto-detected, uses native fetch |
| Cloudflare Workers | ✅ Stable | Auto-detected, edge-compatible |
No configuration needed — RDAPClient selects the right fetcher automatically.
rdapify follows a hexagonal (Ports & Adapters) architecture:
Query → Validate → Normalize → Cache? → Bootstrap → Fetch → Normalize → Redact PII → Cache → Return
Inner layers (core/, shared/) never depend on outer layers (infrastructure/). The plugin interface allows @rdapify/pro to attach to RDAPClient without modifying the core.
- Core RDAP client — domain, IP, ASN, nameserver, entity
- IANA Bootstrap (RFC 9224) — automatic server discovery
- SSRF protection
- In-memory cache (DashMap, lock-free)
- Retry with exponential back-off
- Node.js binding (
rdapify-ndvia napi-rs) - Python binding (
rdapify-pyvia PyO3) - CLI tool
- Async Python binding (Q2 2026)
- WASM target (Q3 2026)
- License validation (online-first, signed local cache)
- Bulk monitoring & change detection
- Analytics & reporting
- Webhook integrations (Slack, Discord, Teams)
- Export (CSV, JSON)
- Web dashboard (Q2 2026)
- Terraform provider (Q4 2026)
Target: v1.0.0 — after February 2027
- SSRF protection blocks all RFC 1918, loopback, and reserved ranges
- Input validation on all query types (domain, IP, ASN, handle)
- No credentials or PII logged — audit log is redacted by default
- Responsible disclosure: security@rdapify.com
| Channel | Link |
|---|---|
| Documentation | rdapify.com/docs |
| GitHub Discussions | github.com/rdapify/RDAPify/discussions |
| Bug Reports (Rust) | github.com/rdapify/RDAPify/issues |
| support@rdapify.com | |
| Security | security@rdapify.com |
Apache License 2.0 (Rust engine) · Built with care · rdapify.com
