npm Package Release Monitor
Pricing
$2.50 / 1,000 successful watchlist results
npm Package Release Monitor
Re-check npm packages you already depend on for a new latest version. Official registry. No tarball download.
Pricing
$2.50 / 1,000 successful watchlist results
Rating
0.0
(0)
Developer
Technical Dost Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
npm package version monitor. Re-check npm packages you already depend on for a new latest version. Official registry. No tarball download.
This Actor is a scheduled watchlist, not a one-shot dump. You bring identifiers you already have. It returns structured current fields, a change type against your previous snapshot, and a NEXT_SNAPSHOT you own.
Why pay
Official npm registry (/{name}/latest) is free. The paid job is bounded, scheduled, charge-after-success monitoring with isolated snapshots, honest nulls, and no fee for failed lookups or suppressed unchanged rows.
- charges per successful watchlist item, with no Actor-start fee
- does not bill source errors or
onlyChangesunchanged rows - does not invent scores, contacts, or matches beyond what the source returned
Not an npm search. No tarball download. Scoped names (@scope/name) are supported.
What you get
{"schemaVersion": 1,"id": "lodash","status": "ok","packageName": "lodash","version": "4.17.21","license": "MIT","changeType": "INITIAL","error": null}
Public example identifiers, not a customer or endorsement. Missing source strings are null — never "N/A".
Quick start
{"packages": ["lodash"],"maxItems": 1}
Run it, open the dataset, and save NEXT_SNAPSHOT from the default key-value store.
Repeat workflow
- Keep one watchlist per customer or project.
- Start a bounded run. Schedule it yourself if you need a cadence.
- Save the returned
NEXT_SNAPSHOTJSON in your private state. - On the next run pass it as
previousSnapshotand setonlyChanges: true. - Route
changeType: CHANGEDrows for review.
No schedules are enabled by default. Snapshots use the run's default storage, never a shared named store.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
packages | array | — | 1–50 npm names, including @scope/name. |
maxItems | integer | 50 | Must cover all unique items; a smaller value is rejected rather than silently dropping IDs. |
onlyChanges | boolean | false | Suppress unchanged successful records without charging them. The first observation is still emitted. |
previousSnapshot | object | — | Prior NEXT_SNAPSHOT with schemaVersion: 1, kind: "npm-package", and a records map. |
Pricing
| Event | Price | When it happens |
|---|---|---|
| Successful watchlist result | $0.0025 ($2.5 / 1,000) | One successful watchlist item written to the dataset |
| Actor start | none | No custom start fee |
You are not charged for: failed requests, parse failures, invalid input, or unchanged records suppressed by onlyChanges. With onlyChanges: false, an unchanged successful refresh is delivered work and is charged. The run stops when eventChargeLimitReached is true.
Worked example. 50 packages daily, onlyChanges: true, 3 latest bumps/week → about 12 × $0.0025 = $0.03/month.
Set maxTotalChargeUsd on the run. The Actor launches with a $1.00 minimum max-cost-per-run so a high-volume schedule cannot cap itself at the Console $0.05 default.
Using the API
Keep APIFY_TOKEN on a protected backend.
curl --fail -X POST "https://api.apify.com/v2/acts/technicaldost~npm-package-release-monitor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"packages":["lodash"],"maxItems":1}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('technicaldost/npm-package-release-monitor').call({"packages": ["lodash"],"maxItems": 1});const { items } = await client.dataset(run.defaultDatasetId).listItems();
n8n. HTTP Request → POST https://api.apify.com/v2/acts/technicaldost~npm-package-release-monitor/runs with header Authorization: Bearer {{$credentials.apifyToken}}. Poll the run, then read the default dataset and NEXT_SNAPSHOT.
Limitations
- Public metadata only. No authentication bypass and no non-public personal data.
- Output is only as current as the official source. Lag and outages are reported as errors, not invented rows.
- One request at a time (except shared catalog fetches), 20 seconds per request.
- At most 1,000 snapshot records are retained;
SUMMARY.snapshotPrunedreports eviction.
Not affiliated with or endorsed by npm, Inc.
Changelog
See CHANGELOG.md. Release 1.0.0 (2026-09-13): caller-owned watchlists, isolated snapshots, $0.0025 per successful result, no start fee.