---
updatedAt: 2026-04-20T20:26:21.000Z
agentTools:
  projectIndex: https://docs.wistia.com/llms.txt
---

# List Media

Lists the media belonging to the account. This endpoint can also be used to
do a batch fetch based off of the hashed id.

## 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.


# OpenAPI definition

````json
{
  "openapi": "3.1.1",
  "info": {
    "title": "Data API",
    "description": "Wistia Data API",
    "version": "2026.09.0"
  },
  "servers": [
    {
      "url": "https://api.wistia.com/modern"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Media"
    }
  ],
  "paths": {
    "/medias": {
      "get": {
        "summary": "List Media",
        "x-speakeasy-group": "media",
        "x-speakeasy-name-override": "list",
        "description": "Lists the media belonging to the account. This endpoint can also be used to\ndo a batch fetch based off of the hashed id.\n\n## Requires api token with one of the following permissions\n```\nRead all folder and media data\n```\n\nTokens with the \"Act with a team member's permissions\" permission\n(`all:delegate_to_contact_permissions` scope) can also be used. Requests\nmade with such a token are authorized using the permissions of the\ncontact assigned to the token.\n",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The page number to retrieve. This cannot be combined with `cursor`,\npagination.\n",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "The number of medias per page. Use this for both offset pagination and cursor pagination.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "If `cursor[enabled]` is set to 1 then cursor pagination is enabled and the\nfirst set of records are fetched up to the `per_page`. Cursor\npagination will also be turned on if `cursor[before]` or `cursor[after]`\nare set. Records returned will have a `cursor` property set which can be used to fetch more records in the same `sort_by` ordering.\nThe cursor value of the last record can be used to fetch records after the current result set and\nthe cursor of the first record can be used to fetch records before the result set.\n\nNOTE: a cursor value is only valid if the `sort_by` value hasn't changed from the\nlast fetch. For example, you cannot fetch using `sort_by` id and then pass that\ncursor value to a `sort_by` name.\n",
            "required": false,
            "schema": {
              "unevaluatedProperties": false,
              "type": "object",
              "properties": {
                "enabled": {
                  "description": "If `cursor[enabled]` is set to 1, the first result set will be fetched with cursor pagination enabled. This\nvalues is ignored if `cursor[before]` or `cursor[after]` are set.\n",
                  "type": "integer",
                  "enum": [
                    0,
                    1
                  ]
                },
                "before": {
                  "description": "If `cursor[before]` is set then cursor pagination is enabled and all records\nbefore the cursor up to the `per_page` are returned. This feature is useful for\nfetching \"new records\", for example, in a \"pull to refersh\" feature when showing records in a descending\norder.\n",
                  "type": "string"
                },
                "after": {
                  "description": "If `cursor[after]` is set then cursor pagination is enabled and all records\nafter the cursor up to the `per_page` are returned.\n",
                  "type": "string"
                }
              }
            },
            "style": "deepObject"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Ordering. When using cursor pagination (see cursor param),\nonly `id` and `created` are supported. All other sort_by options (`name`, `updated`, `position`)\nrequire offset pagination.\n",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "created",
                "updated",
                "position"
              ]
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "description": "Ordering Sort Direction (0 = desc, 1 = asc; default is 1)",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "folder_id",
            "in": "query",
            "description": "A hashed ID specifying the folder from which you would like to get results.",
            "required": false,
            "schema": {
              "description": "Hashed ID of the folder (e.g., \"4d23503f70\")",
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Find a media or medias whose name exactly matches this parameter.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "description_format",
            "in": "query",
            "description": "Format for media descriptions",
            "required": false,
            "schema": {
              "type": "string",
              "examples": [
                "markdown"
              ],
              "const": "markdown"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Set to `speakers` to include active transcript speaker assignments used for diarization. Webinar hosts and panelists are not included.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "speakers"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "A string specifying which type of media you would like to get.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Video",
                "Audio",
                "Image",
                "PdfDocument",
                "MicrosoftOfficeDocument",
                "Swf",
                "UnknownType"
              ]
            }
          },
          {
            "name": "hashed_ids[]",
            "in": "query",
            "description": "Find all of the medias by these hashed_ids.",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "explode": true,
            "style": "form"
          },
          {
            "name": "tags[]",
            "in": "query",
            "description": "Find all of the medias that match all of these tag names.",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Filter by archived status. True will return only archived medias, while false will return only active medias.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "X-Wistia-API-Version",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "default": "2026-09"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "unevaluatedProperties": false,
                    "allOf": [
                      {
                        "type": "object",
                        "description": "A media generally represents a video or an audio which can be embedded into your website.\n\nCDN-backed medias are accessible using this url structure: https://fast.wistia.com/embed/medias/{hashed_id}.m3u8.\nFor more information, see https://docs.wistia.com/docs/asset-urls#getting-hls-assets.\n",
                        "properties": {
                          "id": {
                            "description": "A unique numeric identifier for the media within the system.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "The display name of the media.",
                            "type": "string"
                          },
                          "type": {
                            "description": "A string representing what type of media this is.",
                            "type": "string",
                            "enum": [
                              "Video",
                              "Audio",
                              "Image",
                              "PdfDocument",
                              "MicrosoftOfficeDocument",
                              "Swf",
                              "UnknownType"
                            ]
                          },
                          "archived": {
                            "description": "Whether or not the media is archived, either true or false.",
                            "type": "boolean"
                          },
                          "created": {
                            "description": "The date when the media was originally uploaded.",
                            "type": "string",
                            "format": "date-time"
                          },
                          "updated": {
                            "description": "The date when the media was last changed.",
                            "type": "string",
                            "format": "date-time"
                          },
                          "duration": {
                            "unevaluatedProperties": false,
                            "description": "Specifies the length (in seconds) for audio and video files. Specifies number of pages in the document. Omitted for other types of media.",
                            "oneOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "embedCode": {
                            "description": "DEPRECATED: If you want to programmatically embed videos, follow the construct an embed code guide.\n",
                            "type": "string",
                            "deprecated": true
                          },
                          "hashed_id": {
                            "description": "A unique alphanumeric identifier for this media.",
                            "type": "string"
                          },
                          "description": {
                            "description": "A description for the media which usually appears near the top of the sidebar on the media's page.",
                            "type": "string"
                          },
                          "progress": {
                            "description": "A floating point value between 0 and 1 that indicates the progress of the processing for this file.",
                            "type": "number",
                            "maximum": 1,
                            "minimum": 0
                          },
                          "status": {
                            "description": "Post upload processing status. - `queued`: the file is waiting in the queue to be processed. - `processing`: the file is actively being processed. - `ready`: the file has been fully processed and is ready for embedding and viewing. - `failed`: the file was unable to be processed (usually a format or size error).\n",
                            "type": "string",
                            "enum": [
                              "queued",
                              "processing",
                              "ready",
                              "failed"
                            ]
                          },
                          "section": {
                            "unevaluatedProperties": false,
                            "description": "The title of the section in which the media appears. This attribute is omitted if the media is not in a section (default).",
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "thumbnail": {
                            "unevaluatedProperties": false,
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string"
                              },
                              "width": {
                                "type": "integer"
                              },
                              "height": {
                                "type": "integer"
                              }
                            }
                          },
                          "protected": {
                            "description": "Whether the media is protected (e.g. requires a password or other authentication to view). Null if the media is not protected.",
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "folder": {
                            "unevaluatedProperties": false,
                            "oneOf": [
                              {
                                "unevaluatedProperties": false,
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "description": "A unique numeric identifier for the folder within the system.",
                                    "type": "integer",
                                    "examples": [
                                      22570
                                    ]
                                  },
                                  "name": {
                                    "description": "The folder’s display name.",
                                    "type": "string",
                                    "examples": [
                                      "My Folder Title"
                                    ]
                                  },
                                  "hashed_id": {
                                    "description": "A private hashed id, uniquely identifying the folder within the system.",
                                    "type": "string",
                                    "examples": [
                                      "4d23503f70"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "folder"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "assets": {
                            "description": "An array of the assets available for this media.",
                            "type": "array",
                            "items": {
                              "unevaluatedProperties": false,
                              "type": "object",
                              "properties": {
                                "url": {
                                  "description": "A direct-access URL to the content of the asset.",
                                  "type": "string"
                                },
                                "width": {
                                  "unevaluatedProperties": false,
                                  "description": "The width of this specific asset, if applicable.",
                                  "oneOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "height": {
                                  "unevaluatedProperties": false,
                                  "description": "The height of this specific asset, if applicable.",
                                  "oneOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "file_size": {
                                  "unevaluatedProperties": false,
                                  "description": "The size of the asset file that’s referenced by url, measured in bytes.",
                                  "oneOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "content_type": {
                                  "unevaluatedProperties": false,
                                  "description": "The asset’s content type.",
                                  "oneOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "type": {
                                  "description": "The internal type of the asset, describing how the asset should be used. Values can include OriginalFile, FlashVideoFile, MdFlashVideoFile, HdFlashVideoFile, Mp4VideoFile, MdMp4VideoFile, HdMp4VideoFile, IPhoneVideoFile, StillImageFile, SwfFile, Mp3AudioFile, and LargeImageFile.\n",
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "subfolder": {
                            "unevaluatedProperties": false,
                            "description": "The subfolder (media group) in which the media appears. Null if the media is not in a subfolder.",
                            "allOf": [
                              {
                                "type": "object",
                                "description": "A subfolder within a folder that contains media.",
                                "properties": {
                                  "hashed_id": {
                                    "description": "A unique alphanumeric identifier for this subfolder.",
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "examples": [
                                      "abc123def4"
                                    ]
                                  },
                                  "name": {
                                    "description": "The display name of the subfolder.",
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "examples": [
                                      "Marketing Videos"
                                    ]
                                  },
                                  "description": {
                                    "description": "A description for the subfolder.",
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "examples": [
                                      "Collection of all marketing and promotional videos"
                                    ]
                                  },
                                  "position": {
                                    "description": "The position of this subfolder within its folder, used for ordering.",
                                    "type": [
                                      "integer",
                                      "null"
                                    ],
                                    "examples": [
                                      1
                                    ]
                                  },
                                  "created": {
                                    "description": "The date when the subfolder was created.",
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "format": "date-time",
                                    "examples": [
                                      "2024-01-15T10:30:00+00:00"
                                    ]
                                  },
                                  "updated": {
                                    "description": "The date when the subfolder was last modified.",
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "format": "date-time",
                                    "examples": [
                                      "2024-01-20T14:45:00+00:00"
                                    ]
                                  },
                                  "cursor": {
                                    "description": "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]`.",
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "hashed_id",
                                  "position",
                                  "created",
                                  "updated"
                                ]
                              }
                            ]
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "tags": {
                            "description": "Tags associated with this media.",
                            "type": "array",
                            "items": {
                              "type": "object",
                              "unevaluatedProperties": false,
                              "properties": {
                                "name": {
                                  "description": "The display name of the tag.",
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "speakers": {
                            "description": "Active transcript speaker assignments used for diarization. Webinar hosts and panelists are not included. Present when `include=speakers` is requested.",
                            "type": "array",
                            "items": {
                              "unevaluatedProperties": false,
                              "type": "object",
                              "properties": {
                                "media_speaker_id": {
                                  "description": "The unique identifier for this transcript speaker assignment on the media.",
                                  "type": "string"
                                },
                                "speaker_profile_id": {
                                  "description": "The reusable account speaker profile assigned to the transcript speaker.",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The assigned speaker profile's display name.",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "media_speaker_id",
                                "speaker_profile_id",
                                "name"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "cursor": {
                            "description": "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]`.",
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "unevaluatedProperties": false,
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Error message detailing the reason for the bad request.",
                      "type": "string",
                      "examples": [
                        "Bad request"
                      ]
                    },
                    "errors": {
                      "description": "Array of error messages detailing the reasons for the bad request.",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized, invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "unevaluatedProperties": false,
                  "type": "object",
                  "properties": {
                    "code": {
                      "description": "A machine-readable identifier for the specific authorization failure.",
                      "type": "string",
                      "enum": [
                        "unauthorized_credentials",
                        "account_inactive",
                        "unauthorized_scope",
                        "unauthorized_params"
                      ]
                    },
                    "error": {
                      "type": "string",
                      "examples": [
                        "Invalid credentials."
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "unevaluatedProperties": false,
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "examples": [
                        "Internal server error"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Media"
        ],
        "x-readme": {
          "code-samples": [
            {
              "name": "Typescript (SDK)",
              "language": "javascript",
              "code": "import { Wistia } from \"@wistia/wistia-api-client\";\n\nconst wistia = new Wistia({\n  bearerAuth: process.env[\"WISTIA_BEARER_AUTH\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await wistia.media.list({});\n\n  console.log(result);\n}\n\nrun();"
            }
          ]
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "x-readme": {
    "samples-languages": [
      "javascript",
      "shell",
      "node",
      "python",
      "ruby"
    ]
  }
}
````