Skip to main content
The SimpleFIN bridge intentionally keeps using v1 for now; it is unaffected by the v1 deprecation notice and will move to API v2 in a later release.
Redbark speaks the SimpleFIN protocol, the open standard that finance apps use for bank sync. Any app with a SimpleFIN integration, including Actual Budget, Zerosum, Sure, and the Firefly III data importer, can pull your accounts, balances, and transactions from Redbark with a single setup token. No API keys, no custom bridge scripts.
SimpleFIN access requires a plan that includes SimpleFIN — Developer, Professional, or the private Zerosum plan (trials included). Banking accounts only for now; brokerage accounts are not exposed over SimpleFIN.

How it works

  1. In Settings > SimpleFIN, generate a setup token, naming it after the app you are connecting.
  2. Paste the setup token into your app’s SimpleFIN settings. The app claims it once (within 7 days) and receives its own private access credentials.
  3. The app syncs on its own schedule from then on. Revoke the connection any time from the same settings section.
Each connected app gets its own token, so revoking one never breaks another.

Transaction rules

SimpleFIN filtering is off by default. To exclude transactions you do not want imported:
  1. Open Rules, create or edit a ruleset, and add a rule with the Skip transaction action.
  2. Add an Account condition together with the description or other conditions you want to match. Conditions in the same group must all match; an OR group can match independently.
  3. Review the conditions, then open Settings > SimpleFIN and turn on that ruleset under Transaction rules.
Only enabled skip rules in active, opted-in rulesets apply. They run on every SimpleFIN read, across all your SimpleFIN app connections. A match in any opted-in ruleset hides the transaction. Pausing a ruleset or turning its SimpleFIN switch off stops filtering on subsequent requests. New and duplicated rulesets start with SimpleFIN off.
Rules match the conditions you choose. They do not identify authorization charges or prove that two records are duplicates. A description-only rule can hide legitimate, unpaired posted transactions. Avoid treating equal amounts and dates as proof of duplication, and narrow conditions to the intended account.
  • Email, category, description and other transform actions do not run in SimpleFIN. Match totals in the rules editor count destination syncs only.
  • Account balances and transaction IDs are unchanged. REST API, MCP and destination sync behaviour are unaffected by the SimpleFIN switch.
  • Pending status is preserved. pending=1 still includes genuine pending transactions unless they match an enabled skip rule; there is no automatic pending-to-posted deduplication.
  • Filtered transaction reads bypass the provider cache so Redbark can detect incomplete scans. They may take longer than unfiltered reads.
  • Rules do not delete or repair transactions already imported into your budgeting app. Back up your budget before reconciling existing entries. Turning a rule off can make previously hidden transactions available for import again.
  • Filtered requests inspect a bounded window of up to 5,000 in-window records and return up to 2,000 remaining transactions per account. If a limit is reached, the request fails rather than returning an incomplete import; request a shorter date range. If rules cannot be loaded, transactions are withheld with an error rather than returned unfiltered; balances remain available.

App setup

In Actual, open Settings → Bank Sync, choose SimpleFIN, and paste the setup token when prompted. Then link each Actual account to the matching Redbark account. Requires Actual 24.10.0 or later.

Protocol details

Redbark implements SimpleFIN protocol version 1 at:
GET /accounts supports the standard query parameters: start-date and end-date (Unix seconds), pending=1 to include pending transactions, balances-only=1, and repeatable account filters.

Limits and behaviour

  • Data is proxied live from your bank at request time; Redbark stores none of it.
  • Default transaction window is the last 30 days when the app does not send start-date; history is capped at ~7 years, matching the underlying providers.
  • Up to 2,000 transactions per account per request.
  • 300 requests per minute per connected app, sized for client backfills that burst sequentially (Firefly’s importer chunks history into 44-day windows). Requests for windows older than the history floor skip the transaction fetch and serve cached balances.
  • If one bank connection is unavailable, its accounts report Connection to <bank> may need attention in the errors array while your other accounts keep syncing.