How to Sync Trading 212 to Notion
There are two ways to get your Trading 212 holdings into a Notion database that's actually useful: rebuild it by hand every so often, or wire it up once so it updates itself. Here's both.
Option 1: the manual database
This works fine if you check in weekly rather than daily. Create a Notion database with these properties — this is the schema that holds up over time without needing to be redesigned:
- Asset — title property, the ticker or company name
- Currency — select (USD / EUR / GBP)
- Price — number
- Quantity — number
- Value — a formula property:
prop("Price") * prop("Quantity") - Last Updated — date, so you can tell at a glance how stale a row is
Trading 212 doesn't have a built-in CSV export for live positions (only for historical orders), so updating this means opening the app and re-typing price and quantity per holding. Fine for a handful of positions checked occasionally; tedious past that.
Option 2: an API-driven sync
Trading 212 has a public API (Settings → API (Beta) in the app) that returns your live portfolio as JSON — no scraping, no CSV. To build something against it yourself:
- Create a key with the portfolio scope, read-only
- Auth is HTTP Basic — Key ID as the username, Secret Key as the password. (Most examples floating around treat it as a bare bearer token; that 401s. It's Basic auth.)
GET /api/v0/equity/portfolioreturns your current positions- Write each position into the Notion database above via the Notion API (
POST /v1/pagesfor new rows,PATCH /v1/pages/{id}to update existing ones, matched by ticker) - Run it on a schedule — a daily cron job is enough for most people; markets don't need second-by-second tracking in a Notion page
The one setting worth knowing about ahead of time: if you turn on the key's optional IP restriction, it will silently block any server that isn't running from that fixed address — including most cron/serverless hosts, which don't have one. Leave it off unless you're running the sync from a machine with a static IP.
Or skip building it
This is exactly what PortfolioSync automates — connect Trading 212 once, pick Notion as the destination, and it creates the database and keeps it updated every morning. Read-only the whole way through; it can never place a trade.
Or skip the manual setup — PortfolioSync keeps this synced automatically, every morning.
Get started — €8.90/mo