ScanToExcel API
Integrieren Sie KI-gestützte Dokumentenerfassung direkt in Ihre App. Senden Sie ein Bild oder PDF und erhalten Sie strukturierte Tabellendaten als JSON, .xlsx oder CSV zurück.
Basis-URL
https://scantoexcel.ai/api/v1Authentifizierung
Alle API-Anfragen benötigen einen API-Schlüssel, der im Authorization-Header mitgesendet wird.
Authorization: Bearer sk_live_your_api_key
Erstellen Sie Ihren API-Schlüssel kostenlos im Dashboard. Der Schlüssel wird bei der Erstellung nur einmal angezeigt und ausschließlich als Hash gespeichert — kopieren Sie ihn sofort. Im Dashboard können Sie ihn jederzeit neu generieren oder widerrufen. Ihre Credits bestimmen, wie viele Seiten Sie extrahieren können.
Schnellstart
Daten aus einem Dokumentbild oder PDF mit einem einzigen API-Aufruf extrahieren.
cURL
# JSON response curl -X POST https://scantoexcel.ai/api/v1/extract \ -H "Authorization: Bearer sk_live_your_api_key" \ -F "file=@receipt.jpg" \ -F "output=json" # Excel file straight to disk curl -X POST https://scantoexcel.ai/api/v1/extract \ -H "Authorization: Bearer sk_live_your_api_key" \ -F "file=@invoice.pdf" \ -F "output=xlsx" -o result.xlsx
Python
import requests
response = requests.post(
"https://scantoexcel.ai/api/v1/extract",
headers={"Authorization": "Bearer sk_live_your_api_key"},
files={"file": open("receipt.jpg", "rb")},
data={"output": "json"}
)
data = response.json()
print(data["title"]) # "Receipt"
print(data["rows"]) # [["Item", "Qty", "Price"], ...]JavaScript / Node.js
const form = new FormData();
form.append("file", fs.createReadStream("receipt.jpg"));
form.append("output", "json");
const res = await fetch("https://scantoexcel.ai/api/v1/extract", {
method: "POST",
headers: { Authorization: "Bearer sk_live_your_api_key" },
body: form,
});
const data = await res.json();
console.log(data.title); // "Receipt"
console.log(data.rows); // [["Item", "Qty", "Price"], ...]API-Referenz
/v1/extractLaden Sie ein Dokumentbild oder PDF hoch und erhalten Sie strukturierte Tabellendaten. Die KI analysiert das visuelle Layout und ordnet jeden Textbaustein der richtigen Zeile und Spalte zu. Mehrseitige PDFs werden als ein einziges rows-Array von oben nach unten zurückgegeben. Abgerechnet wird 1 Credit pro Seite; fehlgeschlagene Extraktionen werden automatisch erstattet.
Anfrage (multipart/form-data)
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
file | File | Ja | Bild (JPG, PNG, WebP) oder PDF (bis zu 10 Seiten). Max. 20 MB. |
output | String | Nein | "json" (Standard), "xlsx" oder "csv". JSON liefert strukturierte Daten; xlsx/csv liefern die Datei als Binär-Body mit den Headern X-Extraction-Id, X-Pages, X-Credits-Used und X-Credits-Remaining. |
detail | String | Nein | "high" (Standard, ideal für dichte Dokumente) oder "low" (schneller, weniger Bild-Tokens). |
webhook_url | String | Nein | HTTPS-URL, die per POST das vollständige Ergebnis erhält, sobald die Extraktion abgeschlossen ist. Siehe Webhooks weiter unten. |
Antwort (JSON)
{
"id": "aB3dE9fGhIjK1LmN",
"status": "completed",
"title": "Receipt - Coffee Shop",
"rows": [
["Item", "Qty", "Price"],
["Latte", "2", "9.50"],
["Croissant", "1", "4.25"],
["", "Total", "13.75"]
],
"pages": 1,
"usage": {
"credits_used": 1,
"credits_remaining": 999
}
}Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
id | String | Dauerhafte Extraktions-ID — verwenden Sie sie mit GET /v1/extractions/{id} |
status | String | completed oder failed |
title | String | KI-generierter Titel des Dokuments |
rows | String[][] | 2D-Array mit Zellwerten. Die erste Zeile enthält meist die Überschriften. |
pages | Number | Anzahl verarbeiteter Seiten (= berechnete Credits) |
usage | Object | credits_used und credits_remaining (null bei unbegrenzten Tarifen) |
Rate Limits
60 Anfragen/Minute pro API-Schlüssel
1.000 API-Aufrufe/Monat im API-Tarif (siehe Preise)
20 MB maximale Dateigröße
10 Seiten max. pro PDF (1 Credit pro Seite)
Sie brauchen höhere Limits? Kontaktieren Sie uns für Enterprise-Tarife.
Webhooks
Übergeben Sie mit Ihrer Anfrage ein HTTPS-Formularfeld webhook_url, und wir senden das vollständige Ergebnis per POST dorthin, sobald die Extraktion abgeschlossen ist (8 s Zustell-Timeout, keine Wiederholungen).
{
"event": "extraction.completed",
"id": "aB3dE9fGhIjK1LmN",
"status": "completed",
"title": "Invoice #1042",
"rows": [["Item", "Qty", "Price"], ...],
"pages": 1,
"usage": { "credits_used": 1, "credits_remaining": 999 }
}Jetzt mit ScanToExcel entwickeln
Holen Sie sich Ihren API-Schlüssel und extrahieren Sie in wenigen Minuten die ersten Daten.