For developers & agents
Statement parsing built to be called by AI agents
Bookkeeping, lending and underwriting agents are being handed real financial documents right now — and every one of them needs a clean, trustworthy read of a PDF. Ledgerary exposes the exact engine behind the site as a REST API and a hosted MCP server, so an agent calls a tool instead of hallucinating a transaction list.
Quickstart
One key, one call
Get a key at /signup (free account, no card — API access itself is a Pro+ feature), then POST a statement.
request
curl -X POST https://ledgerary.com/api/v1/extract \ -H "Authorization: Bearer nmr_live_..." \ -F "file=@statement.pdf"
response 200
{
"extraction_id": "ext_9f3ac1d0",
"status": "completed",
"meta": { "institution": "Northgate Bank", "currency": "USD", ... },
"transactions": [ { "date": "2026-05-02", "amount": -6.75, ... } ],
"totals": { "debits": -1832.67, "credits": 3374.99 },
"balance_check": "passed",
"confidence": 0.97,
"page_count": 2,
"request_id": "req_9f3ac1d0"
}Built for agents
Six things an agent needs from an API
Single-key auth
One API key unlocks the REST API and the MCP server. No OAuth dance, no per-endpoint credentials — a bearer key you generate once in Settings.
Machine-readable docs
A full reference, a spec at /api/openapi, and a plain-text summary at /llms.txt so an agent can onboard itself without a human reading a page first.
Safe by default
Anonymous calls work for a dry run, throttled per IP. Every key is scoped to your plan's rate limit, so a misbehaving agent loop can't run up an unbounded bill.
Reliable & inspectable
Errors are always structured JSON with a stable code, every response carries a request_id for tracing, and idempotency keys make retries safe. Pro+ plans get an exportable request log.
Trust surfaces on every call
Every extraction returns its balance_check against the statement's own totals plus a confidence score — so an agent can decide whether to trust a result or flag it for review, not just get a number back.
Usage-metered pricing
Priced per page, not per seat — see the machine-readable pricing endpoint or the plans page.
REST API
Every endpoint
Base URL https://ledgerary.com/api/v1. Optional for /extract and /pricing (anonymous = throttled trial, no API/MCP access on Free). Send `Authorization: Bearer nmr_live_…` (or `x-api-key`) for a Pro/Scale key.
/api/v1/extract
Extract every transaction from a bank/card statement PDF — balance-checked, with a confidence score.
curl -X POST https://ledgerary.com/api/v1/extract \ -H "Authorization: Bearer nmr_live_..." \ -F "file=@statement.pdf"
/api/v1/extractions
Pro+List the caller's own saved extractions, newest first.
curl https://ledgerary.com/api/v1/extractions -H "Authorization: Bearer nmr_live_..."
/api/v1/extractions/{id}
Pro+Get one saved extraction with its full transaction list.
curl https://ledgerary.com/api/v1/extractions/EXTRACTION_ID -H "Authorization: Bearer nmr_live_..."
/api/v1/extractions/{id}/export
Pro+Download a saved extraction converted to Excel, CSV, JSON, QuickBooks, Xero or Sage.
curl -OJ "https://ledgerary.com/api/v1/extractions/EXTRACTION_ID/export?format=excel" -H "Authorization: Bearer nmr_live_..."
/api/v1/pricing
Machine-readable pricing — plans, included pages, per-page overage, rate limits and features.
curl https://ledgerary.com/api/v1/pricing
Ledgerary is a document-conversion tool: it extracts the data already present in the files you upload. It is not accounting, tax, lending or financial advice. Automated extraction can misread low-quality scans — always review the results (Ledgerary flags a balance mismatch and a confidence score on every job) before you rely on them.
Usage-metered pricing
Priced by the page, not the seat — Pro includes 500 pages/mo then $0.10/page, Scale includes 5,000/mo then $0.05/page. See /api/v1/pricing for the machine-readable version.
See plans & quotas