specification: API Commons Plans specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/Plans provider: npm providerId: npm created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Packages - JavaScript - Node.js - Package Management - Registry - Security description: npm is operated by GitHub (a Microsoft subsidiary). The public npm Registry API at registry.npmjs.org is free to read and publish for open-source packages. Paid functionality (private packages, organizations, SSO, audit) is delivered through GitHub plans (Free, Team, Enterprise) since the retirement of standalone npm Pro/Teams plans. There are no published per-tier rate quotas on the registry; commercial limits apply to seats and private package storage rather than API calls. sources: - https://github.com/pricing - https://docs.npmjs.com/ - https://www.npmjs.com/products plans: - id: npm-public-registry name: Public Registry type: freemium description: Free, anonymous read and publish access to the public npm registry. No API key required for reads; an npm account (free) is required to publish. entries: - label: Public package read name: registry_read type: metered metric: request limit: -1 timeFrame: usage geo: global unit: 1 price: '0.00' userMultiplied: false - label: Public package publish name: registry_publish type: metered metric: publish limit: -1 timeFrame: usage geo: global unit: 1 price: '0.00' userMultiplied: false elements: - name: Unlimited public packages - name: Anonymous read access - name: Provenance attestations - name: 2FA enrollment - name: Public registry search and metadata - id: npm-github-free name: GitHub Free (with npm) type: freemium description: Free GitHub plan; includes unlimited public and private repositories with npm registry integration via GitHub Packages. Effective replacement for the retired npm Free tier. entries: - label: Per user/month name: seat type: subscription metric: seat limit: -1 timeFrame: month geo: global unit: 1 price: '0.00' userMultiplied: true elements: - name: Unlimited public/private repositories - name: 500 MB GitHub Packages storage - name: 2,000 Actions minutes/month - name: Community support - id: npm-github-team name: GitHub Team type: subscription description: Per-seat plan that includes private npm packages via GitHub Packages, repository rules, multiple reviewers, and increased Actions minutes. entries: - label: Per user/month name: seat type: subscription metric: seat limit: -1 timeFrame: month geo: global unit: 1 price: '4.00' userMultiplied: true elements: - name: Private npm packages via GitHub Packages - name: 3,000 Actions minutes/month - name: 2 GB Packages storage - name: Code owners and protected branches - name: Draft pull requests - id: npm-github-enterprise name: GitHub Enterprise type: enterprise description: Per-seat enterprise plan with SAML SSO, SCIM, audit logs, data residency, advanced security, and 50,000 Actions minutes per month. entries: - label: Per user/month name: seat type: subscription metric: seat limit: -1 timeFrame: month geo: configurable unit: 1 price: '21.00' userMultiplied: true elements: - name: SAML SSO + SCIM provisioning - name: Enterprise Managed Users - name: 50 GB Packages storage - name: Audit logs and SOC 2 reports - name: Premium support options - name: Data residency maintainers: - FN: API Evangelist email: info@apievangelist.com x-canonical: generated: '2026-10-08' vocabulary: all/0-working/economics/plans-canonical.yml models: - metered - seat - subscription units: - request - seat plans: - name: Public Registry access: freemium model: metered model_how: derived units: - other - request periods: - per-use - name: GitHub Free (with npm) access: freemium model: seat model_how: derived units: - seat periods: - month - name: GitHub Team access: other model: subscription model_how: stated units: - seat periods: - month - name: GitHub Enterprise access: enterprise model: seat model_how: derived units: - seat periods: - month