Authentifizierung
Die German-OCR API verwendet API-Key + API-Secret zur Authentifizierung. Bei der Registrierung erhalten Sie beide Werte im Developer Portal.
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
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
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
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
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
/v1/analyzeVerarbeitet ein Dokument (Bild oder PDF) und extrahiert Text sowie strukturierte Daten.
Request Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
file* | File | Dokument als Bild (PNG, JPG, WebP, TIFF) oder PDF |
prompt | String | Custom Prompt für spezifische Extraktion, z.B. "Extrahiere alle Rechnungspositionen als JSON" |
model | String | german-ocr-ultra, german-ocr-pro, german-ocr, privacy-shield |
structure_output | Boolean | true für strukturierte JSON-Ausgabe, false (default) für Rohtext |
Beispiel-Request
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
{
"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
| Feld | Typ | Beschreibung |
|---|---|---|
success | Boolean | Verarbeitung erfolgreich |
document_id | String | Eindeutige ID für Tracking |
processing_time_ms | Number | Verarbeitungszeit in Millisekunden |
confidence | Number | Konfidenz-Score (0-1) |
data | Object | Strukturierte extrahierte Daten |
raw_text | String | Vollstä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
| Code | Name | Beschreibung |
|---|---|---|
| 400 | Bad Request | Ungültige Parameter oder fehlende Datei |
| 401 | Unauthorized | Ungültiger oder fehlender API-Key |
| 402 | Payment Required | Guthaben aufgebraucht |
| 413 | Payload Too Large | Datei größer als 10 MB |
| 415 | Unsupported Media | Nicht unterstütztes Dateiformat |
| 429 | Too Many Requests | Rate Limit überschritten |
| 500 | Server Error | Interner Serverfehler |
Rate Limits
Um eine faire Nutzung zu gewährleisten, gelten folgende Rate Limits:
Developer
Requests pro Minute
Business & Enterprise
Requests pro Minute
Rate Limit Headers
SDKs & Beispiele
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)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/examplesBereit zum Integrieren?
Erstellen Sie einen Account und erhalten Sie sofort Ihren API-Key.
API-Key anfordern