# npm Package Metadata — Versions, Licenses & Counts (`hermeskd/npm-package-metadata`) Actor

npm package metadata: latest version, recognized license token and dependency counts, without publisher contacts. $0.001 per package; start extra; usage included; failed results uncharged.

- **URL**: https://apify.com/hermeskd/npm-package-metadata.md
- **Developed by:** [Logan Parker](https://apify.com/hermeskd) (community)
- **Categories:** Developer tools, AI, Agents
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 package reads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

npm package metadata from the public registry gives dependency inventories and agents the latest technical version, a recognized license token and dependency counts, without publisher profiles or contact fields. AI agents can call and pay through Apify MCP. List event rates are $0.001 per package; start is extra, usage is included and failed results are uncharged.

### Example result

Example record for the minimal input under How to use it, as this Actor returned it on 2026-10-31 in a run of its production image; the record is kept unchanged with the release.

```json
{
  "version": "7.0.0",
  "license": "MIT",
  "dependencyCount": 0,
  "optionalDependencyCount": 0,
  "peerDependencyCount": 0,
  "package": "input-1",
  "ok": true
}
```

### How to use it

Start a run in Apify Console, by API or from an agent with an input like this one — it is the input Apify runs every day to test this Actor:

```json
{"packages": ["is-number"]}
```

| Field | Type | Meaning |
|---|---|---|
| `packages` | array | One record for each input; only nonpersonal technical metadata is returned. |

### Events and prices

| Event | Title | Charged when | FREE / BRONZE | SILVER | GOLD / PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| `package-read` | Package read | One successful input with a readable result written to the dataset. | $0.001 | $0.0009 | $0.0008 |

Platform usage is not passed through. Apify's automatic actor-start event remains $0.00005 per started GB (one GB or less counts once). The synthetic dataset-item event is absent. Charge limits stop further paying work; unprocessed inputs receive uncharged errors. Completed readable pending events are settled on abort.

Worked cost example: ten successful package read events cost $0.01 at list, plus actor start. Failures are not included in that count.

### Call it from an agent

Through Apify's MCP server (https://mcp.apify.com) use `call-actor`:

```json
{
  "actor": "hermeskd/npm-package-metadata",
  "input": {
    "packages": [
      "is-number"
    ]
  },
  "callOptions": {
    "maxTotalChargeUsd": 0.01,
    "timeout": 600
  },
  "waitSecs": 30
}
```

Then call `get-dataset-items` with the returned defaultDatasetId. Dedicated tool URL: https://mcp.apify.com?tools=hermeskd/npm-package-metadata

### Output fields

| Field | Meaning |
|---|---|
| `package` | One-based input reference (input-1, input-2, ...); never the supplied value. |
| `ok` | True for a returned result; a failure is never charged. |
| `version` | Validated latest technical package version. |
| `license` | recognized SPDX license token, otherwise null; not a legal determination. |
| `dependencyCount` | Number of runtime dependency keys. |
| `optionalDependencyCount` | Number of optional dependency keys. |
| `peerDependencyCount` | Number of peer dependency keys. |
| `error` | Failure, always uncharged. |

### Limits and run time

1–50 scoped or unscoped npm package names, at most 214 characters. Latest tag only, at most 2 MB per response, one request per second within a run. Counts may overlap between dependency kinds; no dependency install, code execution, security verdict, download counts, version history, author, description or contact data.

The default run timeout is 600 seconds. Local production-image tests at 128 MB and one CPU: three cold typical calls took 8.15–9.19 seconds wall time, peak typical RSS 81.3 MiB; the ten-event benchmark took 18.35 seconds. Apify cold startup, billing and the deploy pricing floor remain unverified.

Inputs are correlated by their one-based list position. Caller strings, URL paths, queries, credentials and exception text are never copied into identities or errors. Duplicate entries retain separate positions.

### Errors

| Code | Meaning |
|---|---|
| `http_error` | The source answered an unsuccessful HTTP status. |
| `download_failed` | The request or connection failed within its bounded deadline. |
| `source_invalid` | The source response is malformed or outside the documented supported shape. |
| `not_found` | The requested technical record is unavailable. |
| `robots_disallowed` | robots.txt forbids fetching the URL; no request was made to it. |
| `blocked_host` | The host is on the deny-list or resolves to a private or local address; no request was made. |
| `too_large` | The response exceeded the size cap. |
| `timeout` | The input did not finish within the run's time budget. |
| `invalid_input` | The run input passed the input schema but cannot be used; the message names the field. |
| `internal_error` | Unexpected internal failure; private exception details are excluded. |
| `charge_limit_reached` | The run reached its maximum total charge; this input was not processed. |

No failure record is charged. A run fails only when all input outcomes are Actor-side failures; caller errors and a mixture of caller/Actor failures do not fail the run.

### Sources and terms

Only process content you have the right to process. URL fetches obey HermesBot robots-group selection, the shared deny-list, public-address checks on connections and redirects, honest identity, deadlines and rate limits. No caller credentials, cookies, CAPTCHA solving, residential proxies or evasion. Official npm public registry latest-version endpoint, with public registry and crawler terms read on 2026-10-30. Only technical version, license token and dependency counts are returned.

### Not affiliated

Not affiliated with or endorsed by the source publishers or Apify.

### Related Hermes Actors

- [AI Crawler Checker — Robots.txt Policy for Six Bots](https://apify.com/hermeskd/ai-crawler-access-check) — check declared robots.txt permissions for six AI crawlers at URL paths.
- [Article Extractor — Main Text, Dates & Markdown from URLs](https://apify.com/hermeskd/article-extractor) — an article's clean text, title and publish date, without the rest of the page.
- [Career Site Job Search — Verified Greenhouse & Lever Boards](https://apify.com/hermeskd/ats-job-search) — search open jobs in the Hermes directory of Greenhouse and Lever boards, each confirmed live.
- [Speech to Text — File Transcripts, Speaker Labels & Subtitles](https://apify.com/hermeskd/audio-to-transcript) — speech to text with SRT and VTT subtitles.
- [Video Converter & MP4 to MP3 — Trim, GIF; Audio $0.001 a Minute](https://apify.com/hermeskd/audio-video-convert) — audio and video conversion: MP4 to MP3, trim, GIF.
- [Broken Links Checker — Crawl Pages, Assets & Redirect Chains](https://apify.com/hermeskd/broken-links) — broken links, 404s and redirects on a site.
- [Company ATS Finder — Which Hiring System & Job Board It Uses](https://apify.com/hermeskd/company-ats-board) — which hiring system and job board a company uses.
- [SEC EDGAR — Recent Company Filing Index by CIK](https://apify.com/hermeskd/company-filing-index) — Read recent company financial filing metadata from the official SEC JSON API
- [Crossref DOI Lookup — Titles, Venues, Dates & Citation Counts](https://apify.com/hermeskd/crossref-doi-metadata) — crossref doi metadata.
- [CVE Vulnerability Lookup — CVSS Scores & NVD Status](https://apify.com/hermeskd/cve-risk-metrics) — look up NVD CVE dates, status, numeric CVSS scores and severity.
- [Merge JSON Datasets — Deduplicate Rows & Export Stable CSV](https://apify.com/hermeskd/dataset-json-cleaner) — json dataset cleaner.
- [DNS Lookup — Bulk SPF, DKIM, DMARC & Mail Policy Findings](https://apify.com/hermeskd/dns-and-email-auth) — DNS records and SPF, DKIM and DMARC checks.
- [DOCX to Markdown — Word, Excel, Slides & Document Tables](https://apify.com/hermeskd/document-to-markdown) — Word, Excel, PowerPoint and other office files to Markdown.
- [Domain Availability — Bulk RDAP Status, Dates & Nameservers](https://apify.com/hermeskd/domain-availability) — whether domain names are available, from registry RDAP.
- [Bulk File Downloader — URL Lists to Storage, Links & SHA-256](https://apify.com/hermeskd/file-downloader) — files and images from URLs, saved with a public link each.
- [Greenhouse Job Board Scraper — Open Jobs, Live, Any Company](https://apify.com/hermeskd/greenhouse-jobs) — every open job on a company's Greenhouse board.
- [Hacker News Metrics — Story Scores & Comment Counts](https://apify.com/hermeskd/hacker-news-story-metrics) — read numeric Hacker News story scores, timestamps and comment counts by ID.
- [HTTP GET Request — Bulk Text Responses, Status & SHA-256](https://apify.com/hermeskd/http-get-response) — public http get.
- [Image Background Remover — Small U2NetP, PNG Base64](https://apify.com/hermeskd/image-background-remover) — Remove image backgrounds with the small U2NetP model and return transparent PNG pixels as base64
- [Image Converter — Static JPEG, PNG & WebP Resize/Compress](https://apify.com/hermeskd/image-format-converter) — image format converter.
- [Image Metadata Remover — EXIF/GPS Scrub with Pixel Checks](https://apify.com/hermeskd/image-metadata-remover) — GPS location, camera serial numbers and other private metadata removed from photos, losslessly.
- [Image to Text — OCR Lines, Word Boxes & Confidence Scores](https://apify.com/hermeskd/image-to-text) — OCR: the text in images.
- [Image Upscaler — Real-ESRGAN Graphics & Photo Modes, 2x/4x](https://apify.com/hermeskd/image-upscale) — image upscaling 2x or 4x, and photo restoration.
- [Lever Jobs Scraper — Postings from Any Lever Site, US & EU](https://apify.com/hermeskd/lever-jobs) — every published job on a company's Lever site, global or EU.
- [Lighthouse — Mobile/Desktop Lab Audits, Scores & Fix Hints](https://apify.com/hermeskd/lighthouse-audit) — Lighthouse scores and Core Web Vitals.
- [Website Change Monitor — Text Diffs & Stored Page Snapshots](https://apify.com/hermeskd/page-change-monitor) — what changed on a page since the last check.
- [PDF to Markdown / PDF to Text — PDF Text Extractor + OCR](https://apify.com/hermeskd/pdf-to-markdown) — PDF to Markdown and text, with OCR for scanned pages.
- [Public Holidays Calendar — Five Countries, 2000–2035](https://apify.com/hermeskd/public-holiday-calendar) — build offline public-holiday calendars for five countries and bounded years.
- [Remote Jobs Scraper — Remote OK Listings, Salary Filter, Links](https://apify.com/hermeskd/remote-jobs) — current remote jobs from Remote OK, with salary and listing links.
- [Research Paper Search — OpenAlex Titles, DOIs & Citations](https://apify.com/hermeskd/research-paper-search) — Search OpenAlex for work-level paper metadata without authors, affiliations, abstracts or full text
- [RSS Feed Reader — RSS/Atom/JSON Feed Items & Enclosures](https://apify.com/hermeskd/rss-feed-reader) — every item of an RSS, Atom or JSON feed.
- [SEO Audit — Supplied-Page Scores, Meta Tags & Schema Fixes](https://apify.com/hermeskd/seo-page-audit) — an on-page SEO audit: meta tags, schema, headings and links.
- [Sitemap Extractor — Unique URLs, Indexes, Gzip & RSS Maps](https://apify.com/hermeskd/sitemap-urls) — the URLs in a site's sitemaps.
- [Text to Speech — Generic Formant WAV, English/German/Spanish](https://apify.com/hermeskd/text-to-speech) — Convert short nonpersonal texts to offline formant WAV speech for agents
- [URL to Markdown — Clean Page Text, Selectors & Source Links](https://apify.com/hermeskd/url-to-markdown) — a public job page as clean Markdown where the site allows it (deny-listed job sites are refused).
- [Extract Video Frames — Scene Cuts, Intervals & Timestamps](https://apify.com/hermeskd/video-frames) — frames, thumbnails and scenes from a video.
- [Website Color Palette — Static CSS Literals, Alpha & Counts](https://apify.com/hermeskd/website-color-palette) — Extract declared website CSS color literals and counts from public HTML and bounded linked stylesheets
- [Favicon Extractor — Declared Icons, Manifests & Theme Colors](https://apify.com/hermeskd/website-icon-manifest) — declared website icons, theme colors and manifest links.
- [Website Screenshot — Full Pages, Elements, HTML & PDF Prints](https://apify.com/hermeskd/website-screenshot) — screenshots and PDF prints of web pages.
- [Tech Stack Detector — CMS, Framework & CDN with Evidence](https://apify.com/hermeskd/website-tech-stack) — the technologies a website runs, detected live.
- [Website Crawler — Markdown Pages, Sitemaps & RAG Provenance](https://apify.com/hermeskd/website-to-markdown) — bounded whole-site Markdown with robots and crawl-delay enforced
- [GitHub Repository Metrics — Stars, Forks & Issue Counts](https://apify.com/hermeskd/github-repository-metrics) — Read numeric metrics for known public GitHub repositories.
- [HTTP Header Policy Check — HSTS, CSP & Frame Declarations](https://apify.com/hermeskd/http-security-headers) — Check seven declared HTTP security header families without returning raw values.
- [ECB Currency Reference Rates — Latest Daily Cross Pairs](https://apify.com/hermeskd/ecb-exchange-rates) — Read latest ECB daily currency reference rates and calculated cross pairs.
- [USGS Earthquake Metrics — Magnitude, Coordinates & Times](https://apify.com/hermeskd/earthquake-event-metrics) — Read numeric USGS earthquake metadata for known event identifiers.
- [Timezone Conversion — IANA Offsets, DST & Repeated Hours](https://apify.com/hermeskd/timezone-converter) — Convert one offset-qualified instant to named IANA time zones using pinned data.

### Changelog

- 1.0 (2026-10-30) — 2026-10-30: first factory-built version..

# Actor input Schema

## `packages` (type: `array`):

One record for each input; only nonpersonal technical metadata is returned.

## Actor input object example

```json
{
  "packages": [
    "is-number"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "packages": [
        "is-number"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hermeskd/npm-package-metadata").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "packages": ["is-number"] }

# Run the Actor and wait for it to finish
run = client.actor("hermeskd/npm-package-metadata").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "packages": [
    "is-number"
  ]
}' |
apify call hermeskd/npm-package-metadata --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hermeskd/npm-package-metadata"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/l91Si1FuIechrzYjD/builds/cKJL68X2XUSDM6LwL/openapi.json
