REST access to 10,000+ U.S. banks — transactions, statements, and check images.
Build directly on the same data pipeline that powers Ledgersync. Bearer-token auth, JSON payloads, signed webhooks, and SDK-friendly endpoints for every module we ship.

The Ledgersync API is an Open Banking API that goes far beyond Plaid. Connect to 10,000+ U.S. financial institutions — with a strong focus on business banking — and pull transactions, balances, PDF statements, check images, and OCR results into your own product or internal tools.
Built on our Mastercard Open Banking partnership, the Ledgersync API gives you access to banks Plaid does not support, original PDF statements from 7,000+ institutions, and the most stable bank connections on the market today.
Why developers choose Ledgersync API
Everything your fintech or internal tool needs in one REST API.
- 10,000+ banks with deep coverage of business banking
- Transactions and balances up to 2 years back
- Original PDF bank statements from 7,000+ banks
- Check and deposit images from many banks
- OCR for bank statements via the API
- Request new banks — Ledgersync implements them for you
- Direct developer support, no chatbot wall
Simple, transparent pricing
Month-to-month, no long-term contract.
- Transactional data — $2 per end user (up to 7 bank logins)
- Statements — $20 per end user (up to 7 bank logins)
- Minimum $1,000 per month
Full documentation
Complete REST API reference, auth flows, webhook events, and example payloads available in our developer portal.
A REST endpoint for every module.
Authenticate with a bearer token, pass standard JSON, and paginate with cursors. Full reference in the developer portal.
| Method | Path | Description |
|---|---|---|
| GET | /v1/clients | List every client in your firm. |
| GET | /v1/clients/{id}/accounts | All bank, card, and loan accounts for a client. |
| GET | /v1/transactions | Fetched transactions, filterable by client, account, and date range. |
| GET | /v1/statements | PDF bank statements with download URLs. |
| GET | /v1/checks | Cleared check images (front + back) and deposit slip details. |
| POST | /v1/ocr/statements | Run OCR on any PDF statement and receive structured rows. |
| POST | /v1/webhooks | Register webhook endpoints for transaction, statement, and check events. |
Up and running in a few lines.
Copy-paste examples in cURL and Node.js. Same payloads work in any language with an HTTP client.
curl https://api.ledgersync.com/v1/transactions \
-H "Authorization: Bearer $LEDGERSYNC_API_KEY" \
-G \
-d "client_id=acct_8f3a" \
-d "start_date=2026-05-01" \
-d "end_date=2026-05-31"import Ledgersync from "@ledgersync/node";
const client = new Ledgersync({ apiKey: process.env.LEDGERSYNC_API_KEY });
const txns = await client.transactions.list({
client_id: "acct_8f3a",
start_date: "2026-05-01",
end_date: "2026-05-31",
});
console.log(`Fetched ${txns.data.length} transactions`);curl https://api.ledgersync.com/v1/checks/chk_7421/image \
-H "Authorization: Bearer $LEDGERSYNC_API_KEY" \
-o check-7421.pngcurl https://api.ledgersync.com/v1/ocr/statements \
-H "Authorization: Bearer $LEDGERSYNC_API_KEY" \
-F "file=@./april-statement.pdf"Signed events the moment data changes.
Every webhook is signed with HMAC-SHA256. Verify the signature, parse JSON, ship.
transaction.createdFires every time a new transaction is fetched from the bank.
statement.availableFires when a new PDF statement lands for a client account.
check.image.readyFires when a cleared check image is archived.
connection.brokenFires when a bank connection needs client re-authentication.
An Open Banking API built for accountants, fintechs, and product teams.
REST + JSON
Bearer-token auth, predictable JSON, paginated lists. No surprises.
All your modules, one API
Transactions, statements, OCR results, check images, and Close data — every module is exposed.
Signed webhooks
HMAC-SHA256 signatures on every delivery. Notified the moment data lands.
Sandbox & live keys
Test against a sandbox firm before flipping a single live key.
Bank-request workflow
Need a bank we don't yet support? Submit a request and we implement it.
Direct developer support
Email an engineer, not a chatbot. Reply within one business hour.
Want to learn more? Schedule a call with our team to walk through implementation.
Ready to automate the data work?
Start your 30-day free trial. Credit card required at sign-up — you won't be charged until the trial ends, and you can cancel anytime.
30 days free · credit card required · cancel anytime

