Video Download API documentation

EasyDown REST API platform guide

YouTube Download API

Send one public YouTube URL to the shared REST endpoint. The response preserves every available video and audio candidate so your backend can choose a format instead of accepting a single preselected file.

Use the EasyDown YouTube Download API to parse a public video, Short, or replay URL into structured video, audio, thumbnail, duration, and quality data.

YouTube video download API · YouTube Shorts download API

Production REST endpoint

POST https://api.easydown.org/api/v1/parse

Supported public URL formats

youtube.com/watch?v={id}youtu.be/{id}youtube.com/shorts/{id}youtube.com/live/{id}

Real request example

https://www.youtube.com/shorts/xzOtM0x3_LU?feature=share

curl -X POST https://api.easydown.org/api/v1/parse \
  -H "Authorization: Bearer ed_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/shorts/xzOtM0x3_LU?feature=share"}'

Platform response example

The shared envelope stays stable while this platform determines which media arrays and attributes are populated.

Media behavior

Videos can include progressive files and video-only streams. Separate audio candidates are returned in audios[]; high-quality DASH results may require FFmpeg merging after both streams are downloaded.

{
  "status": 200,
  "data": {
    "platform": "youtube",
    "title": "Example youtube public post",
    "thumbnail": "https://cdn.example.com/thumbnail.jpg",
    "duration": 24,
    "images": [],
    "videos": [
      {
        "url": "https://cdn.example.com/video.mp4",
        "quality": "1080p video-only",
        "mimeType": "video/mp4",
        "width": 1080,
        "height": 1920,
        "hasAudio": false,
        "source": "direct"
      }
    ],
    "audios": [
      {
        "url": "https://cdn.example.com/audio.m4a",
        "quality": "128kbps",
        "mimeType": "audio/mp4"
      }
    ]
  },
  "msg": "success"
}

Download and proxy rules

Fetch media from your backend with a browser User-Agent, Referer: https://www.youtube.com/, Origin: https://www.youtube.com, and forwarded Range headers. Some streams are tied to the parsing server IP or region.

Recommended backend request headers

User-Agent: Mozilla/5.0 Referer: https://www.youtube.com/ Origin: https://www.youtube.com/ Range: bytes=0-

Unsupported or unavailable content

Playlists, channels, community posts, private videos, members-only media, DRM-protected content, and region-unavailable videos are not supported.

Only process public media you have the right to use. EasyDown does not bypass privacy controls, DRM, deleted content, or platform access restrictions.

Platform-specific troubleshooting

Merge separate video and audio streams when a selected quality has no audio.

Re-parse the source URL when a signed stream expires or returns 403.

Use an accessible backend region for region-limited public media.

REST integration workflow

  1. 1

    Create a private API token and allow this platform in its permissions.

  2. 2

    POST one complete public post URL to the shared endpoint.

  3. 3

    Select and proxy the required items from images, videos, and audios.

Download API questions

Which YouTube URLs does the download API support?

Supported public single-post formats include youtube.com/watch?v={id}, youtu.be/{id}, youtube.com/shorts/{id}, youtube.com/live/{id}. Playlists, channels, community posts, private videos, members-only media, DRM-protected content, and region-unavailable videos are not supported.

What media does the YouTube Download API return?

Videos can include progressive files and video-only streams. Separate audio candidates are returned in audios[]; high-quality DASH results may require FFmpeg merging after both streams are downloaded.

How should my application download returned YouTube media URLs?

Fetch media from your backend with a browser User-Agent, Referer: https://www.youtube.com/, Origin: https://www.youtube.com, and forwarded Range headers. Some streams are tied to the parsing server IP or region.

How is a successful YouTube API request billed?

A response containing at least one image, video, or audio URL costs 1 credit. Failed, unsupported, authentication, and empty-media results do not consume credits.