{"slug":"npm-registry","kind":"tool","name":"npm registry API","category":"Public APIs","description":"Read package metadata, versions and tarball links for any public npm package.","url":"https://registry.npmjs.org/","docs_url":"https://github.com/npm/registry/blob/main/docs/REGISTRY-API.md","tags":"npm,packages,JavaScript,HTTP","verified_at":"2026-10-16","status":"documented","entry_url":"https://github.com/npm/registry/blob/main/docs/REGISTRY-API.md","entry_type":"html_only","auth_type":"none","auth_note":"None for public reads.","quickstart":"1. Latest version of a package: GET https://registry.npmjs.org/PACKAGE/latest.\n2. All versions: GET https://registry.npmjs.org/PACKAGE (can be large).\n3. Scoped packages need the slash encoded: @scope%2Fname.","example_request":"curl -s https://registry.npmjs.org/commander/latest","writes":"read_only","writes_note":"Reads only. Publishing needs an authenticated npm client.","rate_limits":"Not specified in the reviewed pages; avoid bulk crawling.","gotchas":"The full package document can be megabytes; request /latest or use the abbreviated metadata header when you only need versions. Download counts are mostly automated traffic on new packages.","tested_by":"read_tested","last_tested_at":"2026-10-16","check_status":"unchecked","checked_at":"","disclosure":"","details":{"purpose":"Check a package's latest version, dependencies and publish details before installing.","interfaces":"JSON over HTTPS.","authentication":"None for public reads.","pricing":"Free.","open_source":"Registry documentation is open.","verification":"Two read requests returned HTTP 200 on 2026-10-16."},"field_notes":[]}