Introduction

Welcome to the Bolt Receipt API documentation. Our API provides powerful receipt parsing capabilities with industry-leading accuracy and speed.

With Bolt Receipt API, you can:

Authentication

All API requests must include your API key in the X-API-Key header. You can generate and manage API keys from your dashboard.

Header
X-API-Key: your_api_key_here

Quick Start

Here's a simple example to get you started with parsing your first receipt:

cURL
curl -X POST https://api.bolt-receipt.com/v1/parse \
  -H 'X-API-Key: your_api_key' \
  -F 'file=@receipt.jpg'

Parse Receipt

Parse a single receipt and extract all relevant data.

Endpoint

HTTP
POST /v1/parse

Parameters

Parameter Type Required Description
file File Yes The receipt image or PDF file (max 10MB)
webhook_url String No URL to receive webhook notification

Response

JSON
{
  "success": true,
  "confidence_score": 98.5,
  "processing_time": 0.28,
  "merchant": {
    "name": "Woolworths",
    "abn": "88000014675",
    "address": "123 Main Street",
    "city": "Sydney",
    "state": "NSW",
    "postcode": "2000"
  },
  "transaction": {
    "date": "2024-04-15",
    "time": "14:32",
    "receipt_number": "123456",
    "payment_method": "Visa",
    "card_last4": "1234"
  },
  "items": [
    {
      "name": "Milk Full Cream 2L",
      "quantity": 1,
      "unit_price": 3.50,
      "total": 3.50,
      "sku": ""
    }
  ],
  "totals": {
    "subtotal": 25.29,
    "tax": 2.53,
    "total": 27.82,
    "discount": 0
  },
  "tax": {
    "gst_amount": 2.53,
    "gst_inclusive": true,
    "tax_rate": 10,
    "abn": "88000014675"
  },
  "category": "SUPPLIES-MATERIALS",
  "flags": []
}

Batch Processing

Process multiple receipts at once. Perfect for migrating historical data or processing monthly expense reports.

Endpoint

HTTP
POST /v1/batch

Parameters

Parameter Type Required Description
files[] File[] Yes Array of receipt files or ZIP archive
webhook_url String No URL for progress and completion notifications

Webhooks

Configure webhooks to receive real-time notifications when receipts are parsed or batch jobs complete.

Event Types

Event Description
receipt.parsed Triggered when a receipt is successfully parsed
batch.progress Sent every 100 receipts during batch processing
batch.complete Triggered when batch processing is complete
receipt.failed Triggered when receipt parsing fails

Response Format

All API responses follow a consistent format:

Field Type Description
success Boolean Whether the request was successful
confidence_score Number Accuracy confidence (0-100)
processing_time Number Time taken to process in seconds
merchant Object Merchant information
transaction Object Transaction details
items Array Line items from receipt
totals Object Subtotal, tax, and total amounts
category String Auto-detected expense category
flags Array Fraud detection flags

Error Codes

Code HTTP Status Description
AUTH_REQUIRED 401 API key is missing
INVALID_KEY 401 API key is invalid or revoked
RATE_LIMIT 429 Too many requests
INSUFFICIENT_CREDITS 402 Not enough credits to process
INVALID_FILE 400 File type not supported or too large
PARSE_FAILED 422 Could not parse the receipt

Categories

The API automatically categorizes receipts into the following categories:

Category Description
MEALS-ENTERTAINMENT Meals & Entertainment (Tax Deductible)
HOME-OFFICE-SUPPLIES Home Office Supplies
VEHICLE-FUEL Vehicle - Fuel
VEHICLE-MAINTENANCE Vehicle - Maintenance
SOFTWARE-SUBSCRIPTION Software Subscription
TRAVEL-AIR Travel - Air
TRAVEL-ACCOMMODATION Travel - Accommodation
TRAVEL-TRANSPORT Travel - Transport
OFFICE-EQUIPMENT Office Equipment
PROFESSIONAL-SERVICES Professional Services
MARKETING-ADVERTISING Marketing & Advertising
UTILITIES Utilities
INSURANCE Insurance
RENT-LEASE Rent & Lease
SUPPLIES-MATERIALS Supplies & Materials
EQUIPMENT Equipment
TRAINING-EDUCATION Training & Education
HEALTH-MEDICAL Health & Medical
COMMUNICATIONS Communications
BANK-FEES Bank Fees
MISCELLANEOUS Miscellaneous

SDKs

We offer official SDKs for popular programming languages:

Need Help?

Can't find what you're looking for? We're here to help.

Contact Support