Get download statistics for an npm package over time. Use when the user asks for package download counts, popularity metrics, or usage statistics.
Retrieve download statistics for an npm package over a specified time period.
npx tsx scripts/downloads.ts <package-name> [options]
| Argument | Required | Description |
|---|---|---|
package-name |
Yes | The exact package name (case-sensitive) |
| 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 |
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)
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 APIRun from the npm-registry plugin directory: ~/.claude/plugins/cache/npm-registry/
GET https://api.npmjs.org/downloads/range/{period}:{package}
| 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) |
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
{
"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).
The data can show:
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.
npm-info to get package metadata alongside download statsnpm-search to discover packages with high download countsPackage 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.