API · /npmstats-api

npm Download Stats API

healthy 3,035 Subscribers

How popular is that npm package? Get download counts and trends for any npm package straight from npm's public download API. Pull the total downloads over a period (last day, week, month, year or any custom YYYY-MM-DD:YYYY-MM-DD range), the full per-day download time series, the monthly totals over the last year to spot growth or decline, and compare several packages side by side ranked by downloads (up to 128 at once, scoped @org/name packages supported). Every call is live (no cache). 5 endpoints. Built for popularity dashboards, package-comparison pages, trend charts, dependency-health scoring and "which library won" analyses. Distinct from an npm registry-metadata lookup — this is the download time series. No upstream key, no cache.

api.oanor.com/npmstats-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/npmstats-api/openapi.json
/api/npmstats-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
487 ms
Server probes · 24h
Subscribers
3,035
active
Total calls
75
last 7 days
status Full status page → · 10 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 1,950 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,950 calls/month
  • 2 req/sec
  • Downloads, range, compare, trends
  • No credit card
Sign in to subscribe

Starter

€7.50 /month

  • 43,000 calls / month
  • 8 requests / second
  • Hard cap (429 above quota, no overage)
  • 43k calls/month
  • 8 req/sec
  • Package comparison
  • Email support
Sign in to subscribe

Pro

€25.00 /month

  • 225,000 calls / month
  • 20 requests / second
  • Hard cap (429 above quota, no overage)
  • 225k calls/month
  • 20 req/sec
  • Popularity dashboards
  • Priority support
Sign in to subscribe

Mega

€59.00 /month

  • 1,100,000 calls / month
  • 50 requests / second
  • Hard cap (429 above quota, no overage)
  • 1.1M calls/month
  • 50 req/sec
  • Analytics at scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Semver API

A Semantic Versioning (SemVer 2.0.0) toolkit as an API. Parse a version string into its major, minor, patch, prerelease and build parts; compare two versions; test whether a version satisfies an npm-style range (^1.2.3, ~1.4, >=2 <3, 1.x); increment a version to the next major, minor, patch or prerelease; and filter a list of versions by a range to find which match and the highest and lowest satisfying. Powered by the canonical node-semver. Perfect for dependency and release tooling, CI gates, update checkers, compatibility rules and package dashboards. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 6 endpoints. Distinct from package-registry lookups and vulnerability databases.

api.oanor.com/semver-api

Bundle Size API

How big is that npm package? Get the minified and gzipped bundle size of any npm package — plus its dependency count, the size contributed by each dependency, peer dependencies, whether it ships an ES module and whether it is side-effect-free — in a single call. Pin a version ([email protected]) or get the latest, and pull the bundle size across a package's recent versions to spot regressions over time. Powered by the public Bundlephobia service; results are live (no cache). 3 endpoints. Built for frontend performance budgets, bundle-size CI checks, "cost of adding this dependency" tooling, and dependency dashboards. Distinct from a plain npm registry lookup (metadata) or a dependency-graph service — this measures actual shipped bytes. No upstream key, no cache.

api.oanor.com/bundlephobia-api

npm Registry API

Everything about npm packages in one clean API. Look up a package’s latest metadata — version, description, license, homepage, repository, author, keywords, dist-tags, dependencies and maintainers — list its full version history with release dates, pull download statistics for the last day, week, month or year, and search the registry across more than three million packages. Sourced live from the public npm registry and returned as tidy JSON through a fast, reliable API. Ideal for developer dashboards and tooling, package and dependency analytics, supply-chain and security checks, CI/CD and documentation sites.

api.oanor.com/npm-api

RC Servo & PWM API

RC servo and PWM maths as an API, computed locally and deterministically — the pulse-width, angle and duty-cycle numbers a robotics, RC or embedded developer drives a servo with. The angle endpoint turns a pulse width into the servo angle: a hobby servo reads the width of the pulse (not a duty cycle), so the standard 1000–2000 µs maps linearly across the travel with 1500 µs at centre — angle = (pulse − min) ÷ the min-to-max span × the travel — and it flags when a pulse asks for more than the configured range so you do not drive the servo into its mechanical stops. The pulse endpoint runs it the other way, giving the pulse width a microcontroller should write for a target angle (90° is 1500 µs on a 1000–2000 µs / 180° servo), exactly what an Arduino-style servo library computes under the hood. The duty endpoint converts a pulse and a refresh frequency into the PWM period and duty cycle: a 50 Hz servo frame is 20 ms, so a 1500 µs pulse is just 7.5 % duty — the value a timer peripheral needs — and faster frames for digital servos or multirotor ESCs (e.g. 333 Hz) change it. Everything is computed locally and deterministically, so it is instant and private. Ideal for robotics and RC firmware, microcontroller and embedded tools, drone and animatronics projects, and maker calculators. Pure local computation — no key, no third-party service, instant. 3 compute endpoints. For stepper steps-per-mm use a stepper-motor API.

api.oanor.com/servo-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for npm Download Stats API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call npm Download Stats API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for npm Download Stats API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does npm Download Stats API cost?
npm Download Stats API has a free tier with 100 calls / month. Paid plans start at €7.50 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is npm Download Stats API GDPR-compliant?
All requests to npm Download Stats API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/npmstats-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/npmstats-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/npmstats-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/npmstats-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.