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.
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"
}/v1/receiptsUploade un reçu (image ou PDF), renvoie un id traité asynchrone./v1/receipts/{id}Récupère l'état courant et toutes les données extraites./v1/receiptsListe paginée + filtres (date, statut, organisation)./v1/receipts/{id}Met à jour les champs d'un reçu (corrections manuelles)./v1/webhooksEnregistre une URL pour recevoir les événements ocr.completed./v1/categoriesListe des catégories canoniques (plan comptable Kwity).Pipeline async. Vous recevez un webhook ocr.completed en moins de 4 secondes pour un ticket standard.
HMAC SHA-256, rotation de secret, relivraison automatique avec backoff exponentiel.
Un header X-Kwity-Organization-Id isole les ressources. Idéal pour les plateformes SaaS qui revendent Kwity.
Typed, tree-shaké, documenté. Support natif des streams et de l'upload multipart.
Évitez les doublons en cas de retry côté client avec l'en-tête Idempotency-Key standard.
Clé sandbox avec 500 reçus de test synthétiques. Passez en prod en changeant le préfixe de clé.
Moins de 10 lignes pour scanner un ticket et récupérer le JSON structuré.
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);Sans engagement. Sandbox gratuit, facturation au ticket traité avec succès.
| Sandbox | Gratuit · 500 tickets/mois |
| Pay-as-you-go | CHF 0.04 / ticket traité |
| Volume (50k+) | Sur devis, jusqu'à -70% |
| Support prio | Inclus 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.

