Skip to content
@rdapify

RDAPify

The official organization for RDAPify: A Unified, Secure, High-Performance RDAP Client for Enterprise Applications.
RDAPify

RDAPify

Unified, Secure, High-Performance RDAP Client

crates.io rdapify-nd rdapify-py License: Apache-2.0

Website · Docs · API Reference · Playground


What is RDAPify?

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.

Platform

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

Ecosystem

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

crates.io npm PyPI

Rust · Commercial

Premium plugin — bulk monitoring, change detection, analytics, webhooks, CSV/JSON export. License key required.

npm install @rdapify/pro

npm


Quick Start

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

Key Features

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 HooksbeforeQuery / 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 AvailabilitycheckAvailability() via RDAP 404 v0.1.9
🏎️ Native Backend — optional Rust binding via rdapify-nd v0.1.0
🖥️ CLI Toolrdapify binary with full query support v0.1.8

Runtime Support

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.


Architecture

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.


Roadmap

RDAPify (Rust engine)

  • 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-nd via napi-rs)
  • Python binding (rdapify-py via PyO3)
  • CLI tool
  • Async Python binding (Q2 2026)
  • WASM target (Q3 2026)

RDAPify-Pro

  • 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


Security

  • 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

Support

Channel Link
Documentation rdapify.com/docs
GitHub Discussions github.com/rdapify/RDAPify/discussions
Bug Reports (Rust) github.com/rdapify/RDAPify/issues
Email support@rdapify.com
Security security@rdapify.com

Apache License 2.0 (Rust engine) · Built with care · rdapify.com

Pinned Loading

  1. rdapify-TS rdapify-TS Public archive

    Unified, type-safe RDAP client for Node.js — query domains, IPs, and ASNs across all global registries with SSRF protection & PII redaction

    TypeScript 2

  2. rdapify.github.io rdapify.github.io Public

    Official website & documentation for RDAPify — the modern RDAP client for Node.js, Rust, and Python

    HTML

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…