get('videourl'); $yt = new YoutubeDl(); $collection = $yt->download( Options::create() ->downloadPath('/path/to/downloads') ->url($url) ); $videotitle = ''; foreach ($collection->getVideos() as $video) { if ($video->getError() !== null) { $error = "Error downloading video: {$video->getError()}."; $response = new \stdClass(); $response->error = $error; return response(json_encode($response)); } else { $videotitle = $video->getTitle(); // Will return Phonebloks // $video->getFile(); // \SplFileInfo instance of downloaded file $file_path = public_path('/downloads/'.$videotitle); return response()->download($file_path); } } $response = new \stdClass(); $response->error = 'No video'; return response(json_encode($response)); } }