API-documentatie

Integreer FreeOCR.AI in uw applicaties met onze API.

Authenticatie

Alle API-verzoeken vereisen een API-sleutel die wordt doorgegeven in de Authorization-header als Bearer-token.

Authorization: Bearer focr_your_api_key_id

Maak en beheer uw API-sleutels op de API-sleutels-pagina.


Snelheidslimieten

Standaard snelheidslimiet: 200 verzoeken per minuut per API-sleutel.

Snelheidslimieten kunnen per sleutel worden aangepast. Neem contact op met support voor aangepaste limieten.


POST /ocr

Live demo

Tekst uit afbeeldingen extraheren met behoud van lay-out.

Parameters

multipartimage(vereist) - Afbeeldingsbestand
queryformat(optioneel) - Antwoordformaat: json (standaard), text, docx
queryversion(optioneel) - Modelversie: 260428 (standaard)

Antwoord

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

Retourneert GitHub Flavored Markdown met behoud van lay-out, inclusief HTML-tabellen en LaTeX-formules.

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

Markdown wordt via interne conversie omgezet naar platte tekst.

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

Binair bestand downloaden. Content-Disposition: attachment; filename="result.docx"

Voorbeeld

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 uit afbeeldingen extraheren als gestructureerde gegevens.

Parameters

multipartimage(vereist) - Afbeeldingsbestand
queryformat(optioneel) - Antwoordformaat: json (standaard), csv, xlsx
queryversion(optioneel) - Modelversie: 260428 (standaard)

Antwoord

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>"
    }
  ]
}

Elke tabel bevat een title en de inhoud als HTML-tabelreeks.

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

Download als platte tekst CSV-bestand. Meerdere tabellen worden gescheiden door --- SheetName ----scheidingstekens. Content-Disposition: attachment; filename="tables.csv"

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

Binair XLSX-bestand downloaden. Elke tabel wordt een apart blad met de naam van de titel. Content-Disposition: attachment; filename="tables.xlsx"

Voorbeeld

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

Specifieke velden uit afbeeldingen extraheren met behulp van AI.

Parameters

multipartimage(vereist) - Afbeeldingsbestand
queryfields(vereist) - Te extraheren velden (herhaalde parameter of JSON-array)
queryformat(optioneel) - Antwoordformaat: json (standaard), csv, xlsx
queryversion(optioneel) - Modelversie: 260428 (standaard), 260215

Antwoord

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

Elk gevraagd veld wordt geretourneerd als key met een array van geëxtraheerde values.

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

CSV-bestand met veldsleutels als kolomkoppen en geëxtraheerde waarden als rijen. Content-Disposition: attachment; filename="extraction.csv"

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

XLSX-bestand met een enkel "Results"-blad, dezelfde lay-out als CSV. Content-Disposition: attachment; filename="extraction.xlsx"

Voorbeeld

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"

Foutantwoorden

401

Niet geautoriseerd

{ "error": { "code": "unauthorized", "message": "Ongeldige API-sleutel" } }
402

Onvoldoende saldo

{ "error": { "code": "insufficient_credits", "message": "Onvoldoende saldo. Gelieve op te waarderen." } }
429

Snelheidslimiet overschreden

{ "error": { "code": "rate_limit_exceeded", "message": "Snelheidslimiet overschreden. Probeer het later opnieuw." } }
500

Interne fout

{ "error": { "code": "internal_error", "message": "Verwerking van afbeelding mislukt" } }