SnapTrade

One API for reading brokerage holdings and placing orders at supported brokers.

Last updated

From
$1/mo
Free tier
Yes
Latency
Realtime
Non-US markets
Yes

What it is

SnapTrade is a REST API from Passiv Inc., which trades as SnapTrade, sitting between an application and its users' brokerage accounts. Your backend registers a user, hands them a hosted Connection Portal to log into their broker, and then reads normalised accounts, balances, positions, orders and transaction history through one schema — and, where the broker supports it, places equity, option and crypto orders.

Two customer models share the API. Commercial integrations create one SnapTrade user per end user and are billed for them; SnapTrade Personal is free, covers an individual's own accounts, and is the only mode the vendor's hosted MCP server works in.

The question to settle first is not whether SnapTrade supports your broker but what "supports" means for it: read access and trade access are separate grants, and the list is uniform in neither.

Pricing

Starter is free: five connected accounts, real-time data, trading included, Discord support. Past that the model is per connected user per month — $1 for daily data, which is read-only, or $2 for real-time data with trading. A user counts once however many brokers they link. No contract, no annual plan; invoices are generated on the 1st for the previous month.

Two charges catch people: manual refreshes on the daily plan are $0.05 each, and a broken connection keeps billing until you delete it, because SnapTrade retains it so the user can reconnect. Custom plans add volume tiers — the published example steps $2.00 to $1.75 above 100 users and $1.50 above 500 — higher rate limits, and possibly a platform fee or monthly minimum. Tax lots are a paid add-on with no published price, and Tradier charges developers a one-time $500 fee.

Data & coverage

Forty integrations on 13 September 2026: 25 reachable from the US, 11 Europe, 10 Canada, 7 Australia, 7 India. Sixteen support trading. Crypto comes from exchanges rather than brokers — Coinbase, Binance and Kraken, all three trade-enabled.

Positions return stocks, ADRs, ETFs, mutual funds, closed-end funds, bonds, crypto, futures, options and CFDs; future-option positions are beta, at tastytrade and Interactive Brokers only. Transaction history is whatever the broker exposes — often years, sometimes the account's whole life — with no lookback window of SnapTrade's own. Cost basis arrives as tax_lots on stock, ADR, ETF, mutual fund and crypto positions, only at brokers that support lots and only once you enable the add-on.

Refresh is pull, not stream. Real-time plans hit the broker when you call a holdings endpoint, and the vendor asks you to poll no more than once per ten minutes per account; daily plans serve a cached snapshot and signal completion by webhook. Transactions are cached and a day behind on every plan — for intraday activity you read orders instead. The rate limit is 250 requests a minute per client, with a soft ceiling of one order per second per account.

Integrations

Official SDKs for TypeScript, Python, Java, Ruby, C#, PHP and Go, a CLI, and a sandbox brokerage for end-to-end testing. Webhooks fire on connection attempted, added, broken and fixed, on the daily holdings sync, on new transactions and on trade detection. The hosted MCP server is read-only and scoped to SnapTrade Personal accounts, not developer keys.

Limitations

  • Trading is the minority case. Twenty-four of forty integrations are read-only, including Fidelity, Vanguard US, Robinhood, Interactive Brokers and Questrade.
  • The eleven brokers that need per-app approval — Chase, Citi, Edward Jones, Empower, Fidelity, PNC, Schwab, TIAA, Transamerica, US Bank, Wells Fargo — are read-only without exception, and six of them are still labelled alpha or beta.
  • Schwab trading, Alpaca, TradeStation and Tradier require API keys you obtain from the broker yourself. Alpaca approval runs about four weeks and excludes Canadian developers; Tradier tokens expire after 24 hours unless you separately get refresh tokens approved.
  • Ten integrations are credential-based — the end user types their brokerage login into the portal. Those are the ones that break when a broker changes its login flow; the vendor publishes the mechanism per broker but no break rate. A reconnect flow is mandatory, and a disabled connection keeps returning its last cached state rather than erroring.
  • No intraday transactions at any price, and controlling when transactions sync is a custom-plan conversation.
  • Absences worth checking: Merrill Edge, Ally Invest and M1 Finance in the US; RBC Direct Investing and Scotia iTRADE in Canada, where the bank-owned brokers that are present are all read-only and credential-based.

Alternatives

Plaid Investments and Yodlee reach investment accounts as part of a much wider banking footprint, but neither places orders; in Canada Wealthica Business covers the bank-owned brokerages. If you only need holdings for a tracker, the broad aggregators are usually cheaper. SnapTrade earns its price when you need the write side.

Specs

Interfaces
API, webhooks, Python, MCP server
Export
JSON, API
Asset classes
Stocks, ETF, Options, Futures, Crypto, Bonds, Mutual funds
Markets
US, CA, UK, EU, AU, Asia
Platforms
Web, CLI, Library
AI features
None
Capabilities
Live trading, Paper trading, Broker import
Pricing verified
Capabilities verified
Coverage verified

Also worth comparing

  • Mastercard Open FinanceThe old Finicity API under Mastercard's name, with holdings on the account object.
  • AkoyaBank-owned API network for consumer-permissioned account and holdings data. No scraping.
  • MXBank-grade aggregation API with investment holdings billed as its own product.
  • Plaid InvestmentsRead-only holdings, cost basis and investment transactions from 3,200 brokerages.
  • Wealthica BusinessCanadian wealth aggregation — 125 published providers, positions, transactions, CUSIP.
  • YodleeLong-running aggregation platform whose holdings carry CUSIP, ISIN and SEDOL.

FAQ

Can SnapTrade place trades at every brokerage it connects to?

No, and this is the fact the integration list hides. Of the 40 integrations published on 13 September 2026, 16 are read-and-trade and 24 are read-only. Fidelity, Vanguard US, Robinhood, Interactive Brokers, Questrade, Chase and Wells Fargo are all read-only. Schwab is read-only unless you bring your own Schwab commercial API key.

What does SnapTrade cost?

The Starter plan is free for five connected accounts with real-time data and trading. Beyond that it is usage-based — $1 per connected user per month for daily, read-only data, or $2 for real-time data with trading, billed monthly in arrears with no contract. Volume tiers and higher rate limits are a custom plan.

Does SnapTrade use OAuth or the user's brokerage password?

Both, depending on the broker, and the vendor publishes which per integration. Of 40 integrations, 26 use OAuth, 10 ask the end user for their brokerage login credentials, and 4 — Binance, Interactive Brokers, Kraken and Trading212 — require the end user's own broker-issued API keys.

How fresh is the data SnapTrade returns?

Holdings depend on the plan — real-time plans fetch from the brokerage when an endpoint is called, daily plans serve a cache refreshed once a day. Transactions are the exception on both plans — cached, synced once daily and delayed by one day, with no intraday option at any price.