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

areaops

v0.1.1

Published

Official CLI for AreaOps — Census-scored ZIP code territory intelligence for home-services brands.

Readme

areaops

The official command-line tool for AreaOps — Census-scored ZIP code territory intelligence for home-services brands.

Score a market, profile a ZIP, and print MCP client configuration from a shell, a script, or a CI job. Every command takes --json, so an agent can consume the output directly.

Zero runtime dependencies.

Install

npm install -g areaops
# or run it without installing
npx areaops zip 30309

Requires Node 20 or newer.

Authenticate

Public commands need no credential. For everything else, mint a key in AreaOps under Settings → Developers & API and export it:

export AREAOPS_API_KEY=aoa_live_...

Or pass --api-key per invocation.

Commands

| Command | What it does | Key required | | --- | --- | --- | | areaops zip <zipcode> | Census demographics and per-vertical scores for one ZIP | no | | areaops score <vertical> | Ranked territory plan for a metro or ZIP list | yes | | areaops mcp-config | Print MCP client configuration | no | | areaops openapi | Fetch the published OpenAPI 3.1 contract | no | | areaops help [command] | Usage | no |

Examples

# A public ZIP profile — no key needed
areaops zip 30309

# One vertical's score for that ZIP, as JSON
areaops zip 30309 --vertical roofing --json

# Rank the top 20 roofing ZIPs in Atlanta
areaops score roofing --metro atlanta-ga --limit 20

# Build a direct-mail list from an explicit ZIP set
areaops score hvac --zips 75201,75202,75203 --objective direct_mail --json

# Wire up an agent
areaops mcp-config > ~/.config/mcp/areaops.json

# Generate a client from the contract
areaops openapi > areaops-openapi.json

Options

| Flag | Meaning | | --- | --- | | --json | Emit JSON instead of formatted text | | --api-key <key> | API key; defaults to $AREAOPS_API_KEY | | --base-url <url> | API base; defaults to $AREAOPS_BASE_URL or https://areaops.app | | --metro <slug> | (score) Launched metro, e.g. atlanta-ga | | --zips <a,b,c> | (score) Explicit ZIP list instead of a metro | | --objective <name> | (score) expansion, lsa, direct_mail, or cleanup | | --limit <n> | (score) 3–50, default 12 | | --vertical <slug> | (zip) Restrict to one vertical |

Exit codes

| Code | Meaning | | --- | --- | | 0 | Success | | 1 | API or network failure | | 2 | Usage error |

Rate limits and metering

The CLI surfaces the API's rate-limit headers on failure, including Retry-After. Authenticated tool calls also consume metered units against your plan's monthly allowance — 1,000 included, score costs 10 per call. A 402 with code: usage_quota_exceeded means the allowance is spent.

Using AreaOps from an AI agent

The CLI is the scripting path. For an agent, prefer the Model Context Protocol server, which exposes 17 typed tools with confirm-gated writes:

claude mcp add --transport http areaops https://areaops.app/api/mcp \
  --header "Authorization: Bearer $AREAOPS_API_KEY"

Discovery is public and needs no key: https://areaops.app/api/mcp/info.

Links