Package Intelligence for npm and PyPI
Pricing
$0.50 / 1,000 package returneds
Package Intelligence for npm and PyPI
Track npm and PyPI packages: download stats, versions, dependencies, license, and repository. For dependency monitoring and developer marketing.
Pricing
$0.50 / 1,000 package returneds
Rating
0.0
(0)
Developer
Ken Agland
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Track npm and PyPI packages: download stats, versions, dependencies, license, and repository. For dependency monitoring and developer marketing.
What it does
Looks up metadata and download stats for npm or PyPI packages, either from an explicit list of names or from an npm search, and returns one clean record per package: current version, license, homepage, repository, dependency count, last publish date, and downloads for the last day, week, and month.
Example input
Look up a fixed list of npm packages:
{ "packages": ["react", "express"], "registry": "npm" }
Search npm for packages matching a term:
{ "search": "http client", "registry": "npm", "maxItems": 20 }
Look up PyPI packages by name:
{ "packages": ["requests", "numpy"], "registry": "pypi" }
Input
| Field | Type | Description |
|---|---|---|
packages | array of strings | Package names to look up. Takes priority over search. |
search | string | Full-text search term for npm. Used only when packages is empty. PyPI has no public search API, so this is ignored when registry is pypi. |
registry | string | npm or pypi. Default npm. |
maxItems | integer | How many packages to return in search mode. Default 25, max 250. |
Output
Each dataset item is one package:
{"name": "express","registry": "npm","description": "Fast, unopinionated, minimalist web framework","version": "5.2.1","license": "MIT","homepage": "https://expressjs.com/","repository": "https://github.com/expressjs/express","downloadsLastDay": 13245678,"downloadsLastWeek": 92345678,"downloadsLastMonth": 453785456,"dependencyCount": 28,"lastPublished": "2025-12-01T20:49:43.268Z","url": "https://www.npmjs.com/package/express"}
Run summary (OUTPUT)
The run's default key-value store record OUTPUT holds an aggregate for the whole run:
{"registry": "npm","mode": "packages","requested": 2,"packagesReturned": 2,"mostDownloaded": "express","generatedFrom": "https://registry.npmjs.org"}
How it works
For npm, the Actor reads package metadata from the public npm registry (registry.npmjs.org), pulls download counts from the npm downloads API, and, in search mode, resolves names first through the npm search API. For PyPI, it reads metadata from pypi.org and download counts from pypistats.org. License is read from the package metadata, falling back to a License :: classifier for PyPI packages that only declare license via classifiers. A missing or rate-limited download source leaves the download fields null instead of failing the whole package. Requests use a descriptive User-Agent and retry on rate limits and server errors with backoff; unknown package names are skipped with a warning rather than stopping the run.
Use cases
- Dependency monitoring: track version bumps, license changes, and dependency count over time.
- Developer marketing: size up adoption of a package or a competitor's package by download volume.
- Due diligence: check license and repository before adding a dependency.
- Discovery: search npm for packages in a given space and compare their traction.