15

I want to download videos from a YouTube search query using youtube-dl. Suppose I want videos from the search query https://www.youtube.com/results?q=how+to+create+android+app+in+android+studio.

How can I download query-based videos from YouTube as well as other video sites? This is what I've tried, and it leads to the following error: error

Falko
  • 241
Madhav Nikam
  • 2,907
  • As Mike Mckay answered, try youtube-dl "gvsearchX:search words here". Replace 'X' with a number. If you would prefer a website that allows downloading audio/video from YouTube instead, then I recommend offliberty.com. – David your friend Feb 02 '17 at 07:16

4 Answers4

15

There is a built-in search option for youtube-dl. Old way:

youtube-dl "gvsearch1:how to create android app in app studio"

The argument is: gvsearchX, where gvsearch means use google and X is the number of results you want to download. So the above will search for "how to create android app in app studio" and download the first result.

(Update!) Seems like ytsearch (youtube search) is the better approach now:

youtube-dl "ytsearch1:how to create android app in app studio"
9

Yes, it is possible to download videos from search query on YouTube.

Adding &page=1 to the previous query allowed the download to go through.

https://www.youtube.com/results?search_query=how+to+create+android+app+in+android+studio&page=1

page 1

Madhav Nikam
  • 2,907
  • 2
    That CANNOT be how you fixed it as youtube-dl would never see the &page=1 as you did not quote the URL! You assigned the value 1 to the shell variable $page, then ran youtube-dl as background process 4816. – Martin Thornton Apr 03 '17 at 19:41
6

Besides the before-mentioned possibility to use google video search via gvsearch you can also search directly on YouTube:

youtube-dl "ytsearch1:how to create android app in app studio"

I didn't find it anywhere documented, but recently an error message pointed me into the right direction.

Falko
  • 241
  • 1
    I'd like to point out that you can watch directly the video with mpv "ytdl://ytsearch1:how to create android app in app studio" – ivanxuu Aug 09 '19 at 13:41
4

For audio tracks, you might also find useful this script to read lines of a plain text file (for example with author and title of themes) and download them to mp3:

#!/bin/bash
youtubedlaudio='youtube-dl --output "%(title)s.%(ext)s" --extract-audio --audio-format mp3 --audio-quality 0'

while IFS='' read -r line || [[ -n "$line" ]] && [[ -n "$line" ]]; do $youtubedlaudio "ytsearch:$line" # Or with gvsearch1 done < "$1"

Related: Can I directly download audio using youtube-dl?

Pablo Bianchi
  • 15,657