So funktioniert es Preise FAQ
Anmelden Kostenlos starten

API-Dokumentation

Integrieren Sie die Kontoauszug-Konvertierung in Ihre Anwendungen

Postman-Collection

Importieren Sie unsere Collection, um die API schnell zu testen

Collection herunterladen

Authentifizierung

Alle API-Anfragen erfordern eine Authentifizierung mit einem API-Schlüssel. Geben Sie Ihren API-Schlüssel im Authorization-Header an:

Authorization: Bearer uk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpunkte

POST /api/v1/extract

Laden Sie einen Kontoauszug als PDF oder Bild zur Verarbeitung hoch.

Anfrage

Parameter Typ Beschreibung
file erforderlich file PDF, JPG, PNG oder ein anderes unterstütztes Bildformat
curl -X POST https://kontoauszuge.de/api/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@statement.pdf"
import requests

response = requests.post(
    "https://kontoauszuge.de/api/v1/extract",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"file": open("statement.pdf", "rb")}
)
data = response.json()
file_id = data["file_id"]
const formData = new FormData();
formData.append('file', fileInput.files[0]);

const response = await fetch('https://kontoauszuge.de/api/v1/extract', {
    method: 'POST',
    headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
    body: formData
});
const data = await response.json();
const fileId = data.file_id;

Antwort

{
  "success": true,
  "file_id": "doc_abc123...",
  "original_name": "statement.pdf",
  "page_count": 5,
  "status": "processing"
}
GET /api/v1/status

Prüfen Sie den Verarbeitungsstatus eines hochgeladenen Dokuments. Fragen Sie diesen Endpunkt ab, bis der Status "completed" lautet.

Anfrage

Parameter Typ Beschreibung
file_id erforderlich string Die vom Upload-Endpunkt zurückgegebene file_id
curl "https://kontoauszuge.de/api/v1/status?file_id=doc_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
import requests
import time

while True:
    response = requests.get(
        "https://kontoauszuge.de/api/v1/status",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        params={"file_id": file_id}
    )
    data = response.json()
    if data["status"] == "completed":
        break
    time.sleep(2)  # Poll every 2 seconds
async function waitForCompletion(fileId) {
    while (true) {
        const response = await fetch(
            `https://kontoauszuge.de/api/v1/status?file_id=${fileId}`,
            { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
        );
        const data = await response.json();
        if (data.status === 'completed') return data;
        await new Promise(r => setTimeout(r, 2000));
    }
}

Antwort

{
  "success": true,
  "file_id": "doc_abc123...",
  "status": "completed",
  "page_count": 5,
  "transaction_count": 47
}
GET /api/v1/download

Laden Sie die extrahierten Transaktionen in Ihrem bevorzugten Format herunter.

Anfrage

Parameter Typ Beschreibung
file_id erforderlich string Die vom Upload-Endpunkt zurückgegebene file_id
format string Ausgabeformat: json, csv oder xlsx. Standard: csv
curl "https://kontoauszuge.de/api/v1/download?file_id=doc_abc123&format=json" \
  -H "Authorization: Bearer YOUR_API_KEY"
response = requests.get(
    "https://kontoauszuge.de/api/v1/download",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"file_id": file_id, "format": "json"}
)
transactions = response.json()["transactions"]
const response = await fetch(
    `https://kontoauszuge.de/api/v1/download?file_id=${fileId}&format=json`,
    { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const data = await response.json();
const transactions = data.transactions;

Antwort (JSON-Format)

{
  "success": true,
  "file_id": "doc_abc123...",
  "transaction_count": 47,
  "transactions": [
    {
      "date": "2024-01-15",
      "type": "DEBIT",
      "description": "TESCO STORES 1234",
      "amountIn": null,
      "amountOut": "45.67",
      "balance": "1234.56"
    }
  ]
}
GET /api/v1/user

Rufen Sie Ihre Kontoinformationen und Ihr verbleibendes Kontingent ab.

curl "https://kontoauszuge.de/api/v1/user" \
  -H "Authorization: Bearer YOUR_API_KEY"
response = requests.get(
    "https://kontoauszuge.de/api/v1/user",
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)
quota = response.json()["quota"]
print(f"Pages remaining: {quota['remaining']}")

Antwort

{
  "success": true,
  "email": "user@example.com",
  "plan": "professional",
  "credits": 50,
  "quota": {
    "used": 150,
    "limit": 400,
    "remaining": 250,
    "period": "month"
  }
}

Fehlerbehandlung

Alle Fehler geben eine JSON-Antwort mit success: false und einer Fehlermeldung zurück:

{
  "success": false,
  "error": "Invalid or missing API key",
  "hint": "Provide your API key in the Authorization header"
}

HTTP-Statuscodes

Code Beschreibung
200 Erfolg
400 Ungültige Anfrage (fehlerhafte Parameter)
401 Nicht autorisiert (ungültiger oder fehlender API-Schlüssel)
403 Verboten (kein Zugriff auf die Ressource)
404 Nicht gefunden
429 Kontingent überschritten
500 Serverfehler

Ratenbegrenzungen

Die API-Nutzung richtet sich nach dem Seitenkontingent Ihres Tarifs. Jede verarbeitete Seite wird auf Ihr Limit angerechnet:

Tarif Seiten Zeitraum
Kostenlos 5 Seiten pro Tag
Professional 400 Seiten pro Monat
Business 1.000 Seiten pro Monat
Enterprise 2.000 Seiten pro Monat

Prüfen Sie Ihr verbleibendes Kontingent über den Endpunkt /api/v1/user.