> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redbark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Brokerage Accounts

> Connect brokerage accounts to access holdings and trade history. See which brokerages support holdings, trades, or both.

Brokerage connections let you pull live portfolio data from your investment accounts. Unlike banking connections that sync transactions, brokerage connections provide access to your current holdings and trade history.

<Info>
  Brokerage accounts are available on the **Professional plan** (or during an active trial on any plan). See [pricing](https://redbark.com/pricing) for details.
</Info>

## Supported brokerages

Not all brokerages support both holdings and trades. The table below shows what each brokerage supports through SnapTrade.

### Brokerages

| Brokerage                           | Holdings | Trades |
| ----------------------------------- | -------- | ------ |
| AJ Bell                             | Yes      | Yes    |
| Alpaca                              | Yes      | Yes    |
| BUX                                 | Yes      | No     |
| CommSec                             | Yes      | No     |
| DEGIRO                              | Yes      | Yes    |
| E\*TRADE                            | Yes      | Yes    |
| Empower                             | Yes      | No     |
| Fidelity Investments                | Yes      | Yes    |
| Interactive Brokers                 | Yes      | No     |
| J.P. Morgan Self-Directed Investing | Yes      | Yes    |
| Moomoo                              | Yes      | Yes    |
| Public.com                          | Yes      | Yes    |
| Questrade                           | Yes      | Yes    |
| Robinhood                           | Yes      | Yes    |
| Charles Schwab                      | Yes      | Yes    |
| Stake                               | Yes      | Yes    |
| tastytrade                          | Yes      | Yes    |
| TradeStation                        | Yes      | No     |
| Tradier                             | Yes      | Yes    |
| Trading 212                         | Yes      | Yes    |
| Upstox                              | Yes      | No     |
| Vanguard                            | Yes      | Yes    |
| Wealthsimple                        | Yes      | Yes    |
| Webull (US)                         | Yes      | Yes    |
| Webull (Canada)                     | Yes      | Yes    |
| Wells Fargo Advisors                | Yes      | No     |
| Zerodha                             | Yes      | Yes    |

### Crypto exchanges

| Exchange | Holdings | Trades |
| -------- | -------- | ------ |
| Binance  | Yes      | Yes    |
| Coinbase | Yes      | Yes    |
| Kraken   | Yes      | Yes    |

<Info>
  Brokerage support is provided by [SnapTrade](https://snaptrade.com). Availability may change as SnapTrade adds or updates integrations.
</Info>

## Data available

<Columns cols={2}>
  <Card title="Holdings" icon="chart-pie">
    Current positions across your investment accounts: symbol, quantity, average price, market value, and unrealised P\&L.
  </Card>

  <Card title="Trades" icon="arrow-right-arrow-left">
    Historical trade records: buys, sells, quantities, prices, fees, and settlement dates.
  </Card>
</Columns>

## How it works

Brokerage data is fetched live from your broker each time you request it. No investment data is stored on Redbark servers.

When you connect a brokerage account, Redbark links to your broker through SnapTrade. SnapTrade handles the authentication with your brokerage and provides a secure connection for reading your portfolio data.

### Holdings

A holding is a single position in your portfolio. Each holding includes:

| Field           | Description                                            |
| --------------- | ------------------------------------------------------ |
| `id`            | Stable identifier for the position                     |
| `accountId`     | Brokerage account the position belongs to              |
| `accountName`   | Human-readable account name                            |
| `symbol`        | Ticker symbol (e.g. `AAPL`, `VAS.AX`)                  |
| `name`          | Security name (nullable)                               |
| `exchange`      | Exchange the security is listed on (nullable)          |
| `currency`      | ISO 4217 currency code for the position                |
| `quantity`      | Number of units held                                   |
| `averagePrice`  | Average cost basis per unit (nullable)                 |
| `currentPrice`  | Latest market price per unit (nullable)                |
| `marketValue`   | Current total value of the position (nullable)         |
| `unrealizedPnl` | Gain or loss on the position since purchase (nullable) |

<Tip>
  All monetary values are returned as strings to preserve decimal precision. Parse them as decimals in your application.
</Tip>

### Trades

A trade is a completed buy or sell order. Each trade includes:

| Field            | Description                                              |
| ---------------- | -------------------------------------------------------- |
| `id`             | Stable identifier for the trade                          |
| `accountId`      | Brokerage account the trade was placed on                |
| `accountName`    | Human-readable account name                              |
| `symbol`         | Ticker symbol                                            |
| `name`           | Security name (nullable)                                 |
| `type`           | Trade type, e.g. `buy` or `sell`                         |
| `quantity`       | Number of units traded                                   |
| `price`          | Price per unit at execution                              |
| `currency`       | ISO 4217 currency code for `price` and `totalAmount`     |
| `totalAmount`    | Total value of the trade                                 |
| `fees`           | Brokerage fees charged (nullable)                        |
| `tradeDate`      | When the order was executed                              |
| `settlementDate` | When the trade settled (nullable; T+2 for most equities) |
| `description`    | Free-form description from the broker (nullable)         |

## Connecting a brokerage account

<Steps>
  <Step title="Go to Connections">
    Open the [Connections](https://app.redbark.com/connections) page in the dashboard.
  </Step>

  <Step title="Add a brokerage connection">
    Click **Add Connection** and select **Brokerage**. This option is available on the Professional plan, or during an active trial.
  </Step>

  <Step title="Select your broker">
    Choose your brokerage from the list.
  </Step>

  <Step title="Authenticate">
    Log in to your brokerage account through the SnapTrade connection flow. Your credentials are handled by SnapTrade and are never stored on Redbark servers.
  </Step>

  <Step title="View your accounts">
    Once connected, your brokerage accounts appear on the Connections page alongside your bank accounts. Each account shows the institution name and account type.

    Some brokerages can take a couple of days to surface accounts after the initial connection — SnapTrade runs the account fetch in the background. You'll receive an email when the accounts are ready.
  </Step>
</Steps>

## Accessing brokerage data

Brokerage data is available through the REST API:

* [List Holdings](/api-reference/holdings) returns current positions for a brokerage connection
* [List Trades](/api-reference/trades) returns paginated trade history with date filters

<Info>
  The `/holdings` and `/trades` endpoints require brokerage access: an `active` (or `past_due`) subscription on a Professional price, or an active trial on any plan. A Developer-plan key that has general API access but not brokerage gets a `403 professional_required`. A key with no API access at all (for example a Saver-plan key) gets a `403 plan_upgrade_required`.
</Info>

## Refreshing data

Holdings and trade data are fetched live from your broker on each API request. Responses are not cached, so every request reflects the latest data the broker exposes.

Both endpoints use the "heavy" rate-limit preset and a separate per-key concurrency limiter that caps in-flight requests at 4. Excess concurrent requests receive a rate-limit error until a slot frees up.

## Removing a brokerage connection

Select **Delete** from the three-dot menu on a brokerage connection card. This revokes the SnapTrade link to your broker. Any syncs that use accounts from this connection are immediately disabled. A background cleanup job then deletes only the syncs left with zero remaining accounts; a sync that still has accounts from another connection is kept.
