Get download statistics for an npm package over time. Use when the user asks for package download counts, popularity metrics, or usage statistics.
Install
npx skillscat add mearman/marketplace/npm-downloads Install via the SkillsCat registry.
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:reactLast month:
https://api.npmjs.org/downloads/range/last-month:reactLast year:
https://api.npmjs.org/downloads/range/last-year:reactCustom date range:
https://api.npmjs.org/downloads/range/2023-01-01:2023-12-31:reactResponse 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-infoto get package metadata alongside download stats - Use
npm-searchto 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