---
title: "List Session Videos"
method: GET
path: "/v3/video-agents/{session_id}/videos"
tags: ["Video Agent"]
---

# List Session Videos

`GET /v3/video-agents/{session_id}/videos`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v3/video-agents/{session_id}/videos`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Returns all videos produced within a Video Agent session, sorted newest-first.

## Path parameters

- `session_id` string, required

## Response `200`

Successful response

- object
  - `data` VideoDetail[]
    - `id` string, required: Unique video identifier
    - `title` string, nullable: Video title
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required
    - `created_at` integer, nullable: Unix timestamp of creation
    - `completed_at` integer, nullable: Unix timestamp when video generation finished
    - `video_url` string, nullable: Presigned URL to download the video file
    - `thumbnail_url` string, nullable: URL to video thumbnail image
    - `gif_url` string, nullable: URL to animated GIF preview
    - `captioned_video_url` string, nullable: Presigned URL to download the video file with captions burned in
    - `subtitle_url` string, nullable: Presigned URL to download the SRT subtitle file
    - `duration` number, nullable: Video duration in seconds
    - `folder_id` string, nullable: ID of containing folder
    - `output_language` string, nullable: BCP-47 output language code. Present only for translated videos.
    - `failure_code` string, nullable: Machine-readable failure reason. Only present when status is failed.
    - `failure_message` string, nullable: Human-readable failure description. Only present when status is failed.
    - `video_page_url` string, nullable: URL to the video page in the HeyGen app
  - `has_more` boolean: Whether more pages are available
  - `next_token` string, nullable: Opaque cursor for the next page

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `404`: Resource not found
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 8 info
  - added the optional property `error/errors` to the response with the `400` status
  - added the optional property `error/errors` to the response with the `401` status
  - added the optional property `error/errors` to the response with the `404` status
  - added the optional property `error/errors` to the response with the `429` status
  - …4 more

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v3/video-agents/:session_id/videos/get.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
