turbot/whois

steampipe plugin install whoissteampipe plugin install whois

Table: whois_domain

WHOIS domain information including expiration, DNS servers and contact details.

Note: It's not practical to list all domains in the world, so this table requires a domain qualifier to be passed in the where or join clause for all queries.

Examples

Basic whois info

select
domain,
expiration_date
from
whois_domain
where
domain = 'steampipe.io';

Days until expiration

select
domain,
expiration_date,
date_part('day', expiration_date - current_date) as days_until_expiration
from
whois_domain
where
domain = 'steampipe.io';

Get name server information

select
domain,
name_servers
from
whois_domain
where
domain = 'steampipe.io';

Check domain status codes

Commonly used protections:

select
domain,
client_delete_prohibited,
client_transfer_prohibited,
client_update_prohibited,
server_delete_prohibited,
server_transfer_prohibited,
server_update_prohibited
from
whois_domain
where
domain = 'steampipe.io';

Check for any EPP status code:

select
domain,
status,
status ? 'pendingtransfer' as pending_transfer
from
whois_domain
where
domain = 'steampipe.io';

Contact information

select
domain,
jsonb_pretty(admin) as admin,
jsonb_pretty(billing) as billing,
jsonb_pretty(registrant) as registrant,
jsonb_pretty(technical) as technical
from
whois_domain
where
domain = 'steampipe.io';

Registrar managing the domain

select
domain,
registrar->>'name' as registrar
from
whois_domain
where
domain = 'steampipe.io';

Working with multiple domains

select
domain,
expiration_date
from
whois_domain
where
domain in (
'github.com',
'google.com',
'steampipe.io',
'yahoo.com'
);

Implementation notes

  • Automatically retries with backoff. WHOIS servers are fussy with throttling.
  • May return partial results, some WHOIS servers return domain info but throttle / skip contact information.

.inspect whois_domain

WHOIS domain information including expiration, DNS servers and contact details.

NameTypeDescription
adminjsonbAdministrative contact information.
billingjsonbBilling contact information.
client_delete_prohibitedbooleanThis status code tells your domain's registry to reject requests to delete the domain.
client_transfer_prohibitedbooleanThis status code tells your domain's registry to reject requests to transfer the domain from your current registrar to another.
client_update_prohibitedbooleanThis status code tells your domain's registry to reject requests to update the domain.
created_datetimestamp without time zoneDate when the domain was first registered.
dns_secbooleanTrue if the domain has enabled DNSSEC.
domaintextDomain name the WHOIS information relates to.
domain_extensiontextExtension of the domain.
domain_idtextUnique identifier for the domain.
domain_punycodetextPunycode ASCII variation of the Unicode domain name.
expiration_datetimestamp without time zoneExpiration date for the domain.
name_serversjsonbList of name servers for the domain.
registrantjsonbRegistrant contact information.
registrarjsonbRegistrar contact information.
server_delete_prohibitedbooleanThis status code prevents your domain from being deleted. clientdeleteprohibited is more commonly used.
server_transfer_prohibitedbooleanThis status code prevents your domain from being transferred from your current registrar to another. clienttransferprohibited is more commonly used.
server_update_prohibitedbooleanThis status code locks your domain preventing it from being updated. clientupdateprohibited is more commonly used.
statusjsonbExtensible Provisioning Protocol (EPP) status codes set on the domain. Common status codes (e.g. client_transfer_prohibited) are also elevated to column level. A full list is available at https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en
technicaljsonbTechnical contact information.
updated_datetimestamp without time zoneLast date when the domain record was updated.
whois_servertextWHOIS server that manages the domain.