How to hit the npm registry API

The npm registry at https://registry.npmjs.org serves package metadata as JSON, and https://api.npmjs.org serves download counts. Every example below runs as-is.

Authentication

None for public packages. The downloads API rate-limits bursts — space requests out if you get a 429.

Full reference: https://github.com/npm/registry/blob/main/docs/REGISTRY-API.md

Get a package's latest version

The package.json of the latest release. Drop /latest for every version ever published (large).

curl https://registry.npmjs.org/react/latest
Run in PostTaco
Example response (trimmed)
{
  "name": "react",
  "version": "19.3.0",
  "description": "React is a JavaScript library for building user interfaces.",
  "license": "MIT",
  "main": "index.js"
}

Weekly downloads

Also last-day, last-month, last-year. Comma-separate packages for a bulk lookup (unscoped only).

curl https://api.npmjs.org/downloads/point/last-week/react
Run in PostTaco
Example response (trimmed)
{
  "downloads": 132703321,
  "start": "2026-09-15",
  "end": "2026-09-21",
  "package": "react"
}

Daily download history

One count per day between two dates.

curl https://api.npmjs.org/downloads/range/2025-07-01:2025-07-03/express
Run in PostTaco
Example response (trimmed)
{
  "start": "2025-07-01",
  "end": "2025-07-03",
  "package": "express",
  "downloads": [
    {
      "downloads": 8487887,
      "day": "2025-07-01"
    },
    {
      "downloads": 8220231,
      "day": "2025-07-02"
    },
    {
      "downloads": 7678535,
      "day": "2025-07-03"
    }
  ]
}