npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

verifieddr

v0.5.2

Published

CLI for the VerifiedDR API — diagnose TrueDR gaps, find verified partner opportunities, and monitor authority changes.

Readme

VerifiedDR CLI

A tiny, dependency-free CLI for the VerifiedDR API. Use it to understand why a domain's TrueDR is weak, find the next verified partner to contact, and check whether the work is improving authority over time. The lower-level API commands still return clean JSON for scripts, CI, dashboards, and AI agents.

It is a thin HTTP client: it talks only to https://verifieddr.com/api/v1 with your own API key. It never touches a database or any admin credential.

Quickstart

# Install the skill
npx skills add VerifiedDR/verifieddr-cli

# Install the CLI
npm install -g verifieddr

# Set your API key
export VERIFIEDDR_API_KEY=vdr_your_key

# Get a score, diagnosis, and next actions
vdr analyze verifieddr.com

# Get the best next partner/action
vdr next verifieddr.com

# Surface verified partners worth contacting
vdr opportunities verifieddr.com

# Render the backlink map in your terminal
vdr map verifieddr.com

Get a free key in your VerifiedDR dashboard. Free includes 10 calls/day, Pro includes 1,000 calls/month, and Agency includes 10,000 calls/month. Requires Node.js 18 or newer. If global installs are unavailable, run any command through npx verifieddr ....

Every command needs a key and is metered against your plan quota; remaining quota and your tier are printed to stderr, and returned as X-API-Quota-Remaining / X-API-Tier headers). Pass --key vdr_... instead of the env var on any command. When a feature or quota is locked, the CLI prints an upgradeUrl; the default upgrade path is https://verifieddr.com/pricing?source=cli&feature=api.

Commands

The coach commands are the default product surface:

vdr analyze example.com              # score, main issue, top 3 actions
vdr diagnose example.com             # why TrueDR is lower than DR
vdr actions example.com              # ranked by impact, effort, confidence
vdr opportunities example.com        # verified partners, directories, backlink ideas
vdr opportunities example.com --contact partner-slug --dry-run  # preview drafted mail
vdr opportunities example.com --contact partner-slug --approve  # send the previewed draft
vdr audit backlinks example.com      # backlink risk review
vdr content-plan example.com         # authority-supporting page plan
vdr fix example.com --goal +10       # 30/60/90-day growth plan
vdr track example.com                # whether TrueDR is moving
vdr explain example.com              # client/founder-ready explanation
vdr boost example.com                # recommended authority campaign
vdr next example.com                 # best next partner/action

The coach loop is partner-first: vdr next prefers one concrete verified partner action when that is the fastest useful authority move. vdr opportunities shows potential partnership candidates, the suggested outreach angle, and the exact command to approve before sending. Partner names are shown in full on every plan; only the monthly contact limit is plan-governed. Partner matching uses the lookup and opportunities APIs, so listing can spend two quota calls; a --contact call spends one. --dry-run drafts outreach copy that cites the matched angle, previews it, and stores it locally in ~/.verifieddr/state.json. Sending requires either --approve (send the stored draft unchanged) or explicit --subject and --message for edited copy. Sent contacts are logged locally, so candidate lists mark partners you already reached out to and vdr next prefers a fresh one. Add --json to opportunities or a contact call for machine-readable output.

Pro and Agency users can contact a listed partner without seeing the owner's email address. Use --dry-run first to validate the target, quota, and message before sending:

vdr opportunities example.com --contact partner-slug --dry-run
vdr opportunities example.com --contact partner-slug --approve
vdr opportunities example.com --contact partner-slug --message "Custom outreach copy..."

The email is sent through VerifiedDR's partnership mail system, using the same ownership, opt-out, quota, and confirmation flow as the dashboard UI. Free users receive an upgrade link before partner details or outreach can start: https://verifieddr.com/pricing?source=cli&feature=partnerships.

The API commands follow a resource:action shape:

# Public discovery, works for ANY approved site
vdr authority:lookup stripe.com       # DR, TrueDR, trust score, evidence
vdr map stripe.com                    # terminal backlink map
vdr map stripe.com --json             # raw DR Map data
vdr discover:find --category ai --min-truedr 50 --traffic-validated --limit 10
vdr discover:find --opportunities-for example.com --limit 10
vdr badge:snippets stripe.com         # badge / embed snippets
vdr categories:list                   # valid category values

# Keyword research (Advanced/Ultra plans)
vdr keywords:research "best crm for startups"                  # DR the top 10 demands
vdr keywords:research "best crm for startups" --domain example.com  # + your gap/verdict
vdr keywords:suggest example.com      # winnable keywords the domain ranks 4-30 for
vdr keywords:tracked example.com      # your saved keyword targets + stored snapshots

# Your own sites (owner-scoped)
vdr sites:list                        # list your sites + metrics
vdr sites:get example.com             # one site with DR/traffic trends
vdr sites:truedr example.com --detailed   # TrueDR + full signal breakdown
vdr sites:export example.com          # machine-readable export
vdr sites:disavow example.com         # Google disavow candidates for severe spam risk
vdr sites:monitor --daily             # watch all your sites for changes
vdr sites:monitor example.com         # watch one site
vdr sites:submit https://example.com --title "Example" --category saas
vdr sites:verify example.com          # re-check the badge embed
vdr sites:gsc-performance example.com # 28d GSC totals, daily series + top dimensions
vdr sites:gsc-performance example.com --range 3m # 28d, 3m, 6m, 12m, or 16m
vdr sites:gsc-audit example.com       # latest Google index audit (needs GSC connected)
vdr sites:gsc-audit example.com --run # run a fresh audit (12h cooldown)

# Ping search engines about new or updated URLs (IndexNow)
vdr sites:submit-urls --generate-key  # one-time: create a key, host <key>.txt on your domain
vdr sites:submit-urls https://example.com/blog/new-post https://example.com/pricing

sites:submit-urls runs entirely client-side against the shared IndexNow endpoint (Bing, Yandex, Seznam, Naver) and spends no VerifiedDR quota. It needs a one-time key file on your domain: run --generate-key, upload the printed <key>.txt to your site root, and set INDEXNOW_KEY. Google has no public request-indexing API for regular pages; for Google, keep your sitemap lastmod fresh and verify pickup with vdr sites:gsc-audit.

The pre-0.2 verbs (lookup, find, sites, monitor, ...) still work as hidden aliases, so existing scripts keep running.

What's public vs. private

  • Public fields, any site (authority:lookup, discover:find, map, badge:snippets): DR, TrueDR, trust score, confidence, traffic validation, public backlink totals/map data, badge links. Never owner identity, billing state, or the per-signal trust breakdown. vdr map is cache-only: it never triggers a paid backlink fetch; if no cached map exists yet, try again after the site's DR Map has been opened or refreshed.
  • Keyword research (keywords:research, keywords:suggest): requires an Advanced or Ultra plan on the key's account (free keys get a 402 with an upgrade link). keywords:research returns the live Google top 10 for a keyword with each domain's DR, the median ("DR needed") and the weakest ranking site ("entry point"); pass --domain to get your gap and verdict. keywords:suggest works for any domain and returns keywords it already ranks 4-30 for, where authority is the likeliest blocker. keywords:tracked is the exception: it lists your saved keyword targets with their stored difficulty snapshots for one of your own sites. It reads stored data only (no live SERP fetch), so it works on every plan.
  • Owner-scoped (sites:*): only your own claimed sites. sites:truedr --detailed returns the full signal breakdown for sites you own. sites:disavow prints a Google disavow-format candidate file only for severe spam-link risk found in cached evidence; use --min-spam, --include-lost, --limit, or --json to tune/review it. It never submits anything to Google and is not a default growth tactic.

Output

Coach commands print plain-English guidance on stdout. API commands print JSON on stdout with an ok boolean; quota and diagnostics go to stderr. Pipe API commands into jq:

vdr authority:lookup stripe.com | jq '.lookup.authority'

Exit codes

| code | meaning | | ---- | ------- | | 0 | success | | 2 | bad usage / missing argument | | 3 | missing API key | | 4 | network error | | 5 | quota exhausted (HTTP 402) | | 6 | other API error |

5 Actionable SEO Outcomes

This repo ships two agent skills:

  • skills/verifieddr-authority teaches assistants when and how to call these commands.
  • skills/seo-publish-pipeline is a gated agentic workflow for writing and publishing SEO articles: keyword backlog built from vdr keyword research, intent classification, product claim validation, fixed article structure, two anti-slop passes, and a scoring threshold before anything ships.

Install them straight into your agent with:

npx skills add VerifiedDR/verifieddr-cli

After installing the skills, ask for one of these outcomes instead of memorizing commands:

  1. Growth Loop: find the TrueDR gap, check the detailed actions, review Google disavow candidates only for severe spam risk, pick one partner move, and end with the command to approve.
  2. Partner Outreach: find one verified partner, preview the outreach with --dry-run, then send only after approval.
  3. Progress Report: check TrueDR and DR movement, review weak backlink evidence, choose one next action, and write a founder or client-ready update.
  4. Fix Weak Authority Signals: inspect the owner-scoped signal breakdown, choose the relevant fix, and skip disavow when severe spam risk is not the issue.
  5. Monitor Metrics: set a recurring authority check for DR, TrueDR, traffic validation, backlink deltas, and trust alerts.
  6. Publish an SEO Article: run the gated publish pipeline — pick a keyword from the research-built backlog, validate every product claim, draft, run anti-slop passes, and publish only above the quality threshold.

Example prompts:

Run the VerifiedDR growth loop for example.com.
Analyze the TrueDR gap, then run `vdr sites:truedr example.com --detailed` to
check the owner-scoped recommendations. If the detailed actions show severe
spam-link risk, generate Google disavow candidates with `vdr sites:disavow
example.com --min-spam 50`, explain that the file is only a candidate list, and
list the domains I need to approve before any Search Console upload. If severe
spam risk is not a top issue, skip disavow and say so. Then choose the best
partner opportunity, draft the outreach angle, and end with the exact command I
should approve next.
Act as my authority coach for example.com.
Use VerifiedDR to diagnose why TrueDR is lower than DR, rank the top fixes by
impact and effort, and make verified partner outreach the next action when it is
the fastest path.
Review example.com every week with VerifiedDR.
Check whether TrueDR is improving, review the weakest public backlink evidence,
find the next partnership opportunity, and write a clear progress update.
Find one partner opportunity for example.com and draft the outreach.
Use VerifiedDR opportunities, run the contact command with --dry-run so I can
approve the exact subject/message, then send only after I approve the target and
copy.
Run the SEO publish pipeline for example.com.
Build the keyword backlog from vdr keyword research if it is empty, take the
oldest pending keyword, and write the article through every gate: intent
classification, product claim validation, the fixed structure, both anti-slop
passes, and the quality score. Stop and report instead of publishing anything
below the threshold.

License

MIT