The command line
Downbit's app is also a command, downbit. With arguments it runs in your terminal; without, it opens the app. It uses the app's settings and sign-ins, and what it downloads shows in the app's library.
downbit https://vimeo.com/76979871 # download, as downbit getdownbit get -a <url> # audio onlydownbit get -q 720 -o ~/Movies <url> <url>
Installing it
In the app, choose Settings → Command Line → Install the downbit command. The install scripts on the download page do it for you.
Commands
| Command | Does |
|---|---|
downbit get <url>… | Download; downbit <url> does the same |
downbit info <url> | Title, formats, playlist items |
downbit formats <url> | The formats a link offers, to choose with -f |
downbit list | Downloads of the app and the command line |
downbit subs | Subscriptions: add, remove, check |
downbit settings | Show or change the app’s settings |
downbit sites | Sites with extractors of their own |
downbit ffmpeg | The FFmpeg that converts: install, remove |
downbit open [url…] | Hand links to the app, to download in its queue |
downbit browse [url] | Open the app’s browser on a page |
Downloading
downbit get downloads with the app's settings; its flags change them for that download. downbit get --help lists them all.
| Flag | Does |
|---|---|
-o, --output DIR | Folder to save into |
-a, --audio | Keep the audio alone (M4A) |
-q, --quality Q | best, 2160, 1440, 1080, 720, 480, 360 |
-f, --format IDS | Formats by ID from downbit formats, as 137+140 |
--to FORMAT | mkv, mov, webm, mp3, opus, flac or wav |
-i, --input FILE | The links in FILE, one a line; - reads stdin |
--items 1,3,5-7 | Choose playlist items |
--section 1:00-2:30 | Only that part; 1:00- to the end |
--subs, --sub-langs en,de | Download subtitles |
--sponsors-remove default | Cut out SponsorBlock’s parts; --sponsors-mark makes them chapters |
--name TEMPLATE | {title} {site} {author} {quality} {date} {id} |
--cookies FILE | A Netscape cookie file instead of the app’s sign-ins; --no-cookies for none |
--rate 2M | Speed limit |
--proxy URL | As socks5://127.0.0.1:1080 |
A live stream records until Ctrl-C, which saves the file; a second Ctrl-C discards it.
Subscriptions
downbit subs add https://www.youtube.com/@channeldownbit subs # the subscriptions, numbereddownbit subs check # download what’s newdownbit subs remove 2
To check when the app is closed, run it from cron, launchd or Task Scheduler:
0 * * * * downbit subs check --quiet # every hourSettings
The command line and the app share their settings. downbit settings lists each, with what it does; give a name and a value to change one.
downbit settingsdownbit settings quality 1080
For scripts and agents
Every command takes --json. downbit get --json writes one event per line: start, info, progress, process, done, and error or stopped.
{"event":"start","url":"https://…"}{"event":"info","title":"…","site":"Vimeo","quality":"1080p","ext":"mp4","path":"/Users/…/Title.mp4"}{"event":"progress","fraction":0.42,"downloaded":44040192,"total":104857600,"speed":6291456,"eta":9}{"event":"process","stage":"Merging"}{"event":"done","path":"/Users/…/Title.mp4","size":104857600,"seconds":17.2}
--quiet prints only the paths of the files, one a line.
Exit codes
| Code | Means |
|---|---|
0 | Done |
1 | A download failed |
2 | Bad usage |
130 | Stopped with Ctrl-C: run it again to resume |