YT-Downloader

Our API offers:

  • Video Downloads: Support for multiple resolution options, allowing you to choose the ideal video quality based on your needs and ensuring an optimal viewing experience.
  • Audio Downloads: Convert videos into high-quality M4A audio format, making it easy to enjoy music on various devices without taking up additional storage space.
  • User-Friendly Interface: The API is designed for simplicity and ease of integration, allowing developers to get started quickly without cumbersome setup processes.
  • Fast and Stable Performance: We are committed to providing a fast and reliable downloading service, ensuring users have the best experience while using our API.

Whether you are an individual user, app developer, or digital content creator, YT-Downloader is your ideal solution for accessing and managing YouTube content. Let YT-Downloader help you capture and enjoy your favorite multimedia effortlessly!

API Endpoints

Before reading endpoints, you should look into the workflow: image

1. Start a New Download

POST /start

Start the process of downloading videos or audio from YouTube.

Request Body

{
  "urls": ["url1", "url2"],
  "onlyAudio": boolean,
  "ignorePlaylists": boolean,
  "videoQuality": "best" | "fhd" | "hd"
}
  • urls: An array of YouTube video URLs to be downloaded.
  • onlyAudio: Specifies whether to download only audio (true/false).
  • ignorePlaylists: If true, ignores any playlists in the provided URLs.
  • videoQuality: Defines the desired video quality. Acceptable values are "best", "fhd", or "hd".

Response

{
  "uid": "download-id"
}
  • uid: A unique identifier for the download process.

Please notice the endpoint may need to wait over 3s to get response.


2. Get Download Status

GET /status/:uid

Retrieve the current status of the download process.

Parameters

  • uid: The unique identifier for the download process obtained from the /start endpoint.

Response

{
  "status": "YOUTUBE-QUEUE" | "YOUTUBE-DOWNLOADING" | "YOUTUBE-ERROR" | "READY" | "DONE" | "CANCELED",
  "targetFile": "filename",
  "doneOrCanceledAt": "timestamp",
  "onlyAudio": boolean,
  "videoQuality": "quality"
}
  • status: The current status of the download process.
  • targetFile: The name of the downloaded file.
  • doneOrCanceledAt: A timestamp indicating when the download was completed or canceled.
  • onlyAudio: Indicates if the download was for audio only.
  • videoQuality: The quality of the video that was downloaded.

3. Get result file(s)

GET /download/:uid

Download the processed file once it's ready.

Parameters

  • uid: The unique identifier for the download process obtained from the /start endpoint.

Response

  • Returns a file stream that allows users to download the processed file.

Acknowledgments

We would like to express our gratitude to the following open-source projects for their invaluable contributions: