Quickstart

Install the BankSync CLI, log in with an API key, list your banks, and pull transactions in under a minute.

2 min read

On this page

From zero to transactions in your terminal in about a minute. This assumes you have already installed the CLI.

Authenticate with an API key, list banks, pull transactions, and pipe structured JSON into jq.

Get running

  1. Create an API key

    In the BankSync app, open Settings > Developers and create a key. Copy the bsk_ secret when it is shown, because it appears only once. See the API keys guide for scopes and expiration.
  2. Log in

    Store the key for the CLI. It is validated against your workspace before it is saved.
  3. List your banks

    Confirm the key works and see your connected institutions.
  4. Pull transactions

    List transactions for a bank, resolving the bank by name or id.
  5. Pipe to a tool

    Because output is JSON when piped, the CLI drops straight into jq, scripts, and agents.

1. Log in#

Shell
banksync login --api-key bsk_your_api_key_here

The CLI calls whoami to validate the key, then saves it to an encrypted file for future commands. You will not need to pass --api-key again on this machine.

Logged in to Acme Inc (profile: default).

2. List your banks#

Shell
banksync banks list

On a terminal you get an aligned table with a status column:

ID         NAME             SOURCE    TYPE      STATUSbnk_a1b2   Chase            plaid     personal  ● activebnk_c3d4   Amex             plaid     personal  ● activebnk_e5f6   CommBank         fiskil    personal  ◐ syncing
3 banks · workspace acme

3. Pull transactions#

Reference a bank by its id, or by name (partial names resolve):

Shell
banksync transactions list --bank amex

transactions list has a short alias, tx, and accepts a date range:

Shell
banksync tx list --bank amex --from 2026-01-01 --to 2026-03-31

4. Pipe to jq#

When stdout is not a terminal, the CLI emits its stable JSON envelope automatically, so pipelines just work with no flag:

Shell
banksync tx list --bank amex | jq '.data[] | {date, description, amount}'

You can also ask for JSON explicitly with --json (or -o json):

Shell
banksync banks list --json | jq '.data | length'

Everything is discoverable from the terminal

Run banksync --help for the full command tree, banksync <command> --help for a command's flags and examples, and banksync commands --json for a machine-readable catalog. You never have to leave the shell to find your way around.

Where to go next#

Authentication

API keys, the BANKSYNC_API_KEY env var, profiles, and where credentials are stored. Read more

Output formats

Tables for humans, JSON and NDJSON for machines, plus --fields and --sort. Read more

Syncing and jobs

Trigger syncs, watch them to completion, and inspect job history. Read more

Connecting banks

Link a new bank through the web app and wait for it to appear. Read more

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.