python-whois
Whois querying and parsing of domain registration information.
Decision gist · record as of 2026-08-14
Yes. The package fills a clear need—direct WHOIS parsing without external web services—with low friction (one dependency), permissive MIT licensing, active maintenance, and no known vulnerabilities. Widely used (top 5000 on PyPI) and suitable for domain lookup automation, though reliability depends on WHOIS server availability and format consistency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a single runtime dependency (python-dateutil).
- Actively maintained with recent commits; last commit 2026-07-12 with status marked active.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2025-10-07 (311 days) · last repo commit 2026-07-12 · 456 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,016,100 downloads/mo, #3,360 on PyPI
Alternatives
Verify before relying
pip install python-whois
import whois
w = whois.whois('example.com')
print(w.expiration_date) # Returns datetime object
print(w.name_servers) # Returns list of name servers- Whether WHOIS server availability and response formats remain stable across all supported TLDs.
- Current test coverage and reliability for less common TLDs beyond the popular ones mentioned.
- Whether proxy support via SOCKS environment variable is fully functional in the current release.
What it is and what it does
python-whois connects directly to WHOIS servers to retrieve and parse domain registration information. Raw WHOIS responses are converted into structured Python objects with typed fields—dates become datetime objects, name servers become lists—making it easy to programmatically access registration details like expiration dates, registrar names, and creation timestamps. The package supports popular TLDs (com, org, net) and allows adding custom parsers for additional domain extensions; queries can be routed through a SOCKS proxy if needed.
The module is straightforward to use: import, call whois() with a domain name, and access parsed attributes or the raw text response. Maintained since 2013 with a single runtime dependency on python-dateutil, the installation footprint is minimal.
Use it for
- Check domain expiration dates programmatically to monitor renewal deadlines.
- Extract registrar and name server information for domain audits or DNS troubleshooting.
- Bulk query domain registration metadata for security research or domain analysis.
- Validate domain ownership details as part of an automated verification workflow.
- Monitor changes to domain registration records by comparing parsed WHOIS snapshots.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package fills a clear need—direct WHOIS parsing without external web services—with low friction (one dependency), permissive MIT licensing, active maintenance, and no known vulnerabilities. Widely used (top 5000 on PyPI) and suitable for domain lookup automation, though reliability depends on WHOIS server availability and format consistency.
Install
python-whois on PyPI
Before you install
Low install friction with a single runtime dependency (python-dateutil). Actively maintained with recent commits; last commit 2026-07-12 with status marked active.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install python-whois
import whois
w = whois.whois('example.com')
print(w.expiration_date) # Returns datetime object
print(w.name_servers) # Returns list of name servers
Verify before relying
- Whether WHOIS server availability and response formats remain stable across all supported TLDs.
- Current test coverage and reliability for less common TLDs beyond the popular ones mentioned.
- Whether proxy support via SOCKS environment variable is fully functional in the current release.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepython-dateutil |
| Maintenance | Actively maintained 311 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,016,100 / month, #3,360 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Internet :: WWW/HTTP |
Evidence: python_whois-0.9.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “whois domain lookup”
- python-whoisQueries WHOIS servers directly to retrieve and parse domain…
- whoisRetrieves WHOIS information for domain names by querying WHOIS…
- whoisitQuery RDAP (Registration Data Access Protocol) services to look up…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also whois · ipwhois · PyFunceble-dev · publicsuffix2 · tldparse · tldextract · publicsuffixlist · urlextract · tld · tlds