The project is in a healthy, maintained state
A maintained successor to weppos/whois-parser that parses WHOIS responses into Ruby objects.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 3.2, < 4
>= 13.2, < 14
>= 3.13, < 4
>= 0.9, < 1

Runtime

>= 7.1, < 9
>= 6, < 7
 Project Readme

whois-parser-next

whois-parser-next is an independent, community-maintained successor to weppos/whois-parser.

The original project was created and maintained by Simone Carletti, known as weppos, together with its contributors. We are grateful for that work and for the foundation it provides. This project preserves the original MIT license heritage, attribution, notices, and Git history while continuing development under a new name.

This project is independent and is not affiliated with or endorsed by Simone Carletti or weppos.

Tests

Sponsored and supported by DomScan

whois-parser-next is sponsored and supported by DomScan, which uses domain intelligence in production and helps fund maintenance, testing, and registry-format research.

The project remains independent from DomScan and independent from the original weppos/whois-parser maintainer. DomScan sponsorship does not imply endorsement by Simone Carletti or weppos, and it does not give any sponsor the right to influence parser results.

WHOIS formats drift. Parsers should keep up.

Project owner and lead maintainer: Esteve Castells. See MAINTAINERS.md and GOVERNANCE.md.

Status

The project is under active development. The initial focus is reliable parsing of current WHOIS responses, explicit unknown states, registry-specific fixtures, and safe handling of malformed, rate-limited, retired, or changed server responses.

The current source version is 0.3.2. Check the RubyGems project page for its publication status and the latest published version.

Compatibility

The compatibility target is the existing whois-parser loading path and namespace:

require "whois-parser"

Whois::Parser

Existing applications can retain require "whois-parser" and their Whois::Parser integrations. To install version 0.3.2, pin it as follows:

gem "whois-parser-next", "= 0.3.2", require: "whois-parser"

Requirements

  • Ruby 3.2 or newer

Scope

The project parses and normalizes WHOIS responses. It does not guarantee domain availability. Registry policies, server responses, rate limits, endpoint changes, and the distinction between WHOIS and RDAP can all affect the result.

Unknown, malformed, unsupported, rate-limited, and ambiguous responses must remain distinguishable from an authoritative availability result.

Development

bundle install
bundle exec rspec

Coverage evidence

The 2026-09-25 scorecard summarizes evidence for 1,000 observed TLD strings from the ICANN DNS Magnitude snapshot dated 2026-09-12. These strings are not 1,000 guaranteed working WHOIS registries or domain-availability results. A dated correction retracts the previously published 175 paired count: the hand-audited report crosswalk reproduces 130 direct row-pair observations (61 at ranks 101–300 and 69 at 301–1000), with 31 package rows remaining detail-insufficient. Three later pairs (.top, .uz, .sa) are tracked separately from that pinned baseline. See the corrected scorecard, methodology, and bounded machine-readable subset. No effective-coverage percentage is asserted. Summary-only, unsupported, unknown, one-sided, and classification-only evidence is not promoted to a pair. The .pk parser does not make the default whois 6.0.3 Web adapter use port 43; Whois::Client host configuration does not override that adapter. The .ge parser targets IANA's whois.nic.ge, while the default whois route is whois.registration.ge. The .mu and .africa parsers also target IANA hosts that differ from the default whois 6.0.3 mappings, and .sr has no default mapping. These host-keyed parsers require separately verified routing before an application can count them as effective coverage.

Start with the source verification report, the Top 20 review, and the Top 100 audit. The same directory contains the contiguous reports for ranks 101 through 300, the 301-1000 work-package plan, and the five package audit reports. Each report preserves the evidence boundary and does not turn unavailable, unsupported, unresolved, or classification-only rows into availability claims.

Join the work

We want this to be useful to people who maintain domain tools, registry integrations, security services, and developer libraries. Small, focused contributions are welcome. You do not need to be a long-time Ruby contributor or a WHOIS expert to help.

Useful contributions include current registry fixtures, parser corrections, tests, documentation, and careful reports of changed server behavior. If you are unsure whether an observation is a bug, open an issue with the TLD, source, date, sanitized response shape, and expected interpretation. We would rather help shape an investigation than lose a useful report because it was not perfectly packaged.

Please read CONTRIBUTING.md before opening a pull request. The public roadmap lists current priorities, non-goals, and the evidence gate for any optional Rust work. Maintainers should also follow RELEASING.md, including the package smoke test and trusted-publishing checks.

License and attribution

This project continues work derived from the MIT-licensed weppos/whois-parser project.

Original author: Simone Carletti (weppos)

Original project: https://github.com/weppos/whois-parser

See LICENSE.txt and the retained attribution notices for the applicable terms. New contributions remain available under the MIT license.