Documents

Receipt extraction

A receipt into merchant, items, totals, payment method, and an expense category — built for expense flows.

POST /v1/receipt$0.06/receipt · 6 credits, charged only on success

Send this

{
  "fileUrl": "https://…/receipt.jpg"
}

Every response carries usage — the credits burned and your remaining balance. A failed call never burns credits.

Try it live against your own key in the interactive reference; every account gets 500 free credits a month, no card.

Get this back

{
  "merchant": "Blue Bottle Coffee",
  "location": "315 Linden St, Oakland CA",
  "date": "2026-07-02",
  "time": "09:41",
  "currency": "USD",
  "subtotal": 10.25,
  "tax": 0.95,
  "tip": null,
  "total": 11.2,
  "paymentMethod": "visa ****4242",
  "category": "meals",
  "items": [
    {
      "description": "Latte 12oz",
      "quantity": 1,
      "amount": 5.75
    },
    {
      "description": "Croissant",
      "quantity": 1,
      "amount": 4.5
    }
  ],
  "usage": {
    "credits": 6,
    "balanceRemaining": 430
  }
}

Four ways in. Same $0.06/receipt.

curl
curl https://api.kynth.studio/v1/receipt \
  -H "Authorization: Bearer ksk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"fileUrl":"https://…/receipt.jpg"}'
TypeScript
import { KynthCore } from "@kynth/api";

const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.receipt({
  "fileUrl": "https://…/receipt.jpg"
});
Python
from kynth import Kynth

client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.receipt(
    fileUrl="https://…/receipt.jpg",
)
MCP
// One-time setup in your MCP client (Claude, Cursor, …):
{ "mcpServers": { "kynth-core": {
    "command": "npx", "args": ["@kynth/api-mcp"],
    "env": { "KYNTH_API_KEY": "ksk_live_…" } } } }

// Then the agent just calls the kynth_receipt tool.

More from documents