
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@domainintel/cli
Advanced tools
Domain intelligence from your terminal: WHOIS, DNS, SSL/TLS, HTTP security headers, reputation (DNSBL/Spamhaus) and subdomain discovery. Runs locally, JSON output, CI-friendly exit codes.
Domain intelligence from your terminal. One command runs WHOIS, DNS, SSL/TLS, HTTP security headers, blocklist reputation and subdomain discovery against any domain, prints a readable report, and exits non-zero when something's wrong, so it drops straight into CI.
It's the command-line companion to domainintel.app and the DomainIntel MCP server, built on the same analysis engine.
$ domainintel github.com
domainintel • github.com
Security score A 81/100
WHOIS
────────────
Registrar MarkMonitor, Inc.
Created 2007-10-09
Expires 2026-10-09 (105 days)
Privacy disabled
SSL / TLS certificate
─────────────────────
Issuer Sectigo Limited
Expires in 38 days
Protocol TLSv1.3
HTTP security headers
─────────────────────
Grade B (72%)
✓ strict-transport-security
✓ content-security-policy
...
✓ No issues detected.
npx @domainintel/cli example.com.--json for piping to jq, meaningful exit codes for CI gates.# one-off, no install
npx @domainintel/cli example.com
# or install globally for the `domainintel` command
npm install -g @domainintel/cli
domainintel example.com
Requires Node.js 18 or newer.
domainintel <domain> Full report (default)
domainintel <command> <domain> Run a single check
| Command | What it checks |
|---|---|
full | Everything below, plus an overall A+–F security score (default) |
dns | A, AAAA, MX, TXT, NS, CNAME, CAA records + SPF/DMARC presence + misconfig warnings |
whois | Registrar, creation/expiry/updated dates, privacy status, registrant country |
ssl | TLS certificate: validity, issuer, expiry countdown, protocol, SANs |
headers | HTTP security headers (HSTS, CSP, X-Frame-Options, …) with a letter grade |
reputation | DNSBL and Spamhaus blocklist checks |
subdomains | Subdomain discovery via Certificate Transparency logs |
email-headers | Parses raw email headers from stdin: SPF/DKIM/DMARC results, delivery path with timing, and a From-vs-Return-Path spoofing check (alias: email) |
email-headers reads a pasted header block from stdin rather than taking a domain:
domainintel email-headers < suspicious-email.txt
pbpaste | domainintel email-headers --exit-code
| Flag | Description |
|---|---|
--json | Output raw JSON instead of the formatted report (pipeable to jq) |
-e, --exit-code | Exit 1 if the check finds problems (for CI gates) |
--fail-under <days> | (ssl) Exit 1 if the certificate expires within <days> |
--no-color | Disable coloured output (also respects NO_COLOR and non-TTY pipes) |
--debug | Show the underlying analyzer's debug logs on stderr |
-h, --help | Show help |
-v, --version | Show version |
| Code | Meaning |
|---|---|
0 | Ran successfully; no problems (or --exit-code not set) |
1 | Ran successfully but found problems (only when --exit-code is set) |
2 | Could not run: bad usage, invalid domain, or an analysis failure |
Pipe JSON to jq:
domainintel dns example.com --json | jq '.dns.mx'
domainintel ssl example.com --json | jq '.ssl.daysRemaining'
Gate a deploy on certificate expiry:
# fails the build if the cert expires within 14 days
domainintel ssl yourdomain.com --fail-under 14 --exit-code
Fail if SPF/DMARC are misconfigured:
domainintel dns yourdomain.com --exit-code
Audit a fleet of domains:
cat domains.txt | xargs -I{} domainintel whois {} --json > whois.ndjson
This repo doubles as a GitHub Action, so you don't even need to script npx:
name: domain-health
on:
schedule:
- cron: '0 6 * * *' # daily
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: SSL not expiring within 21 days
uses: Bishop81/domainintel-cli@v1
with:
domain: ${{ vars.DOMAIN }}
check: ssl
fail-under: 21
- name: DNS / email auth configured
uses: Bishop81/domainintel-cli@v1
with:
domain: ${{ vars.DOMAIN }}
check: dns
Inputs: domain (required), check (default full), fail-under (ssl only), exit-code (default true, fail on problems), json.
Or call the CLI directly. Catch an expiring certificate before your users (or your monitoring) do:
name: domain-health
on:
schedule:
- cron: '0 6 * * *' # daily
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- name: SSL certificate not expiring within 21 days
run: npx @domainintel/cli ssl ${{ vars.DOMAIN }} --fail-under 21 --exit-code
- name: DNS / email auth configured
run: npx @domainintel/cli dns ${{ vars.DOMAIN }} --exit-code
domain-health:
image: node:20
script:
- npx @domainintel/cli ssl "$DOMAIN" --fail-under 21 --exit-code
--json emits the same structure the MCP server
returns. Single checks are wrapped under their key ({ "domain": ..., "dns": {...} });
full returns the complete report including securityScore. Stdout stays clean even
for the noisier checks, so it's always safe to pipe.
MIT
FAQs
Domain intelligence from your terminal: WHOIS, DNS, SSL/TLS, HTTP security headers, reputation (DNSBL/Spamhaus) and subdomain discovery. Runs locally, JSON output, CI-friendly exit codes.
The npm package @domainintel/cli receives a total of 12 weekly downloads. As such, @domainintel/cli popularity was classified as not popular.
We found that @domainintel/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.