Frohes neues Jahr 2026! 🎉 50 Seiten gratis - Nur bis 15.01.
Dokumentation

API-Referenz

Alles, was Sie für die Integration der German-OCR API benötigen. REST-basiert, JSON-Ausgabe, ein Endpoint.

Authentifizierung

Die German-OCR API verwendet API-Key + API-Secret zur Authentifizierung. Bei der Registrierung erhalten Sie beide Werte im Developer Portal.

# Format: Bearer API_KEY:API_SECRET
Authorization: Bearer gocr_abc123:your_64_char_secret_here

Ihre Zugangsdaten

API Key

gocr_xxxxxxxx(immer sichtbar im Portal)

API Secret

64-stelliger Hex-String(nur einmal bei Erstellung sichtbar!)

Sicherheitshinweis

Das API Secret wird nur einmal angezeigt! Speichern Sie es sofort sicher ab. Verwenden Sie Umgebungsvariablen, niemals im Frontend-Code.

Modelle

German-OCR bietet vier Modelle für unterschiedliche Anforderungen. Alle Modelle sind DSGVO-konform und verarbeiten Ihre Daten in der EU.

German-OCR Turbo

Blitzschnell & DSGVO-konform

Features

  • Lokale Verarbeitung in Deutschland
  • DSGVO-konform
  • Keine Cloud-Kosten
  • ~3 Sekunden

Ideal für

Interne Dokumente, Personalakten, Verträge

API Parameter:model="german-ocr"

German-OCR Pro

Professionell & zuverlässig

Features

  • EU-Rechenzentrum Frankfurt
  • DSGVO-konform
  • Schnelle Cloud
  • ~4 Sekunden

Ideal für

Rechnungen, Lieferscheine, Formulare

API Parameter:model="german-ocr-pro"

German-OCR Ultra

Maximale Präzision

Features

  • EU-Rechenzentrum Frankfurt
  • DSGVO-konform
  • Strukturerkennung
  • ~5 Sekunden

Ideal für

Komplexe Layouts, Tabellen, Formulare mit Feldern

API Parameter:model="german-ocr-ultra"

German-OCR Privacy Shield

PII-Erkennung & Anonymisierung

Features

  • Automatische PII-Erkennung
  • DSGVO-konform
  • Name/IBAN/Adresse
  • ~6 Sekunden

Ideal für

Datenschutz, Anonymisierung, DSGVO-Compliance

API Parameter:model="privacy-shield"

100% DSGVO-konform

Alle Modelle verarbeiten Ihre Dokumente ausschließlich in der EU. German-OCR Turbo verarbeitet vollständig lokal, Privacy Shield anonymisiert PII automatisch.

OCR Endpoint

POST/v1/analyze

Verarbeitet ein Dokument (Bild oder PDF) und extrahiert Text sowie strukturierte Daten.

Request Parameter

ParameterTypBeschreibung
file*FileDokument als Bild (PNG, JPG, WebP, TIFF) oder PDF
promptStringCustom Prompt für spezifische Extraktion, z.B. "Extrahiere alle Rechnungspositionen als JSON"
modelStringgerman-ocr-ultra, german-ocr-pro, german-ocr, privacy-shield
structure_outputBooleantrue für strukturierte JSON-Ausgabe, false (default) für Rohtext

Beispiel-Request

curl
curl -X POST "https://api.german-ocr.de/v1/analyze" \
  -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here" \
  -F "file=@rechnung.pdf" \
  -F "prompt=Extrahiere Rechnungsnummer, Datum und Betrag als JSON" \
  -F "model=german-ocr-ultra"

Response Format

Die API liefert strukturierte JSON-Daten mit extrahierten Informationen.

Erfolgreiche Response

Response (200 OK)
{
  "success": true,
  "document_id": "doc_abc123xyz",
  "model": "German-OCR Pro",
  "processing_time_ms": 1847,
  "document_type": "invoice",
  "confidence": 0.97,
  "privacy": {
    "processing_location": "EU (Frankfurt)",
    "gdpr_compliant": true
  },
  "data": {
    "invoice_number": "RE-2024-00142",
    "date": "2024-12-15",
    "due_date": "2024-12-29",
    "sender": {
      "name": "Musterfirma GmbH",
      "address": "Musterstraße 123, 10115 Berlin",
      "vat_id": "DE123456789"
    },
    "recipient": {
      "name": "Beispiel AG",
      "address": "Testweg 45, 80331 München"
    },
    "line_items": [
      {
        "position": 1,
        "description": "Beratungsleistung IT",
        "quantity": 8,
        "unit": "Std",
        "unit_price": 120.00,
        "total": 960.00
      }
    ],
    "subtotal": 1699.00,
    "vat_rate": 19,
    "vat_amount": 322.81,
    "total": 2021.81,
    "currency": "EUR",
    "iban": "DE89 3704 0044 0532 0130 00"
  },
  "raw_text": "RECHNUNG\n\nRechnungsnummer: RE-2024-00142..."
}

Response-Felder

FeldTypBeschreibung
successBooleanVerarbeitung erfolgreich
document_idStringEindeutige ID für Tracking
processing_time_msNumberVerarbeitungszeit in Millisekunden
confidenceNumberKonfidenz-Score (0-1)
dataObjectStrukturierte extrahierte Daten
raw_textStringVollständiger OCR-Text

Fehlerbehandlung

Bei Fehlern liefert die API einen entsprechenden HTTP-Status und eine strukturierte Fehlermeldung.

Fehler-Response

{
  "success": false,
  "error": {
    "code": "INVALID_FILE_TYPE",
    "message": "Nicht unterstütztes Dateiformat. Erlaubt: PNG, JPG, WebP, PDF",
    "status": 415
  }
}

HTTP Status Codes

CodeNameBeschreibung
400Bad RequestUngültige Parameter oder fehlende Datei
401UnauthorizedUngültiger oder fehlender API-Key
402Payment RequiredGuthaben aufgebraucht
413Payload Too LargeDatei größer als 10 MB
415Unsupported MediaNicht unterstütztes Dateiformat
429Too Many RequestsRate Limit überschritten
500Server ErrorInterner Serverfehler

Rate Limits

Um eine faire Nutzung zu gewährleisten, gelten folgende Rate Limits:

Developer

60

Requests pro Minute

Business & Enterprise

500

Requests pro Minute

Rate Limit Headers

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1703332800

SDKs & Beispiele

Py

Python

pip install german-ocr

from german_ocr import OCRClient

client = OCRClient(
    api_key="gocr_abc123",
    api_secret="your_64_char_secret_here"
)
result = client.analyze(
    "rechnung.pdf",
    prompt="Extrahiere alle Rechnungsdaten",
    model="german-ocr-ultra"
)
print(result.text)
TS

TypeScript/Node.js

npm install @german-ocr/sdk

import { OCRClient } from '@german-ocr/sdk';

const client = new OCRClient({
    apiKey: 'gocr_abc123',
    apiSecret: 'your_64_char_secret_here'
});
const result = await client.analyze('rechnung.pdf', {
    prompt: 'Extrahiere alle Rechnungsdaten',
    model: 'german-ocr-ultra'
});
console.log(result.text);

Mehr Beispiele auf GitHub

Vollständige Beispiele für Python, Node.js, PHP, Go und weitere Sprachen.

github.com/german-ocr/examples

Bereit zum Integrieren?

Erstellen Sie einen Account und erhalten Sie sofort Ihren API-Key.

API-Key anfordern