---
title: "List Folders"
method: GET
path: "/folders"
tags: ["Folders"]
---

# List Folders

`GET /folders`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/folders`
- Auth: HTTP bearer

Lists folders (previously called projects) belonging to the account.
My Library folders are not included.

For tokens scoped to a specific user (`all:delegate_to_contact_permissions`),
results are limited to folders that user can see in their content library:
folders shared with them directly, through a contact group, or with the
whole account (owners and managers see every folder). Public (unlocked)
folders the user has no sharing on remain viewable by link but are not
listed.

## Requires api token with one of the following permissions
```
Read all folder and media data
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope can also be
used. Results are limited to the folders its authorizations name (any
permission granted on a folder qualifies it), filtered as they would be
for the contact the token was created for.

## Query parameters

- `page` integer
- `per_page` integer
- `cursor` object
  - `enabled` 0 | 1: If `cursor[enabled]` is set to 1, the first result set will be fetched with cursor pagination enabled. This values is ignored if `cursor[before]` or `cursor[after]` are set.
  - `before` string: If `cursor[before]` is set then cursor pagination is enabled and all records before the cursor up to the `per_page` are returned. This feature is useful for fetching "new records", for example, in a "pull to refersh" feature when showing records in a descending order.
  - `after` string: If `cursor[after]` is set then cursor pagination is enabled and all records after the cursor up to the `per_page` are returned.
- `sort_by` 'name' | 'created' | 'updated' | 'mediaCount' | 'id'
- `sort_direction` 0 | 1
- `hashed_ids[]` string[]

## Headers

- `X-Wistia-API-Version` string, required

## Response `200`

A list of folders

- object[]
  - `id` integer, required: A unique numeric identifier for the folder within the system.
  - `name` string, required: The folder’s display name.
  - `description` string, nullable: The folder’s description.
  - `media_count` integer, required: The number of different medias that have been uploaded to the folder.
  - `medias` object, required: A link to where you can fetch the medias for this folder.
    - `url` string: A URL for fetching all child records of the parent record.
  - `created` string, date-time, required: The date that the folder was originally created.
  - `updated` string, date-time, required: The date that the folder was last updated.
  - `hashed_id` string, required: A private hashed id, uniquely identifying the folder within the system.
  - `public` boolean, required: A boolean indicating whether the folder is available for public (anonymous) viewing.
  - `public_id` string, nullable, required: If the folder is public, this field contains a string representing the ID used for referencing the folder in public URLs.
  - `anonymous_can_upload` boolean
  - `anonymous_can_download` boolean
  - `kind` 'library' | 'shared' | 'account', required: Indicates the folder's access scope, relative to the requesting user. One of: - `library`: a library the requester owns. Libraries can still be shared with specific contacts or contact groups; the only restriction is that they cannot be shared with the whole account. - `shared`: a folder the requester has access to via a Contact or ContactGroup sharing — this includes both shared folders and another contact's library that the requester has been granted access to. - `account`: a folder shared with the whole account (everyone in the company can see it).
  - `personal_library` boolean, required: Whether this folder is someone's personal library ("My Library"). Unlike `kind`, this is a property of the folder itself and does not depend on who is requesting — it is `true` for a personal library even when that library has been shared with you (where `kind` would read `shared`). Use this, not `kind`, to tell whether a folder is a personal library.
  - `cursor` string, nullable: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/folders/get.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
