"no matches found" error when using youtube-dl

? appears in the address. Shells use ? as a wildcard for exactly one character in filename generation.

In case there is no matching file in the current working directory, many shells would treat ? literally; your command, although not entirely robust, would probably work in such shell. But not in Zsh, it complains there in no match.

A match could be e.g. https:/www.youtube.com/watchXv=52bRYf198XY (where https: and www.youtube.com are directories; and // became /). If you happened to have an existing file with this path, your command would pass the wrong address to the tool. If there were many matches, it would pass many arguments. This behavior is obviously not what you want. Filename generation makes no sense here.

Single-quote the address to make the shell pass it to the tool verbatim:

youtube-dl --verbose 'https://www.youtube.com/watch?v=52bRYf198XY'