Get Started

Visobird API Documentation

Transform your expense management with automated receipt processing through our powerful OCR API.

Overview

The Visobird API provides automated receipt processing capabilities that extract structured data from receipt images with high accuracy. Our service supports various image formats and returns detailed transaction information including merchant details, line items, totals, and more.

Base URL

https://www.visobird.com/api

Supported Image Formats

  • JPEG (.jpg, .jpeg)

  • PNG (.png)

  • WebP (.webp)

  • Maximum file size: 10MB

Authentication

All API requests require authentication using API keys. Include your API key in the Authorization header as a Bearer token:

Authorization: Bearer vb_your_api_key_here

Getting an API Key

  1. Sign up at visobird.com

  2. Navigate to your dashboard

  3. Go to API Keys section

  4. Create a new API key with a descriptive name

Rate Limits

Rate limits are based on your subscription plan:

Plan
Monthly Limit
API Keys Allowed

Starter

100 receipts

1 key

Professional

5,000 receipts

5 keys

Enterprise

100,000 receipts

20 keys

When you exceed your monthly limit, the API will return a 429 Too Many Requests error.

Quick Start

Here's a simple example to process your first receipt:

cURL Example

curl -X POST https://www.visobird.com/api/process-receipt \
  -H "Authorization: Bearer vb_your_api_key_here" \
  -F "receipt=@/path/to/receipt.jpg"

JavaScript Example

const formData = new FormData();
formData.append("receipt", fileInput.files[0]);

const response = await fetch("https://www.visobird.com/api/process-receipt", {
  method: "POST",
  headers: {
    Authorization: "Bearer vb_your_api_key_here",
  },
  body: formData,
});

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

Python Example

import requests

url = "https://www.visobird.com/api/process-receipt"
headers = {"Authorization": "Bearer vb_your_api_key_here"}

with open("receipt.jpg", "rb") as file:
    files = {"receipt": file}
    response = requests.post(url, headers=headers, files=files)

data = response.json()
print(data["extractedData"])

Last updated