API-Dokumentation

Integrieren Sie FreeOCR.AI mit unserer API in Ihre Anwendungen.

Authentifizierung

Alle API-Anfragen erfordern einen API-Schlüssel, der im Authorization-Header als Bearer-Token übergeben wird.

Authorization: Bearer focr_your_api_key_id

Erstellen und verwalten Sie Ihre API-Schlüssel auf der API-Schlüssel-Seite.


Rate-Limits

Standard-Rate-Limit: 200 Anfragen pro Minute pro API-Schlüssel.

Rate-Limits können pro Schlüssel angepasst werden. Kontaktieren Sie den Support für benutzerdefinierte Limits.


POST /ocr

Live-Demo

Text aus Bildern unter Beibehaltung des Layouts extrahieren.

Parameter

multipartimage(erforderlich) - Bilddatei
queryformat(optional) - Antwortformat: json (Standard), text, docx
queryversion(optional) - Modellversion: 260428 (Standard)

Antwort

jsonContent-Type: application/json
{
  "text": "# Document Title\n\nExtracted markdown content..."
}

Gibt GitHub Flavored Markdown mit Layout-Erhaltung zurück, einschließlich HTML-Tabellen und LaTeX-Formeln.

textContent-Type: application/json
{
  "text": "Document Title\n\nExtracted plain text content..."
}

Markdown wird durch interne Konvertierung in reinen Text umgewandelt.

docxContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

Binärer Datei-Download. Content-Disposition: attachment; filename="result.docx"

Beispiel

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/ocr" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@document.png"

POST /table

Live-Demo

Tabellen aus Bildern in strukturierte Daten extrahieren.

Parameter

multipartimage(erforderlich) - Bilddatei
queryformat(optional) - Antwortformat: json (Standard), csv, xlsx
queryversion(optional) - Modellversion: 260428 (Standard)

Antwort

jsonContent-Type: application/json
{
  "tables": [
    {
      "title": "Sales Report",
      "html": "<table><tr><th>Item</th><th>Qty</th></tr><tr><td>Apple</td><td>10</td></tr></table>"
    }
  ]
}

Jede Tabelle enthält einen title und ihren Inhalt als HTML-Tabellenzeichenfolge.

csvContent-Type: text/csv; charset=utf-8

Download als reine Text-CSV-Datei. Mehrere Tabellen werden durch --- SheetName ----Trennzeichen getrennt. Content-Disposition: attachment; filename="tables.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Binärer XLSX-Datei-Download. Jede Tabelle wird zu einem separaten Blatt, das nach ihrem Titel benannt ist. Content-Disposition: attachment; filename="tables.xlsx"

Beispiel

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/table" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@spreadsheet.png"

POST /extract

Live-Demo

Bestimmte Felder mithilfe von KI aus Bildern extrahieren.

Parameter

multipartimage(erforderlich) - Bilddatei
queryfields(erforderlich) - Zu extrahierende Felder (wiederholter Parameter oder JSON-Array)
queryformat(optional) - Antwortformat: json (Standard), csv, xlsx
queryversion(optional) - Modellversion: 260428 (Standard), 260215

Antwort

jsonContent-Type: application/json
{
  "result": [
    { "key": "name", "values": ["John Doe"] },
    { "key": "date", "values": ["2024-03-15"] },
    { "key": "amount", "values": ["$1,234.56"] }
  ]
}

Jedes angeforderte Feld wird als key mit einem Array extrahierter values zurückgegeben.

csvContent-Type: text/csv; charset=utf-8

CSV-Datei mit Feldschlüsseln als Spaltenüberschriften und extrahierten Werten als Zeilen. Content-Disposition: attachment; filename="extraction.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

XLSX-Datei mit einem einzigen "Results"-Blatt, gleiches Layout wie CSV. Content-Disposition: attachment; filename="extraction.xlsx"

Beispiel

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/extract?fields=name&fields=date&fields=amount" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@invoice.png"

Fehlerantworten

401

Nicht autorisiert

{ "error": { "code": "unauthorized", "message": "Ungültiger API-Schlüssel" } }
402

Unzureichendes Guthaben

{ "error": { "code": "insufficient_credits", "message": "Unzureichendes Guthaben. Bitte aufladen." } }
429

Rate-Limit überschritten

{ "error": { "code": "rate_limit_exceeded", "message": "Rate-Limit überschritten. Versuchen Sie es später erneut." } }
500

Interner Fehler

{ "error": { "code": "internal_error", "message": "Bildverarbeitung fehlgeschlagen" } }