StmtReady API

Programmatic access to the same conversion pipeline used on the website. Upload a PDF over HTTPS — the API encrypts it automatically. No person opens your statements. Everyday website conversions stay free without a key; API calls require the batch plan.

1. Get an API key

  1. Sign in with Google.
  2. Start a batch plan — contact us.
  3. Open Settings and generate a key. The full key is shown once and looks like stmt_live_YOUR_KEY.

Call every endpoint with Authorization: Bearer stmt_live_YOUR_KEY.

2. Upload a PDF

Send the PDF as multipart field file over HTTPS. The API generates an encryption key, encrypts the file at rest, and decrypts it only in memory to parse and repair. Plaintext is discarded when the job finishes. No person opens your statement. You do not need to encrypt the file yourself, and you do not send X-File-Dek.

3. Endpoints

Quota: 100 pages per month shared with the batch plan. Unsubscribed accounts receive HTTP 402.

curl example

curl -sS -X POST https://stmtready.com/v1/jobs \
  -H "Authorization: Bearer stmt_live_YOUR_KEY" \
  -F "[email protected];type=application/pdf"

curl -sS "https://stmtready.com/v1/jobs/JOB_ID" \
  -H "Authorization: Bearer stmt_live_YOUR_KEY"

curl -sS "https://stmtready.com/v1/jobs/JOB_ID/export?format=csv" \
  -H "Authorization: Bearer stmt_live_YOUR_KEY" -o out.csv

Python example

import requests

r = requests.post(
    "https://stmtready.com/v1/jobs",
    headers={"Authorization": "Bearer stmt_live_YOUR_KEY"},
    files={"file": ("statement.pdf", open("statement.pdf", "rb"), "application/pdf")},
)
print(r.json())
job_id = r.json()["job_id"]
status = requests.get(
    f"https://stmtready.com/v1/jobs/{job_id}",
    headers={"Authorization": "Bearer stmt_live_YOUR_KEY"},
)
print(status.json())
Advanced: client-side encryption (optional)

The website browser upload still encrypts in the browser before POST /api/jobs. API callers may optionally send AES-256-GCM ciphertext with form fields algorithm, iv, and header X-File-Dek. That path is not required for normal integrations.

Email [email protected].

Contact View plans