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

@searvora/cli

v0.1.2

Published

Agent-ready command line interface for the Searvora SEO platform

Downloads

226

Readme

Searvora CLI

Agent-ready command line interface for the Searvora SEO platform.

The CLI groups Searvora service operations behind stable commands and JSON envelopes so humans, CI jobs, and AI agents can discover services, inspect pricing, query shared SEO facts, run marketing SEO tools, and hand work off to product services without guessing internal routes.

Install

npm install -g @searvora/cli

For local development from this repository:

npm install
npm link
searvora --help

Usage

searvora <group> <command> [options]

Common examples:

searvora services list --json
searvora services health --profile public --json
printf '%s' "$SEARVORA_AUTH_PASSWORD" | searvora auth login --email [email protected] --password-stdin --profile public --json
searvora auth me --profile public --json
searvora price url --locale zh
searvora domains add --domain example.com --profile public --json
searvora facts audit --domain example.com --profile public --json
searvora tools canonical check --url https://searvora.com --json

Command groups

  • services — service discovery, health checks, public URLs, and Compose hints.
  • config — local CLI profiles and endpoint configuration.
  • auth — Gateway login, current user, refresh, logout, and token validation.
  • price / pricing — pricing page, plan, checkout, portal, and subscription status commands.
  • facts — SEO Data Plane shared audit, link, refresh, URL fact, crawl, and tool facts.
  • analysis — SEO AI Analysis / SDP diagnostics and planning context.
  • spider — SEO Spider Crawler tasks, progress, exports, reports, and tool handoff.
  • tools — marketing SEO tools and tool run history.
  • content — Blogify / Shopify content operations.
  • workflow — scaffolded cross-service agent workflows.

subscription is intentionally only a compatibility alias. Public subscription UX should point to the Searvora Pricing page and the price / pricing command group.

Configuration

The CLI reads configuration from:

  1. Global flags such as --profile, --access-token, --service-key, and --platform-user-id.
  2. Environment variables such as SEARVORA_PROFILE, SEARVORA_ACCESS_TOKEN, SEARVORA_SERVICE_KEY, and SEARVORA_PLATFORM_USER_ID.
  3. A local config file at ~/.config/searvora/config.json or the path in SEARVORA_CONFIG.

Create a config file:

searvora config init
searvora config get --json

Stored token values are redacted by config get.

Facts authentication modes

By default, facts commands are paid-user commands. They call Gateway with the logged-in access token, and Gateway performs product/domain authorization before reading the internal SEO Data Plane with server-side service credentials:

searvora facts audit --domain example.com --profile public --json
searvora facts links --domain example.com --profile public --json
searvora facts crawl-runs --domain example.com --profile public --json

Internal CI/ops callers can still use the direct Data Plane route explicitly:

searvora facts audit --domain example.com --internal \
  --service-key "$SEARVORA_SERVICE_KEY" \
  --platform-user-id "$SEARVORA_PLATFORM_USER_ID" \
  --json

Normal paid users should not need or see SEARVORA_SERVICE_KEY.

Authentication

Login stores the Gateway access and refresh tokens in the local config file with 0600 permissions. Prefer --password-stdin or SEARVORA_AUTH_PASSWORD instead of placing passwords directly in shell history:

printf '%s' "$SEARVORA_AUTH_PASSWORD" | searvora auth login --email [email protected] --password-stdin --profile public --json
searvora auth validate --profile public --json
searvora auth me --profile public --json
searvora auth refresh --profile public --json
searvora auth logout --profile public --json

You can still provide one-off tokens without saving them:

searvora auth me --access-token "$SEARVORA_ACCESS_TOKEN" --profile public --json

JSON contract

Use --json for machine-readable output. Commands return a stable envelope:

{
  "ok": true,
  "command": "services.list",
  "profile": "local",
  "data": {}
}

Failures use the same envelope with normalized error metadata.

Security

  • Do not commit local config files or credentials.
  • Prefer environment variables or your secret manager for tokens and service keys.
  • This repository intentionally contains no production credentials.
  • Public commands that require authenticated Searvora APIs fail locally before making unsafe unauthenticated requests.

Development

npm test
npm run check
npm run test:coverage

License

MIT