NPM Package Scraper - Dependencies, Downloads & Author Data
Pricing
from $0.50 / 1,000 npm package records
NPM Package Scraper - Dependencies, Downloads & Author Data
Extract package metadata, versions, maintainers, dependencies, weekly downloads, GitHub repositories, and license info from npmjs.com.
Pricing
from $0.50 / 1,000 npm package records
Rating
0.0
(0)
Developer
Made In Germany
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
📦 NPM Package Scraper: Dependencies, Download Statistics & Author Data
A production-grade, enterprise web scraper to extract structured metadata, dependencies, weekly download statistics, and author information from npm (the official Node.js package registry at npmjs.com).
Whether you are performing open-source dependency auditing, monitoring competitor libraries, tracking tech stack adoption, or building developer intelligence dashboards, the NPM Package Scraper provides real-time, clean JSON data at scale with zero rate-limit hurdles.
🌟 Key Features & Extracted Data
| Field | Type | Description | Example |
|---|---|---|---|
name | String | Official package name | "express" |
version | String | Latest stable semantic release | "4.21.1" |
description | String | Package summary / tagline | "Fast, unopinionated, minimalist web framework for node." |
license | String | Open-source license identifier | "MIT" |
homepage | String | Official project homepage URL | "https://expressjs.com/" |
repositoryUrl | String | GitHub / Git repository link | "https://github.com/expressjs/express" |
authorName | String | Package creator or lead author | "TJ Holowaychuk" |
maintainers | Array | Current package maintainers | [{"name": "dougwilson", "email": "doug@something.com"}] |
dependencies | Object | Production dependencies mapping | {"accepts": "~1.3.8", "cookie": "0.7.1"} |
devDependencies | Object | Development dependencies mapping | {"mocha": "10.7.3", "supertest": "7.0.0"} |
weeklyDownloads | Number | Official 7-day download count | 32450890 |
keywords | Array | NPM package classification tags | ["express", "framework", "rest", "api"] |
scrapedAt | String | ISO 8601 timestamp of extraction | "2026-10-15T12:00:00.000Z" |
💼 High-Value Commercial Use Cases
- Supply Chain & Security Audits: Scan dependencies across mission-critical npm libraries to detect abandoned packages or unexpected license changes (e.g. GPL vs. MIT).
- Competitive & Market Intelligence: Track adoption trends between rival libraries (e.g. Fastify vs. Express or Vite vs. Webpack) using live weekly download trajectories.
- Developer Tooling & Integrations: Build automated dependency alert bots, Slack notifications for new major releases, or data pipelines for tech recruiting.
- Vulnerability Tracking & CVE Matching: Extract exact version manifests and package maintainers to correlate against CVE vulnerability databases.
🚀 How to Use the NPM Package Scraper
- Input Setup: Enter one or more npm package names (e.g.,
express,crawlee,lodash) or search keywords in the input console. - Configure Limits: Set
maxItemsto dictate how many packages to scrape (default: 50). - Execute Run: Click Start to run the Actor on Apify Cloud.
- Download & Integrate: Export clean data in JSON, CSV, Excel, or consume live via Apify's REST API, Webhooks, or Python/Node.js SDKs.
⚙️ Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | String | No | "express" | Keyword or package name to search for on npmjs.com. |
startUrls | Array | No | [] | List of direct npm package URLs (e.g., https://www.npmjs.com/package/crawlee). |
maxItems | Integer | No | 50 | Maximum number of package records to extract. |
proxy | Object | No | { "useApifyProxy": true } | Apify Proxy configuration for high-concurrency scraping. |
📊 Sample Output (JSON)
{"name": "crawlee","version": "3.12.0","description": "Crawlee - A web scraping and browser automation library for Node.js.","license": "Apache-2.0","homepage": "https://crawlee.dev","repositoryUrl": "https://github.com/apify/crawlee","authorName": "Apify","maintainers": [{"name": "apify","email": "support@apify.com"}],"dependencies": {"@crawlee/basic": "^3.12.0","@crawlee/browser": "^3.12.0","@crawlee/cheerio": "^3.12.0"},"weeklyDownloads": 284190,"keywords": ["crawler","scraper","headless","puppeteer","playwright"],"scrapedAt": "2026-10-15T12:00:00.000Z"}
💰 Transparent Pay-Per-Event (PPE) Pricing
Unlike costly subscription-only APIs, this scraper utilizes transparent Pay-Per-Event (PPE) billing:
- Micro-cost per package: Pay only for successful package records extracted.
- Zero waste: Failed lookups or non-existent packages are never charged.
- Scale effortlessly: From 10 packages to 500,000+ packages with built-in concurrency controls.
❓ Frequently Asked Questions (FAQ)
Do I need an npm account or API key?
No! The scraper connects directly to public registry endpoints and web interfaces without requiring any developer credentials or API keys.
Can I scrape download statistics for private packages?
No. This Actor is strictly designed for public packages indexed on the npm registry (npmjs.com).
Can I export the results to Google Sheets or Excel?
Yes! Once your run finishes, click Export on the dataset page and select CSV or Excel format. You can also automate imports into Google Sheets using Apify's native Google Sheets integration.
What happens if a package does not have a license or repository listed?
The scraper handles missing or partial fields gracefully, setting them to null while preserving all other extracted metadata.