https://github.com/wbfoss/rdap-lookup
RDAP Lookup is an open-source, web application that utilizes the Next.js 13 App Router to perform robust Registration Data Access Protocol (RDAP) queries. It provides a modern, user-friendly interface for exploring domain, IP, ASN (autnum), and entity registration data—offering a more structured and future-proof alternative to whois.
https://github.com/wbfoss/rdap-lookup
beginner-friendly beginner-project beginners-friendly contributions-welcome contributors-welcome contributorswanted domainame domainlookup domainregister icann opensource opensource-projects opensourcecode rdap rdap-client rdap-service wbfoss whois whois-client whois-lookup
Last synced: 15 days ago
JSON representation
RDAP Lookup is an open-source, web application that utilizes the Next.js 13 App Router to perform robust Registration Data Access Protocol (RDAP) queries. It provides a modern, user-friendly interface for exploring domain, IP, ASN (autnum), and entity registration data—offering a more structured and future-proof alternative to whois.
- Host: GitHub
- URL: https://github.com/wbfoss/rdap-lookup
- Owner: wbfoss
- License: mit
- Created: 2025-01-02T07:11:27.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-04-08T13:00:51.000Z (18 days ago)
- Last Synced: 2025-04-11T20:54:04.687Z (15 days ago)
- Topics: beginner-friendly, beginner-project, beginners-friendly, contributions-welcome, contributors-welcome, contributorswanted, domainame, domainlookup, domainregister, icann, opensource, opensource-projects, opensourcecode, rdap, rdap-client, rdap-service, wbfoss, whois, whois-client, whois-lookup
- Language: JavaScript
- Homepage: https://rdap.vercel.app/
- Size: 57.6 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README











# RDAP Lookup (Next.js App Router + shadcn/ui)
A production-level **RDAP Lookup** tool built using **Next.js App Router**, **Tailwind CSS**, and **shadcn/ui** components.
It queries [rdap.org](https://rdap.org) for the given object and, if that fails (for domains), automatically falls back to [rdap.iana.org](https://rdap.iana.org). This application enforces **rate limiting** (100 queries/IP, 15-second interval), returns **user-friendly** errors, and displays **structured** RDAP data by default, with a toggle to show raw JSON.----------
## Why RDAP Instead of WHOIS?
**RDAP (Registration Data Access Protocol)** is the modern, standardized replacement for the legacy WHOIS protocol. It provides:
1. **Structured Responses**: JSON output that is easier to parse.
2. **Internationalization**: Better support for IDNs and non-ASCII data.
3. **Security & Access Control**: Designed to meet modern privacy requirements.
4. **RESTful / Web-Friendly**: Utilizes HTTPS endpoints, making integration simpler than raw WHOIS text.Overall, RDAP is **more robust and future-proof** for domain/IP registration data than WHOIS.
----------
## Features
- **Next.js 13 App Router**
- **shadcn/ui** for modern UI components
- **Tailwind CSS** for styling
- **Rate limiting**: 100 queries/IP & 15-second interval
- **Fallback** for domains**: `rdap.iana.org/domain/` if primary lookup fails
- **Structured** result display + **raw JSON** toggle button
- **User-friendly** error messages----------
## Getting Started
1. **Clone or Download** this repository:
`git clone https://github.com/wbfoss/rdap-lookup.git
cd rdap-lookup`
2. **Install Dependencies**:
`npm install`
or
`yarn`
3. **Run in Development**:
`npm run dev`
By default, the app runs at http://localhost:3000.
4. **Build for Production**:
`npm run build
npm run start`
By default, runs at http://localhost:3000.
----------
## Usage
1. **Select** the RDAP type (domain, IP, ASN, or entity).
2. **Enter** the object (e.g., `google.com` or `8.8.8.8`).
3. **Click** **Lookup**.
- If **rdap.org** fails and it's a **domain**, fallback queries **rdap.iana.org/domain/**.
4. By default, you see a **structured** representation of key RDAP fields (object class, handle, LDH name, etc.).
5. Click **Show JSON** to toggle the raw JSON output.### Rate Limiting
- **100 queries** maximum per IP address.
- **15 seconds** minimum interval between consecutive queries.
- Exceeding these results in a **429** (Too Many Requests) error.----------
## Contributing
1. **Fork or Clone** the repository.
2. **Create** a new feature branch (e.g., `feature/improve-structured-output`).
3. **Commit and Push** your changes.
4. **Open a Pull Request** explaining what you’ve changed and why.We welcome enhancements for deeper RDAP parsing, improved UI, or integration with a persistent rate-limiting store (e.g., Redis).
----------
## Live Website
[RDAP Lookup](https://rdap.vercel.app)
## License
This project is licensed under the [MIT License](LICENSE).
You’re free to fork, modify, and redistribute under the terms of the MIT license.
We appreciate contributions and feedback!