> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/npm/org-packages>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/npm/org-packages.mdx>

---

# npm Org Packages API

The packages one npm org or scope can publish, 25 at a time, with the stored scope type and the package facts.

`GET /v1/npm/org/packages?name=babel` returns `data.packages`, one page of 25 rows with `name`, `description`, `version`, `distTags`, `maintainers`, `publisher`, `lastPublish`, `publishedAt`, `createdAt`, `updatedAt`, `types` and `isHighImpact`. `data.name` is the org or scope, `data.scopeType` is what npm stores, and `data.page` carries `page`, `perPage`, `hasMore`, `nextCursor` and `total`.

Page numbers are 1-based and each page is 25 rows. A page past the end is `found` with an empty list. `cursor` continues from `data.page.nextCursor` and cannot be combined with `page`. A name npm does not have returns `lookupStatus: not_found` with an empty list.

## Request

- **Endpoint:** `GET /v1/npm/org/packages`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by org name
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/npm/org/packages/get)
- **Platform page:** [/platforms/npm](https://www.socialfetch.dev/platforms/npm)

## FAQ

### How do I get every package of a large org?

Start at page 1 and keep following data.page.nextCursor while data.page.hasMore is true. Each page is 25 rows and a separate request. Stop when hasMore is false instead of fetching an empty page.

### What does scopeType tell me?

scopeType is the type npm stores for the name, which can be a user scope rather than an org. Pair it with GET /v1/npm/org for the full profile.

### What is the difference from the user packages route?

Both page packages an account can publish. This route also accepts an org name and reports scopeType, so either route works for a personal account.

### What happens for an org with no packages?

The response is found with data.packages: [] and hasMore false. The profile route still returns the org's own fields. Use GET /v1/npm/org to confirm the org exists.

### What does the request cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.
