CLI Downloader
Use the interactive TickTradingData CLI downloader when you want a terminal-based bulk download workflow without manually browsing SFTP folders.
Use CLI Downloader when you want a command-line workflow for bulk downloads but still want the tool to guide the selection process for you.
The current public tool for this workflow is ttd-downloader-go.
It connects to the same TickTradingData SFTP service described in SFTP Download, but wraps that access in an interactive terminal flow with directory selection, automatic decompression, and local conflict handling.
When To Use CLI Downloader
Choose this method when:
- you prefer the terminal over a GUI SFTP client
- you want bulk transfer without manually browsing every remote folder
- you want the downloader to preserve the remote directory structure for you
- you want downloaded
.gzfiles to be decompressed automatically
If you only need one or two files manually, Web Download is faster.
If you want full manual control over the remote filesystem, SFTP Download is still the more direct method.
Build The Downloader
The safest public setup today is to clone the repository and build the binary locally.
Steps
- Clone the repository.
- Build the binary from the repository root.
- Change into the folder where you want both the local download tree and any saved
credentials.jsonto live. - Run the built binary from there.
git clone https://github.com/ticktradingdata/ttd-downloader-go.git
cd ttd-downloader-go
go build -o ./dist/ttd-downloader
cd /path/to/your/download-folder
/path/to/ttd-downloader-go/dist/ttd-downloader
If you prefer go run, start it from the folder where you want the local files and saved credentials to land:
cd /path/to/your/download-folder
go run /path/to/ttd-downloader-go/main.go
What The CLI Does
The downloader is interactive. Instead of writing remote paths manually, you choose them from prompts inside the terminal.
Typical flow
- Start the tool from your target download folder.
- Enter your TickTradingData SFTP credentials, or reuse saved credentials if they already exist.
- Choose a format under data, such as csv, parquet, or stats.
- Select one or more directories with the interactive picker.
- Confirm the selection and let the downloader transfer the files.
- Work with the decompressed local files after the download finishes.
What Happens Locally
The tool is designed to leave you with a ready-to-use local tree instead of raw SFTP artifacts.
| Behavior | What to expect |
|---|---|
| Download location | run the tool from the folder where you want the files saved |
| Local structure | the downloader preserves the useful remote folder structure under your current folder |
.gz handling | downloaded .gz files are decompressed automatically and the compressed copy is removed |
| Conflicts | if a target file already exists, the tool asks whether to overwrite, skip, or skip all |
| Saved credentials | if you choose to save them, the tool writes credentials.json in the current working directory |
Relationship To Other Methods
Each download method fits a different style of work.
| Method | Best for | Best next page |
|---|---|---|
| Web | a few manual daily downloads from the app | Web Download |
| SFTP | browsing folders directly with a file client or terminal SFTP client | SFTP Download |
| CLI Downloader | interactive terminal-based bulk transfer with less manual navigation | CLI Downloader |
Practical Advice
- Run the CLI from a folder you trust, because both the downloaded files and any saved
credentials.jsonlive under the current working directory. - Use it for repeatable terminal sessions, not for one-click downloads from the browser.
- If you already know you want a GUI and direct remote browsing, go back to SFTP Download.
