API Documentation

Developer API

Convert bank statements programmatically with our RESTful API

Quickstart

Get started in 5 minutes

SDKs

JavaScript, Python, Go

Webhooks

Real-time notifications

Authentication

Authenticate using your API key in the Authorization header

Example request
curl -X POST https://api.perfectconvertly.com/v1/convert \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file": "base64_encoded_file", "format": "csv"}'

Convert a Bank Statement

POST /v1/convert — Convert a bank statement to CSV, Excel, or JSON

const response = await fetch(
  'https://api.perfectconvertly.com/v1/convert',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      file: base64File,
      format: 'csv',
      detect_duplicates: true,
      categorize: true,
    }),
  }
);

const result = await response.json();
console.log(result.transactions);

Response

{
  "id": "conv_abc123",
  "status": "completed",
  "transactions": [
    {
      "date": "2024-01-15",
      "description": "WHOLE FOODS MARKET",
      "amount": -87.43,
      "type": "debit",
      "category": "Groceries",
      "balance": 3421.56
    }
  ],
  "credits_used": 1,
  "output_url": "https://..."
}

Endpoints

All available API endpoints

POST
/v1/convertConvert a bank statement file
GET
/v1/conversionsList your conversions
GET
/v1/conversions/:idGet a specific conversion
GET
/v1/creditsCheck your credit balance
POST
/v1/webhooksCreate a webhook endpoint
GET
/v1/webhooksList your webhooks
DELETE
/v1/webhooks/:idDelete a webhook

Rate Limits

API rate limits by plan

Free5 requests / day
Pro100 requests / minute
Business500 requests / minute