mac-usa-one / mac-laravel-whois
Whois query extension for Laravel (PHP 8.2+, Laravel 10–12, Carbon 3).
Package info
github.com/keith-vo-macusa/mac-laravel-whois
pkg:composer/mac-usa-one/mac-laravel-whois
Requires
- php: ^8.2
- ext-json: *
- illuminate/support: ^10.0|^11.0|^12.0
- io-developer/php-whois: ^4.1
- jeremykendall/php-domain-parser: ^6.1
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.5|^11.0
This package is auto-updated.
Last update: 2026-08-20 14:28:46 UTC
README
Laravel package for WHOIS lookups and registrable-domain extraction (public suffix aware).
Supports: PHP 8.2+, Laravel 10 / 11 / 12, Carbon 3.
Installation
composer require mac-usa-one/mac-laravel-whois
The service provider and Whois facade are auto-discovered.
Usage
use MacUsaOne\Whois\Whois; $info = Whois::lookup('example.com'); $raw = Whois::lookupRaw('google.com'); $tld = Whois::lookupInfo('example.com'); $domain = Whois::getDomain('www.example.com'); // example.com
Multi-level public suffix examples:
Whois::getDomain('www.example.co.uk'); // example.co.uk Whois::getDomain('www.example.io.vn'); // example.io.vn Whois::getDomain('macmar.us'); // macmar.us
You can also resolve MacUsaOne\Whois\WhoisQuery from the container (singleton).
lookup() return fields
| Key | Meaning |
|---|---|
parser_type |
Parser type |
name |
Domain name |
registrar |
Registrar |
owner |
Owner / registrant |
whois_server |
WHOIS server |
states |
Domain status codes |
name_servers |
Name servers |
dnssec |
DNSSEC |
creation_date |
Carbon |
expiration_date |
Carbon |
updated_date |
Carbon |
response_raw |
Raw WHOIS text |
Returns null when the response cannot be parsed. Successful domain parsing does not guarantee a WHOIS server is available.
Public suffix list
resources/public_suffix_list.dat is sourced from publicsuffix.org.
At runtime the list is cached in memory (loaded once per process).
Testing
composer test # or vendor/bin/phpunit
Optional live network tests:
vendor/bin/phpunit --group integration
Changelog
See CHANGELOG.md.