NPM Package Scraper – Download Stats, Deps, Versions
Pricing
from $2.00 / 1,000 results
NPM Package Scraper – Download Stats, Deps, Versions
Scrape NPM package download stats, dependencies and versions. NPM API alternative and registry data export to CSV/JSON. No token, no login.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
NPM Package Scraper — Download Stats, Dependencies & Versions
Discover and export NPM packages by keyword, name, maintainer or scope, and enrich each one with full registry metadata and download stats. This actor is an NPM package scraper and npm download stats + dependency intelligence tool built on the official open NPM Registry API and the npmjs downloads API.
For every package you get version, license, repository, maintainers, daily/weekly/monthly/yearly downloads, dependents, dependencies and full version history. No token, no proxy, no scraping tricks — export CSV, JSON or Excel.
What you get
Per-package output fields include:
name,scope,version,description,keywordslicense— SPDX IDhomepage,repositoryUrl,repositoryType,bugsUrl,npmUrlpublishedAt,createdAt,lastModifiedmaintainers,maintainersCount,publisherUsername,authordistTags,versionCount,versionHistory— all versions + publish datesengines,exports,main,typedependencies,devDependencies,peerDependencies,optionalDependencies,dependencyCountdeprecated,isDeprecatedtarballUrl,unpackedSize,fileCount,shasum,integritydailyDownloads,weeklyDownloads,monthlyDownloads,yearlyDownloadsdownloadsHistory— optional per-day time seriesdependentsCount,searchScore,readme(optional),scrapedAt
Use cases
- Devtool competitive intelligence — find every package matching a keyword and rank by weekly downloads.
- Dependency security & SBOM — feed package metadata and dependency trees into a vulnerability or SBOM workflow.
- OSS maintainer outreach — pull popular packages' maintainers and repository URLs for sponsorship or partnership.
- Trend monitoring — track download deltas with the history series to surface fast-growing packages.
- Package health dashboards — combine deprecation status, last-publish date and maintainer count to answer "is this package alive?".
- Package marketplace seeding — discover every MIT/Apache-2.0 package in a niche above a download floor.
- Maintainer talent intel — find every maintainer of a given scope for recruiting or partnerships.
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | array | [] | NPM registry search queries (paginated 250/page). |
packageNames | array | [] | Direct package names, including @scope/name. |
maintainer | string | "" | Search-only filter: maintainer:<username>. |
scope | string | "" | Search-only filter: scope without the leading @. |
keywords | array | [] | Search-only keywords:<tag> filters. |
maxResultsPerSearch | integer | 25 | Hard cap per search term. |
fetchPackageDetails | boolean | true | Pull full registry doc (maintainers, versions, deps, license). |
fetchDownloadsStats | boolean | true | Add day/week/month/year download counts. |
fetchDownloadsHistory | boolean | false | Add per-day downloads time series. |
downloadsHistoryRange | string | last-month | Range for history (preset or YYYY-MM-DD:YYYY-MM-DD). |
fetchReadme | boolean | false | Include raw README markdown per package. |
minMonthlyDownloads | integer | 0 | Drop packages below this monthly download floor. |
includeDeprecated | boolean | true | Set false to skip deprecated packages. |
minVersionPublishDate | string | null | Keep only packages with a latest version published on/after this date. |
How to use
- Add Search Terms (e.g.
scraper,react component library) and/or exact Package Names (including scoped@org/pkg). - Optionally narrow with Maintainer, Scope or Keyword filters.
- Keep Fetch Full Package Details and Fetch Downloads Stats on for the richest records; enable Downloads History for daily trends.
- Apply filters such as Minimum Monthly Downloads or Minimum Latest-Version Publish Date to drop noise.
- Run, then export to CSV, JSON or Excel — or pull via the Apify API.
Example: top scraping packages with full stats
{"searchTerms": ["scraper", "crawler", "puppeteer"],"maxResultsPerSearch": 50,"fetchPackageDetails": true,"fetchDownloadsStats": true,"minMonthlyDownloads": 1000}
Example: direct package list with downloads history
{"packageNames": ["react", "vue", "svelte", "solid-js", "preact", "lit"],"fetchDownloadsStats": true,"fetchDownloadsHistory": true,"downloadsHistoryRange": "last-year"}
How it works
- Search —
registry.npmjs.org/-/v1/searchpaginates up to 250 packages per page per term. - Per-package doc —
registry.npmjs.org/{pkg}returns every version, repository, maintainers, license and time map. - Downloads point stats —
api.npmjs.org/downloads/point/{range}/{pkg}for last-day / week / month / year. - Downloads time series —
api.npmjs.org/downloads/range/{range}/{pkg}returns one entry per day.
Names are deduplicated across search terms and direct lists. No authentication — the registry and stats APIs are public.
FAQ
Can I export to CSV or Excel?
Yes. Every Apify dataset exports to CSV, Excel, XML, JSONL or RSS from the run page or via the API.
Can I get the exact list of packages that depend on package X?
Not directly — NPM no longer exposes a stable dependents API, so the search snippet returns an approximate dependentsCount. For full reverse-dependency enumeration, use GitHub code search.
Does it cover private registries or PyPI / RubyGems / Cargo?
No. It targets the public registry.npmjs.org for JavaScript / Node.js packages only. Each other ecosystem would be a separate actor.
How is this different from npm-registry-fetch or pacote?
Those are Node libraries you call from your own code. This actor adds cross-source merging, pagination guardrails, normalized output, optional download history, deprecation/staleness filtering and Apify-native scheduling, webhooks and dataset views.
Does it download tarballs?
No — only metadata. tarballUrl is provided so you can fetch tarballs downstream if needed.
Is this an NPM API alternative for download stats?
Yes. It wraps the official NPM registry and npmjs downloads APIs into a no-code, paginated workflow, so you get a structured NPM download stats dataset without writing your own API client.
How do I export NPM package data to CSV or JSON?
Run a search or package list, then export the dataset to CSV, JSON, JSONL or Excel from the run page or the Apify API — a ready-made npm registry data export with downloads and dependency fields.
Can I scrape npm package versions and dependencies without login?
Yes. No token, no proxy and no login are required. The actor reads the public registry, so you can extract version history, dependencies and devDependencies for any public package.
Changelog
2026-06-07
- Docs: added coverage for NPM API alternative use, exporting npm package data to CSV/JSON, and scraping versions and dependencies without login.
Uses the public NPM Registry and npmjs downloads APIs. Not affiliated with npm, Inc.