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
4 days ago
Last modified
Categories
Share
NPM Package Scraper — Download Stats, Dependencies & Versions (No Token)
Discover and export NPM packages by keyword, name, maintainer or scope, and enrich each one with full registry metadata and download stats — straight from the official public NPM Registry API and the npmjs downloads API. For every package you get version, license, repository URL, maintainers, daily / weekly / monthly / yearly downloads, dependents count, full dependency tree, deprecation status and complete version history in clean structured JSON. No token, no proxy, no scraping tricks, no login.
🏆 Why this NPM Package Scraper?
40+ fields per package · thousands of packages per run · official registry + downloads API (no reverse-engineering) · pagination guardrails (250/page) · optional per-day download history · export to JSON / CSV / Excel. The unofficial NPM registry API alternative for devtool competitive intelligence, SBOM / dependency security, package-health dashboards and OSS maintainer outreach.
✨ What this Actor does / Key features
- 🔎 Flexible discovery — find packages by free-text search terms, or fetch an exact list of package names including scoped
@org/pkg. - 🎯 Search-only filters — narrow noisy queries by
maintainer,scopeandkeywordsbefore enrichment. - 📦 Full registry metadata — name, scope, description, keywords, license (SPDX), homepage, repository, maintainers, dist-tags, engines and exports map.
- 📊 Download stats — last-day, weekly, monthly and yearly download counts pulled from the official npmjs downloads API.
- 📈 Per-day history — optional downloads time series for trend analytics over any preset or custom date range.
- 🕰️ Complete version history — every published version with its publish date, plus
versionCountanddistTags. - 🌳 Dependency intelligence —
dependencies,devDependencies,peerDependencies,optionalDependencies,dependencyCountand an approximatedependentsCount. - 🧹 Client-side filters — drop packages below a monthly-downloads floor, skip deprecated packages, or keep only recently published ("fresh") packages.
- 🔓 Zero-auth engine — reads only the public registry and stats endpoints; no token, no proxy, no login — fast and resilient.
🚀 Quick start (3 steps)
- Configure — add one or more Search Terms (e.g.
scraper,react component library) and/or exact Package Names (including scoped@org/pkg). Keep Fetch Details and Fetch Downloads Stats on for the richest records. - Run — click Start. The Actor paginates search results, enriches each package concurrently, and streams rows into your dataset.
- Get your data — open the Output tab and export to JSON, CSV, Excel, JSONL or XML, or pull it via the Apify API.
📥 Input
Give the Actor at least one searchTerms value or one packageNames value. Everything else is optional.
Example — top scraping packages with full stats
{"searchTerms": ["scraper", "crawler", "puppeteer"],"maxResultsPerSearch": 50,"fetchPackageDetails": true,"fetchDownloadsStats": true,"minMonthlyDownloads": 1000}
Example — direct package list with daily download history
{"packageNames": ["react", "vue", "svelte", "solid-js", "preact", "lit"],"fetchDownloadsStats": true,"fetchDownloadsHistory": true,"downloadsHistoryRange": "last-year"}
Example — every fresh MIT package in a scope (OSS outreach)
{"searchTerms": ["typescript"],"scope": "apify","maxResultsPerSearch": 250,"fetchPackageDetails": true,"includeDeprecated": false,"minVersionPublishDate": "2026-01-01"}
| Field | Type | Description |
|---|---|---|
searchTerms | array | NPM registry search queries; each term auto-paginates 250/page. Leave empty if you supply package names. |
packageNames | array | Direct package names to fetch, including scoped @org/name. Faster and more predictable than search. |
maintainer | string | Search-only filter — restrict results to a maintainer/author username. |
scope | string | Search-only filter — restrict to a scope (org), without the leading @. |
keywords | array | Search-only keywords:<tag> filters to narrow noisy queries. |
maxResultsPerSearch | integer | Hard cap per search term (1–10000). Default 25. |
fetchPackageDetails | boolean | Pull the full registry doc: maintainers, versions, deps, license, repository. Default true. |
fetchDownloadsStats | boolean | Add last-day / week / month / year download counts. Default true. |
fetchDownloadsHistory | boolean | Add a per-day downloads time series. Default false. |
downloadsHistoryRange | string | Range for history — preset (last-week/last-month/last-year) or YYYY-MM-DD:YYYY-MM-DD. Default last-month. |
fetchReadme | boolean | Include the raw README markdown per package (requires fetchPackageDetails). Default false. |
minMonthlyDownloads | integer | Drop packages below this monthly-downloads floor (requires stats). Default 0. |
includeDeprecated | boolean | Set false to skip deprecated packages. Default true. |
minVersionPublishDate | string | Keep only packages whose latest version was published on/after this ISO date. |
Search vs. direct names: use
searchTermsfor discovery ("show me every package about X") andpackageNameswhen you already know exactly which packages you want. You can combine both in one run — names are deduplicated across all search terms and direct lists.
📤 Output
One row per package — 40+ fields, exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:
{"name": "puppeteer","scope": null,"version": "22.15.0","description": "A high-level API to control headless Chrome over the DevTools Protocol","keywords": ["puppeteer", "chrome", "headless", "automation"],"license": "Apache-2.0","homepage": "https://pptr.dev","repositoryUrl": "https://github.com/puppeteer/puppeteer","npmUrl": "https://www.npmjs.com/package/puppeteer","publishedAt": "2026-06-28T10:12:04.000Z","maintainers": ["google-wombot", "jrandolf"],"maintainersCount": 2,"distTags": { "latest": "22.15.0" },"versionCount": 312,"dependencies": { "@puppeteer/browsers": "2.3.0", "devtools-protocol": "0.0.1312386" },"dependencyCount": 3,"deprecated": null,"isDeprecated": false,"dailyDownloads": 412339,"weeklyDownloads": 2871004,"monthlyDownloads": 12483110,"yearlyDownloads": 138902441,"dependentsCount": 9421,"searchScore": 0.98,"scrapedAt": "2026-07-06T12:00:00.000Z"}
💡 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?".
- Marketplace / registry 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.
👥 Who uses it
Developer-tooling & DevRel teams · application security & SBOM engineers · OSS program offices and sponsors · VC and market analysts tracking dev ecosystems · data teams building package-health dashboards · founders seeding package marketplaces.
💰 Pricing
This Actor runs on a simple pay-per-result model — you pay for the packages you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.
❓ Frequently Asked Questions
Does this NPM scraper need a token or login?
No. It reads only the public registry.npmjs.org and api.npmjs.org endpoints, so there is no npm token, proxy or login required — only an Apify account.
Is scraping NPM registry data legal? The NPM registry and downloads APIs are public and meant to be queried. This Actor collects only that publicly available package metadata. You are responsible for using the output in line with npm's terms and applicable laws.
Do I need an API key or a proxy? No. The registry and stats APIs are open and unauthenticated, so no API key and no proxy are needed.
How many packages can I scrape per run?
Thousands. Search terms auto-paginate 250 per page up to maxResultsPerSearch, and packages are enriched concurrently, so a broad keyword pull or a large direct list finishes cleanly.
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.
How do I find the most-downloaded npm packages for a keyword?
Add the keyword to searchTerms and set a minMonthlyDownloads floor; the scraper returns matching packages enriched with weekly and monthly download counts to rank by popularity.
🔗 More research & intelligence scrapers by logiover
Building a full developer- or market-intelligence dataset? Pair the NPM Package Scraper with the rest of the research & intel suite:
| Focus | Actor |
|---|---|
| 🐙 GitHub | GitHub Repository Scraper · GitHub Activity Stream |
| 🛡️ Security | CVE Security Advisory Monitor |
| 🤗 AI models | Hugging Face Hub Intelligence Scraper |
| 📄 Research | arXiv Paper Scraper · Semantic Scholar Research Scraper |
| 📚 Docs | Docs Knowledge Base Scraper |
| 📰 News | Google News Scraper · News Intelligence Scraper |
| 🏢 Company | Company Deep Research Scraper |
| 🔬 Deep research | AI Deep Research · AI Web Extract |
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.
⏰ Scheduling & integration
Schedule this Actor on Apify to track npm download trends and package health daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated dependency-monitoring and devtool-intelligence pipelines.
⭐ Support & feedback
Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏
⚖️ Legal
This Actor extracts only publicly available package metadata from the open NPM Registry and npmjs downloads APIs, and is intended for legitimate research, analytics and developer-tooling use. You are responsible for complying with npm's terms of service and any applicable local laws. Uses the public NPM Registry and npmjs downloads APIs — not affiliated with npm, Inc.
📝 Changelog
2026-07-06
- ✨ README overhaul: richer output sample, ready-to-run example scenarios, full field reference, research & intel suite cross-links, and clearer quick-start.
2026-07-01
- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.
2026-06-15
- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.
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.