Kwity API · developers.kwity.ch

L'API OCR de reçusqu'on aurait rêvé d'avoir.

Envoyez une photo, récupérez une dépense structurée : marchand, date, total, TVA, catégorie, devise. REST + webhooks, SDK TypeScript et Python, rate limits loyaux, facturation à l'usage. Conçue par des devs qui en ont marre des parsers maison.

POST /v1/receipts
curl -X POST \
  https://api.kwity.ch/v1/receipts \
  -H "Authorization: Bearer $KWITY_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@receipt.jpg" \
  -F "organization_id=org_abc123"

# → 201 Created
{
  "id": "rec_01HX…",
  "status": "processing",
  "vendor": null,
  "total_cents": null,
  "currency": null,
  "webhook": "ocr.completed"
}
Endpoints principaux
POST/v1/receipts
GET/v1/receipts/{id}
GET/v1/receipts
PUT/v1/receipts/{id}
POST/v1/webhooks
GET/v1/categories
Ce que l'API vous donne en plus
Extraction temps réel

Pipeline async. Vous recevez un webhook ocr.completed en moins de 4 secondes pour un ticket standard.

Webhooks signés

HMAC SHA-256, rotation de secret, relivraison automatique avec backoff exponentiel.

Multi-tenant natif

Un header X-Kwity-Organization-Id isole les ressources. Idéal pour les plateformes SaaS qui revendent Kwity.

SDK TS & Python

Typed, tree-shaké, documenté. Support natif des streams et de l'upload multipart.

Idempotency keys

Évitez les doublons en cas de retry côté client avec l'en-tête Idempotency-Key standard.

Sandbox gratuit

Clé sandbox avec 500 reçus de test synthétiques. Passez en prod en changeant le préfixe de clé.

Sample TypeScript

Moins de 10 lignes pour scanner un ticket et récupérer le JSON structuré.

typescript
kwity-node
import { Kwity } from "@kwity/node";

const kwity = new Kwity({ apiKey: process.env.KWITY_API_KEY! });

const receipt = await kwity.receipts.create({
  file: fs.createReadStream("./ticket.jpg"),
  organization_id: "org_abc123",
});

const final = await kwity.receipts.waitUntilProcessed(receipt.id);
console.log(final.vendor, final.total_cents / 100, final.currency);
Tarif API à l'usage

Sans engagement. Sandbox gratuit, facturation au ticket traité avec succès.

SandboxGratuit · 500 tickets/mois
Pay-as-you-goCHF 0.04 / ticket traité
Volume (50k+)Sur devis, jusqu'à -70%
Support prioInclus dès 10k tickets/mois

Votre intégration, déployée cet après-midi.

Clé API en 2 minutes, sandbox gratuit, support humain en français, allemand, anglais.

Votre dernier dimanche Excel,c'était hier.

Rejoignez les indépendants qui ont troqué leur boîte à chaussures contre un appareil photo.

Fabriqué en Suisse
Genève · Lausanne · Zurich
Conforme nLPD / LPD
Loi fédérale sur la protection des données
AES-256 + TLS 1.3
Chiffrement au repos et en transit
Zéro entraînement
Vos données ne nourrissent aucun modèle
© 2026 Kwity — Conçu à la main, en Suisse.Fait avec obsession pour les indépendants.