---
title: "List package versions"
method: GET
path: "/scopes/{scope}/packages/{package}/versions"
---

# List package versions

`GET /scopes/{scope}/packages/{package}/versions`

Returns a list of versions of a package

## Path parameters

- `scope` string, required — The name of a scope. This must not be @ prefixed.
- `package` string, required — The name of a package.

## Response `200`

OK

- PackageVersionWithUser[]
  - `scope` string, required — The name of a scope. This must not be @ prefixed.
  - `package` string, required — The name of a package.
  - `version` string, required — A semantic version.
  - `user` User — Public user information.
    - `id` string, uuid, required — The ID of a user.
    - `name` string, required — The user's display name.
    - `avatarUrl` string, required — The URL to the user's avatar.
    - `githubId` integer, nullable — The user's GitHub ID.
    - `createdAt` string, date-time, required — The date and time when the user profile was created.
    - `updatedAt` string, date-time, required — The date and time when the user profile was last updated.
  - `yanked` boolean, required — Whether the version has been yanked.
  - `usesNpm` boolean, required — Whether the version uses npm dependencies.
  - `newerVersionsCount` integer, required — The number of newer versions.
  - `lifetimeDownloadCount` integer, required — The total number of downloads for this version.
  - `rekorLogId` string, nullable — Rekor log ID for the published package version.
  - `readmePath` string, nullable — The path to the readme file in the package.
  - `createdAt` string, date-time, required — The date and time when the package version was created.
  - `updatedAt` string, date-time, required — The date and time when the package version was last updated.
  - `symbolCount` integer, nullable — The number of symbols documented by this version. Null for versions published before this count was recorded.

## Other responses

- `400` — Invalid request
- `404` — Package not found

## Changes

> 15 revisions in range; 4 could not be searched.

- **2026-02-06** `0c4e8d8a5c2a` — 2 warning, 8 info
  - changed the pattern of the `path` request parameter `package` from `/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/` to `^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$`
  - changed the pattern of the `path` request parameter `scope` from `/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/` to `^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$`
  - added the optional property `items/readmePath` to the response with the `200` status
  - added the optional property `items/user` to the response with the `200` status
  - …6 more
- **2025-03-11** `34299b1d5e46` — 1 breaking
  - the response property `items/rekorLogId` became nullable for the status `200`
- **2024-07-03** `bdf10fdaec39` — 1 breaking, 2 info
  - removed the required property `items/name` from the response with the `200` status
  - added the optional property `items/package` to the response with the `200` status
  - added the optional property `items/rekorLogId` to the response with the `200` status
- **2024-02-28** `f8d3b912d946` — 4 breaking, 5 warning, 2 info
  - removed the required property `items/lifetimeDownloadCount` from the response with the `200` status
  - removed the required property `items/newerVersionsCount` from the response with the `200` status
  - removed the required property `items/package` from the response with the `200` status
  - removed the required property `items/usesNpm` from the response with the `200` status
  - …7 more

[Change history](https://skmtc.dev/jsr-io/apis/jsr-api/changes/scopes/:scope/packages/:package/versions/get.md)

---

[API](https://skmtc.dev/jsr-io/apis/jsr-api.md) · [All operations](https://skmtc.dev/jsr-io/apis/jsr-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jsr-io/jsr-api/revisions/abb153728b13/schema)
