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
Asynchrone Verarbeitung
Die OCR-API arbeitet asynchron: Sie erhalten eine Job-ID und können den Status abfragen.
Schritt 1: Job erstellen
/v1/analyzeLädt ein Dokument hoch und startet die OCR-Verarbeitung. Gibt sofort eine Job-ID zurück.
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 |
curl -X POST "https://api.german-ocr.de/v1/analyze" \ -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here" \ -F "[email protected]" \ -F "model=german-ocr-ultra"
Schritt 2: Job-Status abfragen
/v1/jobs/{job_id}Fragt den aktuellen Status eines Jobs ab. Wiederholen Sie diese Abfrage bis status gleich completed oder failed ist.
curl "https://api.german-ocr.de/v1/jobs/52a52572-c97b-4894-97f9-653a13947a8c" \ -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here"
Job-Status Werte
| Status | Beschreibung |
|---|---|
pending | Job in Warteschlange |
processing | Wird gerade verarbeitet |
completed | Erfolgreich abgeschlossen - Ergebnis verfügbar |
failed | Fehlgeschlagen - Fehlermeldung in error |
Response Format
Die API arbeitet mit Jobs. Zuerst erhalten Sie eine Job-ID, dann können Sie das Ergebnis abrufen.
1. Job-Erstellung (POST /v1/analyze)
{
"job_id": "52a52572-c97b-4894-97f9-653a13947a8c",
"status": "pending",
"message": "Job in Warteschlange",
"model": "German-OCR Ultra"
}2. Job-Ergebnis (GET /v1/jobs/{job_id})
{
"job_id": "52a52572-c97b-4894-97f9-653a13947a8c",
"status": "completed",
"model": "German-OCR Ultra",
"processing_time_ms": 14582,
"privacy": {
"processing_location": "EU (Frankfurt)",
"gdpr_compliant": true
},
"result": "# RECHNUNG\n\nRechnungsnummer: RE-2024-00142\nDatum: 15.12.2024\n\n| Position | Beschreibung | Menge | Preis |\n|----------|--------------|-------|-------|\n| 1 | Beratung IT | 8 Std | 960,00 € |\n\n**Gesamt: 2.021,81 €**",
"created_at": "2024-12-15T10:30:00Z"
}Response-Felder (Job-Ergebnis)
| Feld | Typ | Beschreibung |
|---|---|---|
job_id | String | Eindeutige Job-ID (UUID) |
status | String | pending | processing | completed | failed |
result | String | Extrahierter Text (Markdown-formatiert) |
processing_time_ms | Number | Verarbeitungszeit in Millisekunden |
price_display | String | Berechneter Preis (z.B. "0,10 €") |
privacy | Object | DSGVO-Informationen |
error | String | Fehlermeldung (nur bei status=failed) |
Balance & Usage
Fragen Sie Ihr aktuelles Guthaben, Ihre Nutzungsstatistiken und die verfügbaren Modelle programmatisch ab.
Guthaben abfragen
/v1/balanceGibt das aktuelle Guthaben Ihres Accounts zurück.
curl "https://api.german-ocr.de/v1/balance" \ -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here"
{
"balance_display": "249,90 €",
"balance_eur": 249.9,
"balance_micros": 249900000
}Nutzungsstatistiken
/v1/usageGibt detaillierte Nutzungsstatistiken für den aktuellen Abrechnungszeitraum zurück, aufgeschlüsselt nach Provider/Modell.
curl "https://api.german-ocr.de/v1/usage" \ -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here"
{
"period": {
"start": "2026-03-01T00:00:00Z",
"end": "2026-03-31T23:59:59Z"
},
"providers": [
{
"provider": "german_ocr_pro",
"request_count": 5,
"total_cost_eur": 0.50,
"total_cost_display": "0,50 €"
},
{
"provider": "german_ocr_ultra",
"request_count": 12,
"total_cost_eur": 1.20,
"total_cost_display": "1,20 €"
}
]
}Verfügbare Modelle
/v1/modelsListet alle für Ihren Account verfügbaren Modelle mit Preisinformationen auf.
curl "https://api.german-ocr.de/v1/models" \ -H "Authorization: Bearer gocr_abc123:your_64_char_secret_here"
{
"models": [
{
"id": "cloud",
"name": "German-OCR Ultra",
"description": "Maximale Präzision mit Strukturerkennung",
"price_per_page_eur": 0.10,
"price_display": "0,10 € / Seite",
"gdpr_compliant": true,
"processing_location": "EU (Frankfurt)"
},
{
"id": "german-ocr-pro",
"name": "German-OCR Pro",
"description": "Professionell & zuverlässig",
"price_per_page_eur": 0.10,
"price_display": "0,10 € / Seite",
"gdpr_compliant": true,
"processing_location": "EU (Frankfurt)"
},
{
"id": "local",
"name": "German-OCR Turbo",
"description": "Blitzschnell & lokal",
"price_per_page_eur": 0.00,
"price_display": "Kostenlos",
"gdpr_compliant": true,
"processing_location": "Lokal (Deutschland)"
}
]
}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/examplesIntegrationen
German-OCR lässt sich nahtlos in bestehende Workflows und Plattformen integrieren. Nutzen Sie unsere vorgefertigten Integrationen oder bauen Sie Ihre eigene mit der REST-API.
Automation
CMS & E-Commerce
Frameworks
Eigene Integration erstellen
Die German-OCR REST-API ist mit jeder Programmiersprache und jedem Framework kompatibel. Senden Sie einfach einen multipart/form-data POST-Request an unseren Endpoint.
Bereit zum Integrieren?
Erstellen Sie einen Account und erhalten Sie sofort Ihren API-Key.
API-Key anfordern