API Documentation
Developer Resources

Integrate our platform into your applications with our powerful RESTful API. Access analytics, manage resources, and automate workflows programmatically.

Getting Started

Get up and running with our API in minutes

API Base URL

https://pdf-to-qbo.com/api

All API requests must be made to this base URL. You'll need an API key from your Pro account dashboard.

Authentication

Include your API key in the request header:

Authorization: Bearer YOUR_API_KEY

💡Get Your API Key

API access is available for Pro plan subscribers. Sign up and get access to batch PDF conversion via API.

View Pricing Plans

API Endpoints

Complete reference for all available endpoints

POST

Convert PDF to QBO

/convert

Convert a PDF bank statement to QuickBooks Online (QBO) format. Upload your PDF and receive a QBO file ready for import.

Request

Content-Type: multipart/form-data

Use file for a single PDF, or repeat files for multiple PDFs from the same statement period — they are merged into one QBO (max 10 files, 10MB each). If the batch mixes different banks, the API returns 400 with code: "MULTI_BANK_BATCH" (no QBO generated).

file: <single PDF>   OR   files: <PDF> (repeat field name "files")
bank: optional, e.g. "chase", "bofa", "wells_fargo"

Response

{
  "success": true,
  "data": {
    "jobId": "conv_abc123",
    "status": "completed",
    "downloadUrl": "https://pdf-to-qbo.com/api/convert/conv_abc123/download",
    "transactionCount": 42,
    "createdAt": "2025-03-20T10:00:00Z"
  }
}
GET

List Conversions

/convert

Retrieve a list of your conversion history with pagination support.

Query Parameters:
?page=1&limit=20
GET

Get Conversion Status

/convert/{jobId}

Get the status and details of a specific conversion job, including download URL when complete.

POST

Batch Convert PDFs

/convert/batch

Convert multiple PDF bank statements at once. Available for Pro and Enterprise plans.

{
  "files": [
    "base64_encoded_pdf_1",
    "base64_encoded_pdf_2"
  ],
  "options": {
    "outputFormat": "qbo"
  }
}

Code Examples

Quick start examples in popular languages

JavaScript (Fetch)

const formData = new FormData();
formData.append('file', pdfFile);
// Or merge split statements: pdfFiles.forEach((f) => formData.append('files', f));

const response = await fetch(
  'https://pdf-to-qbo.com/api/convert',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: formData
  }
);
const result = await response.json();

Python (Requests)

import requests

with open('statement.pdf', 'rb') as f:
    response = requests.post(
        'https://pdf-to-qbo.com/api/convert',
        headers={'Authorization': 'Bearer YOUR_API_KEY'},
        files={'file': f}
    )
# Multiple PDFs: files=[('files', open('p1.pdf','rb')), ('files', open('p2.pdf','rb'))]
result = response.json()

Rate Limits

API usage limits and quotas

Pro Plan

  • 50 conversions/month
  • Batch conversion
  • Full API access

Enterprise

  • Unlimited requests
  • Priority support
  • Custom SLA

Ready to Integrate?

Start using our API today. Get your API key from your Pro dashboard.