npm website screenshot

npm

npm is the world's largest software registry, hosting over two million JavaScript packages for the Node.js ecosystem. Their developer platform provides APIs for searching and retrieving package metadata, managing access tokens, subscribing to registry event webhooks, and publishing packages with supply chain provenance verification.

5 APIs 0 Features
PackagesJavaScriptNode.jsPackage ManagementRegistrySecurity

APIs

npm Registry API

The npm Registry API provides programmatic access to the npm package registry, the largest software registry in the world hosting over two million JavaScript packages. Developer...

npm Public API

The npm Public API provides authenticated endpoints for managing npm access tokens, configuring trusted publishers, and exchanging OIDC tokens for short-lived registry access. I...

npm Hooks API

The npm Hooks API allows developers to subscribe to notifications about changes in the npm registry. Hooks send HTTP POST payloads to a configured URI whenever a package is chan...

npm CLI

The npm CLI is the official command-line interface for the npm package manager, providing developers with tools to install, publish, and manage JavaScript packages and their dep...

npm Provenance

npm Provenance provides supply chain security for JavaScript packages by establishing a verifiable link between a published package and its source code repository and build envi...

Collections

Pricing Plans

Npm Plans Pricing

4 plans

PLANS

Rate Limits

Npm Rate Limits

4 limits

RATE LIMITS

FinOps

Npm Finops

FINOPS

Event Specifications

npm Hooks Events

The npm Hooks event system delivers HTTP POST payloads to subscriber endpoints whenever changes occur in the npm registry. Hooks can be configured to watch for changes to indivi...

ASYNCAPI

Semantic Vocabularies

Npm Context

0 classes · 8 properties

JSON-LD

JSON Structure

Npm Structure

0 properties

JSON STRUCTURE

Resources

🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
📰
Blog
Blog
🔗
Login
Login
💬
Support
Support
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
Website
Website
👥
GitHubOrg
GitHubOrg
🟢
StatusPage
StatusPage

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: npm Registry API
  version: 1.0.0
items:
- info:
    name: Registry
    type: folder
  items:
  - info:
      name: Get registry metadata
      type: http
    http:
      method: GET
      url: https://registry.npmjs.org/
    docs: Returns metadata about the npm registry, including document counts, storage sizes, and instance information. This
      endpoint follows the CouchDB database information convention.
- info:
    name: Packages
    type: folder
  items:
  - info:
      name: Get a package document (packument)
      type: http
    http:
      method: GET
      url: https://registry.npmjs.org/:package
      params:
      - name: package
        value: ''
        type: path
        description: The name of the package. For scoped packages, use URL encoding (e.g., @scope%2Fpackage).
    docs: Retrieves the full package document (packument) for a given package name. The packument includes all published versions,
      dist-tags, maintainers, repository information, and README content. For scoped packages, the package name should be
      URL-encoded (e.g., @scope%2Fpackage).
  - info:
      name: Get a specific package version
      type: http
    http:
      method: GET
      url: https://registry.npmjs.org/:package/:version
      params:
      - name: package
        value: ''
        type: path
        description: The name of the package. For scoped packages, use URL encoding (e.g., @scope%2Fpackage).
      - name: version
        value: ''
        type: path
        description: A valid semver version string, or the literal string "latest" to resolve the current latest dist-tag.
    docs: Retrieves metadata for a specific version of a package. The version can be a valid semver string or the literal
      string "latest" to retrieve the version pointed to by the latest dist-tag. Returns the version-specific manifest including
      dependencies, scripts, and distribution information.
- info:
    name: Search
    type: folder
  items:
  - info:
      name: Search packages
      type: http
    http:
      method: GET
      url: https://registry.npmjs.org/-/v1/search
      params:
      - name: text
        value: ''
        type: query
        description: Full-text search query. Supports special qualifiers such as author:username, maintainer:username, scope:scopename,
          keywords:keyword, not:unstable, not:insecure, is:unstable, is:insecure, and boost-exact:true.
      - name: size
        value: ''
        type: query
        description: Number of results to return. Maximum value is 250.
      - name: from
        value: ''
        type: query
        description: Offset for pagination, indicating the starting position in the result set.
      - name: quality
        value: ''
        type: query
        description: Weighting for the quality score component of search results, between 0 and 1.
      - name: popularity
        value: ''
        type: query
        description: Weighting for the popularity score component of search results, between 0 and 1.
      - name: maintenance
        value: ''
        type: query
        description: Weighting for the maintenance score component of search results, between 0 and 1.
    docs: Performs a full-text search across the npm registry. Results can be weighted by quality, popularity, and maintenance
      scores. Supports special search qualifiers such as author, maintainer, scope, and keywords filters. Qualifiers like
      not:unstable, not:insecure, is:unstable, and boost-exact can be included in the text parameter.
- info:
    name: Downloads
    type: folder
  items:
  - info:
      name: Download a package tarball
      type: http
    http:
      method: GET
      url: https://registry.npmjs.org/:package/-/:tarball
      params:
      - name: package
        value: ''
        type: path
        description: The name of the package. For scoped packages, use URL encoding (e.g., @scope%2Fpackage).
      - name: tarball
        value: ''
        type: path
        description: The tarball filename, typically in the format {package}-{version}.tgz.
    docs: Downloads the tarball archive for a specific version of a package. The tarball filename is typically in the format
      {package}-{version}.tgz. This endpoint is used by the npm CLI during package installation.
bundled: true