{"library":"node-rdap","title":"Node.js RDAP Client","description":"Node RDAP is a client library designed for Node.js environments, providing an interface to the Registration Data Access Protocol (RDAP). It serves as a modern alternative to traditional Whois lookups, enabling developers to programmatically retrieve registration data for domains, IPv4 and IPv6 addresses, and Autonomous System Numbers (ASNs). The current stable version is 0.5.0, indicating it is under active development and may undergo further API refinements before reaching a 1.0 stable release. While a specific release cadence isn't explicitly published, pre-1.0 versions typically imply iterative updates. Its key differentiators include native support for modern Node.js (requiring Node.js >=20.19.0 or >=22.12.0), adherence to the RDAP standard, and the provision of distinct, type-safe functions for different lookup types (domain, IP, autnum). It ships with TypeScript types, enhancing the developer experience for statically typed projects, and is primarily intended for server-side use cases requiring public registration data.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install node-rdap"],"cli":null},"imports":["import { domain } from 'node-rdap';","import { ip } from 'node-rdap';","import { autnum } from 'node-rdap';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { domain, ip, autnum } from 'node-rdap';\n\nasync function performRdapLookups() {\n  try {\n    console.log('--- Domain Lookup ---');\n    const githubDomainResult = await domain('github.com');\n    console.log('GitHub.com RDAP Data:', githubDomainResult);\n\n    console.log('\\n--- IPv4 Lookup ---');\n    const ipv4Result = await ip('140.82.121.4');\n    console.log('140.82.121.4 RDAP Data:', ipv4Result);\n\n    console.log('\\n--- IPv6 Lookup ---');\n    const ipv6Result = await ip('2a00:1450:4009:818::200e');\n    console.log('2a00:1450:4009:818::200e RDAP Data:', ipv6Result);\n\n    console.log('\\n--- Autnum Lookup ---');\n    const autnumResult = await autnum(1);\n    console.log('ASN 1 RDAP Data:', autnumResult);\n\n  } catch (error) {\n    console.error('An error occurred during RDAP lookup:', error.message);\n    // Log detailed error for debugging, but be mindful of sensitive information.\n    if (error.response) {\n        console.error('HTTP Status:', error.response.status);\n        console.error('Response Data:', error.response.data);\n    }\n  }\n}\n\nperformRdapLookups();","lang":"typescript","description":"Demonstrates how to perform domain, IPv4, IPv6, and Autonomous System Number (ASN) RDAP lookups using the async/await pattern.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}