Last Updated on January 24, 2024 by Justin Su

Want to start your own YouTube video downloader website? Then you might be looking for a YouTube video downloader script.

Before checking out the list of YouTube video downloader scripts let’s check out the list of questions that you have in your mind.

YouTube Video Downloaders Are Profitable?

Yes, it is a profitable business model but for that, you need to make some promotions as it generates revenue from advertising you need lots of traffic and traffic comes from huge marketing and SEO.

If you are capable to do then you should start the YT video downloader website. Once you start receiving traffic you don’t have to spend lots of time on the website as it is automatic.

Free vs Paid Script

Free and paid scripts both come with their own features. Starting a site with free scripts come with limited features and if you want to make money from your site then you can’t monetize it properly.

Free scripts are also not getting updates on time.

Whereas paid scripts provide better themes, features, and monetization opportunities. In this article, we are going to check out both free and paid scripts.

5 Best YouTube Video Downloader Script

Following are the best and easy-to-use scripts that you can use to start your own YouTube video downloader website.

All in One Video Downloader Script

From its name, you may get to know what this script does. The script is based on WordPress hence it is very easy to use as well.

The script allows you to open a downloader site for more than 40 platforms like YouTube, Facebook, and others.

Already more than 2070 times this plugin has been sold and has a rating of 4.94 ratings out of 5 from 170 reviews.

Features:

  • WordPress plugin
  • You can use your favorite WordPress plugins
  • Automatic installation
  • Admin panel
  • Blog posts
  • Multi-language pages
  • Multi-language blog posts
  • Easy to translate
  • Advertising Ready
  • SEO Ready
  • Mobile Compatible
  • AJAX Based
  • Automatic caching
  • Multiple video resolutions
  • Social media ready
  • 100% Responsive Design
  • Free Lifetime Updates
  • And more…

Price: $39

Demo & Download Link

YT5

YT5 is a downloader script that allows your users to download videos in MP4, 3GP, WEBM, OGG, and M4A. The design is very simple and easy to use.

Users just paste their link and click on start, the site will show the latest videos related to the video link including the video from the link.

Features:

  • Search anything on YouTube inside your website
  • Support keyword search and URL search
  • Support multiple formats ( 1080p, 720p & many more )
  • Support MP4, WEBM, M4A, 3GP
  • Preview details of the video
  • Support multi-languages
  • Doesn’t need any API/Database
  • Advertising Ready
  • SEO Ready
  • Mobile Compatible
  • 100% Responsive Design
  • Free Lifetime Updates
  • Manage Youtube script from the single configuration file.
  • Responsive design
  • Quick and easy
  • Unlimited YouTube downloads
  • Safety and Security
  • Support all devices
  • Full Documentation

Price: $25

Demo & Download Link

Create Your Own PHP YT Video Downloader Script

Note: This tutorial or code has been released or found on TutsMake, all credit goes to them.

You can create your own simple download site with the following three steps.

  • First: create Index.php folder
  • Second: Create class.youtube.php
  • Third: Create a downloader.php

In the first step, you create an index.php file on your hosting and paste the below code to the index.php

Copy Below Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="container">
<form method="post" action="" class="formSmall">
<div class="row">
<div class="col-lg-12">
<h7 class="text-align"> Download YouTube Video</h7>
</div>
<div class="col-lg-12">
<div class="input-group">
<input type="text" class="form-control" name="video_link" placeholder="Paste link.. e.g. https://www.youtube.com/watch?v=OK_JCtrrv-c">
<span class="input-group-btn">
<button type="submit" name="submit" id="submit" class="btn btn-primary">Go!</button>
</span>
</div><!-- /input-group -->
</div>
</div><!-- .row -->
</form>
<?php
require_once "class.youtube.php";
$yt  = new YouTubeDownloader();
$downloadLinks ='';
$error='';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$videoLink = $_POST['video_link'];
if(!empty($videoLink)) {
$vid = $yt->getYouTubeCode($videoLink);
if($vid) {
$result = $yt->processVideo($vid);
if($result) {
//print_r($result);
$info = $result['videos']['info'];
$formats = $result['videos']['formats'];
$adapativeFormats = $result['videos']['adapativeFormats'];
$videoInfo = json_decode($info['player_response']);
$title = $videoInfo->videoDetails->title;
$thumbnail = $videoInfo->videoDetails->thumbnail->thumbnails{0}->url;
}
else {
$error = "Something went wrong";
}
}
}
else {
$error = "Please enter a YouTube video URL";
}
}
?>
<?php if($formats):?>
<div class="row formSmall">
<div class="col-lg-3">
<img src="<?php print $thumbnail?>">
</div>
<div class="col-lg-9">
<?php print $title?>
</div>
</div>
<div class="card formSmall">
<div class="card-header">
<strong>With Video & Sound</strong>
</div>
<div class="card-body">
<table class="table ">
<tr>
<td>Type</td>
<td>Quality</td>
<td>Download</td>
</tr>
<?php foreach ($formats as $video) :?>
<tr>
<td><?php print $video['type']?></td>
<td><?php print $video['quality']?></td>
<td><a href="downloader.php?link=<?php print urlencode($video['link'])?>&title=<?php print urlencode($title)?>&type=<?php print urlencode($video['type'])?>">Download</a> </td>
</tr>
<?php endforeach;?>
</table>
</div>
</div>
<div class="card formSmall">
<div class="card-header">
<strong>Videos video only/ Audios audio only</strong>
</div>
<div class="card-body">
<table class="table ">
<tr>
<td>Type</td>
<td>Quality</td>
<td>Download</td>
</tr>
<?php foreach ($adapativeFormats as $video) :?>
<tr>
<td><?php print $video['type']?></td>
<td><?php print $video['quality']?></td>
<td><a href="downloader.php?link=<?php print urlencode($video['link'])?>&title=<?php print urlencode($title)?>&type=<?php print urlencode($video['type'])?>">Download</a> </td>
</tr>
<?php endforeach;?>
</table>
</div>
</div>
<?php endif;?>
</div>
</body>
</html>

Second Step: Now create a file name with class.youtube.php and paste the below code in it.

Copy Below Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/**
* tutsmake
*
* This class narrates the functions to support download a video from YouTube
* @class YouTubeDownloader
* @author tutsmake
*
*/
Class YouTubeDownloader {
/**
* Get the YouTube code from a video URL
* @param $url
* @return mixed
*/
public function getYouTubeCode($url) {
parse_str( parse_url( $url, PHP_URL_QUERY ), $vars );
return $vars['v'];
}
/**
* Process the video url and return details of the video
* @param $vid
* @return array|void
*/
public function processVideo($vid) {
parse_str(file_get_contents("https://youtube.com/get_video_info?video_id=".$vid),$info);
$playabilityJson = json_decode($info['player_response']);
$formats = $playabilityJson->streamingData->formats;
$adaptiveFormats = $playabilityJson->streamingData->adaptiveFormats;
//Checking playable or not
$IsPlayable = $playabilityJson->playabilityStatus->status;
//writing to log file
if(strtolower($IsPlayable) != 'ok') {
$log = date("c")." ".$info['player_response']."\n";
file_put_contents('./video.log', $log, FILE_APPEND);
}
$result = array();
if(!empty($info) && $info['status'] == 'ok' && strtolower($IsPlayable) == 'ok') {
$i=0;
foreach($adaptiveFormats as $stream) {
$streamUrl = $stream->url;
$type = explode(";", $stream->mimeType);
$qualityLabel='';
if(!empty($stream->qualityLabel)) {
$qualityLabel = $stream->qualityLabel;
}
$videoOptions[$i]['link'] = $streamUrl;
$videoOptions[$i]['type'] = $type[0];
$videoOptions[$i]['quality'] = $qualityLabel;
$i++;
}
$j=0;
foreach($formats as $stream) {
$streamUrl = $stream->url;
$type = explode(";", $stream->mimeType);
$qualityLabel='';
if(!empty($stream->qualityLabel)) {
$qualityLabel = $stream->qualityLabel;
}
$videoOptionsOrg[$j]['link'] = $streamUrl;
$videoOptionsOrg[$j]['type'] = $type[0];
$videoOptionsOrg[$j]['quality'] = $qualityLabel;
$j++;
}
$result['videos'] = array(
'info'=>$info,
'adapativeFormats'=>$videoOptions,
'formats'=>$videoOptionsOrg
);
return $result;
}
else {
return;
}
}
}

Last Third Step, create file downloader.php and add the below-given code in it.

Copy Below Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$downloadURL = urldecode($_GET['link']);
//print  $downloadURL;exit;
$type = urldecode($_GET['type']);
$title = urldecode($_GET['title']);
//Finding file extension from the mime type
$typeArr = explode("/",$type);
$extension = $typeArr[1];
$fileName = $title.'.'.$extension;
if (!empty($downloadURL)) {
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment;filename=\"$fileName\"");
header("Content-Transfer-Encoding: binary");
readfile($downloadURL);
}

Youtube Video Download Script For Blogger

Do you want to start your own YouTube video download website on Blogger? Here is the code that can help you create a site on Blogger for video downloading for YouTube.

It is very simple to start such a site on Blogger, as you just have to put one code once.

  • Login to blogger
  • Go to the Theme section
  • Now revert to the classic theme from the drop-down menu
  • Click on Edit HTML
  • Remove available codes
  • Copy and paste the below code over there

Copy Below Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<!DOCTYPE html>
<head>
<title>YouTube Downloader - Download Youtube videos for free!</title>
<meta content='We offer the fastest way to save YouTube videos in mp3, mp4, or in other range of formats. <img draggable="false" role="img" class="emoji" alt="✅" src="https://s.w.org/images/core/emoji/13.1.0/svg/2705.svg"> It’s the most convenient YouTube video downloader you’ve ever tried!' name='Description'/>
<meta content='index, follow' name='robots'/>
<meta content='2 days' name='revisit-after'/>
<meta content='English' name='language'/>
<meta content='INDIA' name='geo.country'/>
<meta content='BIHAR' name='geo.placename'/>
<meta content='global' name='distribution'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='true' name='MSSmartTagsPreventParsing'/>
<meta content='general' name='rating'/>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<style id='page-skin-1' type='text/css'><!--
/*   
  -----------------------------------------------------------------------------------   
  This blog was Created & Modify by Techspreview.in   
  ----------------------------------------------------------------------------------- */
#navbar-iframe {
height:0px;
visibility:hidden;
display: none !important;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}
html {
background:#eeeeee;
text-align:center;
line-height: 1;
font-family: Georgia;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
*:focus {
outline: 0;
}
#hd {
width:100%;
height:390px;
background-image: linear-gradient(to right, #0970eb, #008fef, #00a4d8, #00b3b6, #52be9a);
margin:0 0 50px 0;
-moz-box-shadow: inset 0 -4px 10px -5px #000;
-webkit-box-shadow: inset 0 -4px 10px -5px #000;
box-shadow: inset 0 -4px 10px -5px #000;
}
h1 {
font-size:24px;
font-weight:bold;
color:#fff;
text-shadow: 1px 1px 1px #666666;
}
#hd p{
max-width:70%;
margin:20px auto;
padding:10px;
background:#2A78C3;
border: dashed #00C0C7 2px;
font-family:arial;
font-size:17px;
font-weight:bold;
line-height: 1.4;
color:#FFFFFF;
}
#hd p span{
color:#FFFF00;
}
input[type="text"]{
width:400px;
height:70px;
padding:0 0 0 10px;
border: dashed #1a1a1a 2px;
font-family: Georgia;
}
input[type="submit"]{
height:72px;
background: #66bdff;
background-image: -webkit-linear-gradient(top, #66bdff, #0d9eff);
background-image: -moz-linear-gradient(top, #66bdff, #0d9eff);
background-image: -ms-linear-gradient(top, #66bdff, #0d9eff);
background-image: -o-linear-gradient(top, #66bdff, #0d9eff);
background-image: linear-gradient(to bottom, #66bdff, #0d9eff);
border: dashed #1a1a1a 1px;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0px;
margin:0 0 0 -2px;
cursor: pointer;
font-family: Georgia;
text-decoration: none;
color: #fff;
}
input[type="submit"]:hover {
background: #f72525;
background-image: -webkit-linear-gradient(top, #f72525, #b52222);
background-image: -moz-linear-gradient(top, #f72525, #b52222);
background-image: -ms-linear-gradient(top, #f72525, #b52222);
background-image: -o-linear-gradient(top, #f72525, #b52222);
background-image: linear-gradient(to bottom, #f72525, #b52222);
}
h2{
margin:20px;
font-size:14px;
}
h3{
color:#A9A6A6;
margin:10px auto;
}
#hidden_div img{
margin:5px;
border: solid #C8312B 3px;
}
#sorry{
width:200px;
height:3opx;
margin:10px auto;
padding:10px;
background:#BA2020;
border: dashed #7E1313 2px;
color:#fff;
}
#iam{
margin:50px auto;
color:#1a1a1a;
}
.footer-copy {
margin: 50px auto;
color: #c2c2c2;
}
 ��-->
.adsbox{padding:2em;box-shadow:0 5px 15px rgba(0,0,0,.16);border-radius:5px;margin-top:1em;background:#fff;text-align:left}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
</head>
<body class=" text-center">
<div id='hd'>
<img alt='youtube thumbnail generator' src='https://1.bp.blogspot.com/-6iQK-ugxaMA/XzlEKT2IKCI/AAAAAAAAB8w/ch-bNMemZroo07x-raUTXatJH2jQZh1hACLcBGAsYHQ/s1600/aaaaaaa.png' title='High Quality YouTube Video Downloader'/>
<h1>High Quality YouTube Video Downloader</h1>
<p>YouTube Video Downloader automatically take "High Quality" Video File from YouTube URL. Paste Your YouTube Video URL in the below box and Click on "Download" button.</p>
</div>
<div class="addthis_inline_share_toolbox centersocials"></div>
<div class="adsbox container">
Place Ad Code 1
</div>
</br>
<iframe src="https://mp3downy.com/mp3-converter?apikey=89eb7d92-3622-45d7-86a0-15adb53d61f1&color=17a2b8&bg=ffffff" style="width:100%;min-height:250px;height:auto;" ></iframe>
<div class="adsbox container">
Place Ad Code 2
</div>
<div id='hidden_div' style='display:none'>
<div id='thumbnails'>
</div>
</div>
<!-- Add this Sticky Sidebar and Inline Share - By Techspreview Login to Add this and Change as per your Requirement-->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5c98f50a092025d4"></script>
<footer style="margin-top:30px; margin-bottom:20px;">
<div class='container text-center'>
<div class='footer-copy'>
<p>© Design by Techspreview.in <script>document.write(new Date().getFullYear())</script>
<span>• </span>
</br>
</br>
</div>
</div>
</div>
</footer>
</body>
</html>
youtube video downloader script for blogger