Calls this month
 
Monthly limit
 
Plan
 
This month's usage
Recent calls
Time Status Error
Your API key

Authentication

Pass your API key as a Bearer token in every request.

HTTP header
Authorization: Bearer rocr_your_api_key_here

Extract receipt data

Send a receipt image URL. The API returns structured JSON with all fields it can read from the image.

cURL
curl -X POST https://your-api.com/extract \
  -H "Authorization: Bearer rocr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"image_url": "https://example.com/receipt.jpg"}'
Python
import requests

response = requests.post(
    "https://your-api.com/extract",
    headers={"Authorization": "Bearer rocr_your_api_key"},
    json={"image_url": "https://example.com/receipt.jpg"}
)
data = response.json()
print(data["merchant"], data["total"])
Node.js
const res = await fetch("https://your-api.com/extract", {
  method: "POST",
  headers: {
    "Authorization": "Bearer rocr_your_api_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ image_url: "https://example.com/receipt.jpg" })
})
const data = await res.json()

Response schema

Field Type Description
date string | null Transaction date in YYYY-MM-DD format
merchant string | null Business name from the receipt
total float | null Final total charged
tax float | null Tax amount if shown on receipt
items array Line items — each has name (string) and price (float)
confidence "high" | "medium" | "low" Model's confidence in the extraction quality

Error codes

Status Meaning
401 Missing or invalid API key
422 Could not parse receipt — try a clearer image
429 Monthly call limit reached — upgrade your plan
500 Extraction failed — contact support
Account
Email
Plan
Monthly limit
Key prefix
Key created
Billing
Starter
$19/mo
1,500 calls/month
Growth
$49/mo
5,000 calls/month
Pro
$149/mo
20,000 calls/month