A PHP wrapper for the WhoisJSON API - Get WHOIS, DNS, and SSL certificate information in JSON format.
Free accounts include 500 requests per month. Check out our full documentation for more details about our API.
composer require whoisjson/whoisjsonFirst, sign up for a free API key to get started with 500 monthly requests.
use WhoisJson\WhoisJsonClient;
// Initialize the client
$whois = new WhoisJsonClient('YOUR_API_KEY');
try {
// WHOIS lookup
$whoisInfo = $whois->whois('example.com');
print_r($whoisInfo);
// DNS lookup
$dnsInfo = $whois->nslookup('example.com');
print_r($dnsInfo);
// SSL certificate info
$sslInfo = $whois->sslCertCheck('example.com');
print_r($sslInfo);
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}[
'server' => 'gamma',
'name' => 'example.com',
'idnName' => 'example.com',
'status' => [
'clientDeleteProhibited',
'clientTransferProhibited'
],
'nameserver' => [
'dns1.example.com',
'dns2.example.com'
],
'ips' => '93.184.216.34',
'created' => '1995-08-14T04:00:00Z',
'changed' => '2024-02-14T08:00:00Z',
'expires' => '2025-08-13T04:00:00Z',
'registered' => true,
'dnssec' => 'signedDelegation',
'whoisserver' => 'whois.example.com',
'contacts' => [
'owner' => [[
'handle' => 'REDACTED FOR PRIVACY',
'name' => 'REDACTED FOR PRIVACY',
'email' => 'REDACTED FOR PRIVACY',
'country' => 'US'
]]
],
'registrar' => [
'id' => '123',
'name' => 'Example Registrar, Inc.',
'email' => 'support@example.com',
'url' => 'https://example.com',
'phone' => '+1.2345678900'
]
][
'domain' => 'example.com',
'records' => [
'a' => ['93.184.216.34'],
'aaaa' => ['2606:2800:220:1:248:1893:25c8:1946'],
'mx' => [
[
'priority' => 10,
'exchange' => 'mail.example.com'
]
],
'ns' => [
'ns1.example.com',
'ns2.example.com'
],
'txt' => ['v=spf1 include:_spf.example.com ~all'],
'soa' => [
'mname' => 'ns1.example.com',
'rname' => 'hostmaster.example.com',
'serial' => 2024021401,
'refresh' => 7200,
'retry' => 3600,
'expire' => 1209600,
'minimum' => 3600
]
]
][
'domain' => 'example.com',
'valid' => true,
'issuer' => [
'organization' => "Let's Encrypt",
'commonName' => 'R3',
'countryName' => 'US'
],
'subject' => [
'commonName' => 'example.com'
],
'validFrom' => '2024-01-01T00:00:00Z',
'validTo' => '2024-04-01T00:00:00Z',
'serialNumber' => '123456789',
'version' => 3,
'signatureAlgorithm' => 'SHA256withRSA',
'subjectAlternativeNames' => [
'example.com',
'www.example.com'
]
]Creates a new WhoisJson client instance.
$apiKey(string): Your WhoisJSON API key$baseUrl(string, optional): Custom API base URL
Get WHOIS information for a domain.
$domain(string): The domain name to lookup
Array containing the WHOIS information.
Get DNS records for a domain.
$domain(string): The domain name to lookup
Array containing the DNS records information.
Get SSL certificate information for a domain.
$domain(string): The domain name to check
Array containing the SSL certificate information.
The package throws exceptions in the following cases:
- Invalid API key
- Invalid domain name
- API rate limit exceeded
- Network errors
- Other API errors
- PHP 7.4 or higher
- GuzzleHttp 7.0 or higher
- ext-json
MIT