https://takeout.google.com/settings/takeout/custom/youtube?p...
And then a combination of pup and jq to parse the video titles from the HTML file:
cat watch-history.html \ | pup '.outer-cell .mdl-grid .content-cell:nth-child(2) json{}' \ | jq -r '.[] .children[0] | select(.tag != "br") | select(.text | startswith("https://www.youtube.com/watch?v=") | not) | .text' \ > videos.txt
https://takeout.google.com/settings/takeout/custom/youtube?p...
And then a combination of pup and jq to parse the video titles from the HTML file: