smithery.ai

npm-downloads

Get download statistics for an npm package over time. Use when the user asks for package download counts, popularity metrics, or usage statistics.

First seen Apr 22, 2026

Installation

$ npx skills add https://smithery.ai

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,795 B
  • docs SUMMARY.md 167 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Get npm Download Statistics

Retrieve download statistics for an npm package over a specified time period.

Usage

npx tsx scripts/downloads.ts <package-name> [options]

Arguments

Argument Required Description
package-name Yes The exact package name (case-sensitive)

Options

Option Description
--period=PERIOD Time period: last-week, last-month, last-year (default: last-month)
--no-cache Bypass cache and fetch fresh data from API

Output

Downloads for react (last-month)
--------------------------------
Period: 2023-10-01 to 2023-10-31 (31 days)
Total downloads: 15,234,567
Average per day: 491,438
Peak day: 2023-10-15 (678,234 downloads)

Script Execution (Preferred)

npx tsx scripts/downloads.ts <package-name> [options]

Options:

  • --period=PERIOD - Time period: last-week, last-month, last-year (default: last-month)
  • --no-cache - Bypass cache and fetch fresh data from API

Run from the npm-registry plugin directory: ~/.claude/plugins/cache/npm-registry/

Downloads API

GET https://api.npmjs.org/downloads/range/{period}:{package}

Parameters

Parameter Required Description
period Yes Time period: last-week, last-month, last-year, or date range (YYYY-MM-DD:YYYY-MM-DD)
package Yes The exact package name (case-sensitive)

Examples

Last week:

https://api.npmjs.org/downloads/range/last-week:react

Last month:

https://api.npmjs.org/downloads/range/last-month:react

Last year:

https://api.npmjs.org/downloads/range/last-year:react

Custom date range:

https://api.npmjs.org/downloads/range/2023-01-01:2023-12-31:react

Response Format

{
  "downloads": [
    {
      "downloads": 1234567,
      "day": "2023-10-01"
    }
  ],
  "start": "2023-10-01",
  "end": "2023-10-31",
  "package": "react"
}

| last-month | Past 30 days | | last-year | Past 365 days | | YYYY-MM-DD:YYYY-MM-DD | Custom date range |

Custom date ranges must be in ISO 8601 format (YYYY-MM-DD).

Download Trends

The data can show:

  • Weekly patterns - Higher weekday downloads for development tools
  • Release spikes - Sudden increases after major version releases
  • Seasonal trends - Patterns based on project cycles
  • Long-term growth - Overall adoption trends

Caching

Download statistics are cached for 24 hours. Historical download data doesn't change, so the cache provides the same data with better performance.

Use the --no-cache flag to bypass the cache.

Related

  • Use npm-info to get package metadata alongside download stats
  • Use npm-search to discover packages with high download counts
  • Use NPMS.io for quality scores alongside download metrics

Error Handling

Package not found: Download stats are only available for published packages. Use npm-exists to verify the package exists first.

Invalid period: Ensure the period format is correct. Date ranges must use colons to separate dates from the package name.

No data: Very new packages may not have download statistics yet. Statistics are typically available within 24-48 hours of first publish.

Data Limitations

  • Delay: Download counts are typically 24-48 hours behind
  • Granularity: Data is available per day, not per hour
  • Scope: Counts include all download sources (npm install, CDN, mirrors)
  • Accuracy: Numbers are approximate and may include failed downloads