All guides

Sync Alpaca to Notion, ClickUp, or Asana

Alpaca's API is straightforward once you know which key type to generate and what the positions endpoint actually gives you.

Getting a key

  • In the Alpaca dashboard: API Keys → Generate New Key
  • Make sure you're viewing your Live account, not Paper — the two have entirely separate keys, and a Paper key will connect fine but return fake positions
  • Copy both the Key ID and Secret Key immediately — the secret is shown once

What the API returns

Auth is two headers, not Basic auth or a bearer token:

  • APCA-API-KEY-ID
  • APCA-API-SECRET-KEY

GET /v2/positions returns an array with, per holding, the symbol, quantity (qty, a string) and current price (current_price, also a string — both need parsing to numbers before you do any math on them). Alpaca is US-equities-only, so every position comes back USD-denominated; there's no currency field to read because there's only ever one currency.

Writing it to your workspace

The destination side is the same regardless of broker — Notion pages, Asana tasks, or ClickUp tasks, upserted by matching on the asset name so re-running the sync updates existing rows instead of duplicating them. If you're building this yourself, the field set that works well is Asset, Price, Quantity, Currency, and a computed Value — the same shape covered in the Notion portfolio tracker guide.

Or connect it directly

PortfolioSync handles the key generation walkthrough, the parsing, and the daily refresh — connect your Alpaca account and pick Notion, Asana, or ClickUp as the destination. It only ever calls Alpaca's read endpoints — there's no code path in it that can place an order, regardless of what permissions the key itself has.

Or skip the manual setup — PortfolioSync keeps this synced automatically, every morning.

Get started — €8.90/mo