Skip to content
Product · Developer

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.

Ledgersync API preview
Overview

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.

10,000+
U.S. financial institutions
7,000+
Banks with PDF statements
99.9%
Target API uptime

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.

REST endpoints

A REST endpoint for every module.

Authenticate with a bearer token, pass standard JSON, and paginate with cursors. Full reference in the developer portal.

MethodPathDescription
GET/v1/clientsList every client in your firm.
GET/v1/clients/{id}/accountsAll bank, card, and loan accounts for a client.
GET/v1/transactionsFetched transactions, filterable by client, account, and date range.
GET/v1/statementsPDF bank statements with download URLs.
GET/v1/checksCleared check images (front + back) and deposit slip details.
POST/v1/ocr/statementsRun OCR on any PDF statement and receive structured rows.
POST/v1/webhooksRegister webhook endpoints for transaction, statement, and check events.
Code samples

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.

List transactions (cURL)bash
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"
List transactions (Node.js)javascript
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`);
Download a check imagebash
curl https://api.ledgersync.com/v1/checks/chk_7421/image \
  -H "Authorization: Bearer $LEDGERSYNC_API_KEY" \
  -o check-7421.png
OCR a PDF statementbash
curl https://api.ledgersync.com/v1/ocr/statements \
  -H "Authorization: Bearer $LEDGERSYNC_API_KEY" \
  -F "file=@./april-statement.pdf"
Webhooks

Signed events the moment data changes.

Every webhook is signed with HMAC-SHA256. Verify the signature, parse JSON, ship.

transaction.created

Fires every time a new transaction is fetched from the bank.

statement.available

Fires when a new PDF statement lands for a client account.

check.image.ready

Fires when a cleared check image is archived.

connection.broken

Fires when a bank connection needs client re-authentication.

What you get

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