A TD API for your own accounts.
Connect TD once with a login at the bank. Read your transactions, balances, investment holdings, investment trades, and loan balances as JSON with a scoped key, or ask an AI agent over MCP. Built for one person, not a fintech.
- read-only
- 2 years of history
- from US$7/mo
$curl https://api.banksync.io/v1/banks/bnk_td/accounts/acc_3912/transactions?from=2026-09-01 \ -H "X-API-Key: bsk_live_…" { "success": true, "data": [ { "date": "2026-10-08", "description": "Loblaws #1029", "amount": -92.64, "category": "Groceries" }, { "date": "2026-10-07", "description": "Tim Hortons", "amount": -6.45, "category": "Dining" }, …44 more ], "meta": { "count": 46, "hasMore": false }}200 OK · 46 rows · 121 ms
TD and personal API access
TD does not hand customers an API key for their own accounts; the route that works today is a Plaid-connected login, which is what BankSync uses.
You sign in at TD and approve access; the connection runs through Plaid, and your key reads the data back as JSON. Canada’s Consumer-Driven Banking framework is legislated but not live yet, so there is no regulated consent screen to use instead.
What you get in Canada
- Data
- Transactions, balances, investment holdings, investment trades, and loan balances. Read-only.
- History
- Up to 2 years on the first sync.
- Consent
- Does not expire. Disconnect any time.
- Framework
- Consumer-Driven Banking · Department of Finance Canada
- Provider
- Connections run through Plaid. Canada’s Consumer-Driven Banking framework is not live yet (its regulations were proposed in June 2026), so access today runs on the provider’s data-sharing agreements with each bank.
How it works
- 1
Connect your own bank
Sign up, then connect TD through your bank's own consent screen.
- 2
Create an API key
Workspace › Developers. Give it only the scopes it needs; revoke it any time.
banks:read - 3
Make your first call
Read transactions, balances, investment holdings, investment trades, and loan balances as JSON with one GET request and your key in the X-API-Key header.
- 4
Or ask an AI agent
Point Claude, ChatGPT or Cursor at the MCP server and ask questions about the same data.
MCP
Call it your way
$curl -s "https://api.banksync.io/v1/banks/bnk_td/accounts/acc_3912/transactions?from=2026-09-01" \ -H "X-API-Key: bsk_live_…" \ | jq '.data[] | {date, description, amount}'
import osimport requests r = requests.get( "https://api.banksync.io/v1/banks/bnk_td/accounts/acc_3912/transactions", params={"from": "2026-09-01"}, headers={"X-API-Key": os.environ["BANKSYNC_API_KEY"]},)r.raise_for_status()for row in r.json()["data"]: print(row["date"], row["description"], row["amount"])
const res = await fetch('https://api.banksync.io/v1/banks/bnk_td/accounts/acc_3912/transactions?from=2026-09-01', { headers: { 'X-API-Key': process.env.BANKSYNC_API_KEY },})if (!res.ok) throw new Error(`BankSync API ${res.status}`)const { data } = await res.json()console.table(data)
you ›How much did I spend eating out in September?mcpget_transactions({ bankId: "bnk_td", accountId: "acc_3912", from: "2026-09-01" })agent ›C$284.75 across 19 transactions; Tim Hortons was the most frequent (9 visits). — same key, same data, in Claude, ChatGPT or Cursor —
API access from $7/mo
Standard includes 5 bank connections, 10 API requests a minute and the MCP server. Every plan starts with a 14-day free trial. Prices shown in USD.
Frequently asked questions
Does TD offer a personal API?
TD does not hand customers an API key for their own accounts; the route that works today is a Plaid-connected login, which is what BankSync uses.
What data can I read from my TD accounts?
Transactions, balances, investment holdings, investment trades, and loan balances, read-only, as JSON. The first sync reaches back up to 2 years of transactions, depending on how much TD makes available.
How long does consent last?
No scheduled expiry: the connection does not expire. TD may occasionally ask you to sign in again; the app asks you to reconnect when that happens. You can disconnect at any time.
Is the API read-only?
Yes. The connection your bank grants is read-only: BankSync can read account data, and it cannot move money, make payments or change anything at your bank. Your API key reads the same data, scoped to the permissions you give it.
Can I use my TD data with Claude or ChatGPT?
Yes. The same read-only data is available over BankSync’s MCP server: point Claude, ChatGPT or Cursor at it and ask about your TD transactions in plain English. It is included from the Standard plan.
What about TD business accounts?
Which business and commercial accounts TD shares varies, so we do not promise them here. Contact support with your account type before you rely on it, and we will tell you what connects.
Related reading
- Canadian open banking API →What the API returns in Canada, plans and the full endpoint list.
- TD on BankSync →How TD connects, the data it returns and where you can send it.
- Canadian bank coverage →Every Canadian bank you can connect, with the data each one returns.
- MCP server →The same data in Claude, ChatGPT, Cursor and VS Code.
Read your TD data tonight
Connect TD, create a scoped key, and read your own data as JSON.