npm Scraper - Package Metadata, Versions & Maintainers avatar

npm Scraper - Package Metadata, Versions & Maintainers

Pricing

$0.50 / 1,000 package record produceds

Go to Apify Store
npm Scraper - Package Metadata, Versions & Maintainers

npm Scraper - Package Metadata, Versions & Maintainers

Get npm package metadata in bulk: latest version, publish date, description, license, maintainers, keywords, repository and homepage links and dependency counts. Export to CSV, JSON or Excel, schedule runs or use the API.

Pricing

$0.50 / 1,000 package record produceds

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What is npm Scraper?

npm Scraper is a tool that lets you scrape package data from npm (the JavaScript package registry): latest version, publish date, description, license, maintainers, keywords, homepage and repository links, number of versions, number of dependencies and all release tags such as latest, next and beta. Add package names, click Start, and download the data as Excel, CSV or JSON.

  • ๐Ÿ“ฆ Up to 100 packages per run: paste a list like react,express,typescript
  • ๐Ÿท๏ธ Release tags: the version behind latest, next, beta, canary and every other tag
  • ๐Ÿ‘ฅ Maintainers: names and emails of the people who publish the package
  • ๐Ÿ”“ No login: no npm account or API key needed
  • ๐Ÿ’ธ Free to try: the $5 of free usage every Apify account gets each month covers about 10,000 npm packages

What can npm Scraper do?

  • Look up npm package metadata in bulk
  • Get the latest version and publish date of npm packages
  • Get the maintainers of an npm package
  • Check the license of every package in a package.json
  • Count the versions and dependencies of a package
  • Get scoped packages such as @angular/core
  • Get a short README excerpt for each package
  • Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

What data can you extract from npm?

๐Ÿ“ฆ Package name๐Ÿ”ข Latest version๐Ÿ“… Publish date of the latest version
๐Ÿ“ Descriptionโš–๏ธ License๐Ÿท๏ธ Keywords
๐Ÿ‘ฅ Maintainers (name and email)๐Ÿ™‹ Publisher๐Ÿ”— Homepage and repository links
๐Ÿ” Number of versions๐Ÿงฉ Number of dependencies๐Ÿ—‚๏ธ Release tags (latest, next, beta...)
๐Ÿ“– README excerpt (optional)๐ŸŒ npm package page link๐Ÿ”’ Private flag

How to scrape npm

  1. Create a free Apify account (no credit card needed).
  2. Open npm Scraper.
  3. Enter Packages separated by commas, for example react,express,typescript.
  4. Set Max results, turn on Include README excerpt if you want it, then click Start.
  5. When the run finishes, download the data as Excel, CSV, JSON, HTML or XML.

How much does it cost to scrape npm packages?

You pay $0.50 per 1,000 npm packages. Platform usage is included in this price, so there is nothing else to pay. Each package found gives one row; a name that is not found on npm gets a free row telling you so.

For example, looking up 20 packages costs $0.01, and 1,000 packages cost $0.50.

Every Apify account gets $5 of free usage each month, so you can try it at no cost. See the Pricing tab for details.

โฌ‡๏ธ Input

SettingWhat it does
PackagesComma-separated npm package names, such as react,express,typescript. Scoped names like @angular/core work too
Max resultsHow many packages to get, up to 100 per run (default 100)
Include README excerptAdd the first part of each package's README, up to 1,200 characters (off by default)

Example: three popular packages with a README excerpt.

{
"packages": "react,express,typescript",
"maxResults": 3,
"includeReadmeExcerpt": true
}

Example: a smaller dependency check, including a scoped package.

{
"packages": "@apify/request-list,requests",
"maxResults": 10,
"includeReadmeExcerpt": false
}

โฌ†๏ธ Output

You get one row per package. You can view the rows as a table in Apify Console or download them as Excel, CSV, JSON, HTML or XML. A real row for react:

{
"packageName": "react",
"latestVersion": "19.3.0",
"description": "React is a JavaScript library for building user interfaces.",
"homepageUrl": "https://react.dev/",
"repositoryUrl": "https://github.com/react/react",
"license": "MIT",
"keywords": ["react"],
"maintainers": [
{ "name": "fb", "email": "opensource+npm@fb.com" },
{ "name": "react-bot", "email": "react-core@meta.com" }
],
"publishedAt": "2026-09-09T17:21:30.071Z",
"versionCount": 2961,
"dependenciesCount": 0,
"distTags": {
"beta": "19.0.0-beta-26f2496093-20240514",
"rc": "19.0.0-rc.1",
"next": "19.3.0-canary-d5736f09-20260507",
"backport": "19.0.8",
"latest": "19.3.0",
"experimental": "0.0.0-experimental-278794d7-20261002",
"canary": "19.3.0-canary-278794d7-20261002"
},
"packageUrl": "https://www.npmjs.com/package/react",
"publisher": "fb",
"isPrivate": false,
"recordType": "package_metadata"
}

With Include README excerpt on, each row also has a readmeExcerpt field. dependenciesCount counts the dependencies of the latest version, and maintainers lists up to 10 people.

A name that does not exist on npm gets a row with recordType: "package_error", status: "not_found" and the message Package not found in the npm registry, so you can see which names to fix. The rest of the list still runs.

How can I use npm data?

  • Dependency audits: license, maintainers and last release date for everything in a package.json
  • Choosing a library: compare release pace, version count and dependencies before you pick one
  • Release tracking: watch the latest and next tags of the packages you depend on
  • Ecosystem research: study JavaScript tooling by license, maintainers and keywords
  • Internal catalogs: feed package data into dashboards, search or a software inventory

How to monitor npm packages for new versions

  1. Enter your Packages.
  2. Schedule the actor to run every day.
  3. Compare latestVersion or distTags between runs, or connect a Slack, email or webhook integration.

Scrape more developer and package data

ActorWhat it gets
PyPI Package Metadata APIPython package versions, downloads, licenses and dependencies from PyPI
PyPI Release Monitor APILatest release or recent versions of PyPI packages
RubyGems Release Monitor APILatest releases and versions of Ruby gems
Docker Hub Tag Monitor APIDocker Hub image tags, digests and sizes
GitHub Repository & Issue ScraperGitHub repository data, issues, pull requests and contributors
GitHub Issues & Pull Requests MonitorNew, updated, closed and merged GitHub issues and pull requests

โ“FAQ

How much does it cost to scrape npm?

$0.50 per 1,000 packages, with platform usage included. See the cost section above and the Pricing tab.

How many packages can I look up in one run?

Up to 100 packages per run. For more, split your list over several runs.

Do I need an npm account or API key?

No. You don't need an npm account or an API key. The data is public.

What if a package does not exist?

You get a row with recordType: "package_error" for that name instead of a failed run, and the other packages are still scraped.

Can I monitor package updates over time?

Yes. Run the actor on a schedule and compare latestVersion, publishedAt or distTags between runs.

Why are some fields empty?

Package data depends on what each project publishes. Some packages have no homepage, keywords, repository link or README, and those fields are empty.

Is the output useful for AI workflows?

Yes. Each row is clean, structured data you can use for enrichment, analysis, search and retrieval pipelines.

Can I connect npm Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com.

npm Scraper only collects package information that projects publish on npm for everyone to see. Maintainer names and emails are personal data, which may be protected by laws such as GDPR, so only scrape it for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

npm Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by npm, Inc. or GitHub.

Something isn't working?

Open the Issues tab and tell us the package names and what you expected.

โญ Your feedback

Have an idea or found a problem? Tell us on the Issues tab. If npm Scraper saved you time, a short review on the Reviews tab helps other people find it.