ScanToExcel API
Integra l'estrazione di documenti con l'AI direttamente nella tua app. Invia un'immagine o un PDF e ricevi dati strutturati da foglio di calcolo in JSON, .xlsx o CSV.
URL di base
https://scantoexcel.ai/api/v1Autenticazione
Tutte le richieste API richiedono una chiave API inviata tramite l'header Authorization.
Authorization: Bearer sk_live_your_api_key
Genera gratis la tua chiave API dalla dashboard. La chiave viene mostrata una sola volta al momento della creazione e salvata solo come hash — copiala subito. Puoi rigenerarla o revocarla dalla dashboard in qualsiasi momento. I crediti determinano quante pagine puoi estrarre.
Guida rapida
Estrai i dati da un'immagine o da un PDF con una sola chiamata API.
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"], ...]Riferimento API
/v1/extractCarica un'immagine o un PDF e ricevi dati strutturati da foglio di calcolo. L'AI analizza il layout visivo e assegna ogni porzione di testo alla riga e alla colonna corrette. I PDF multipagina vengono restituiti come un unico array rows, dall'alto verso il basso. Si paga 1 credito per pagina; le estrazioni non riuscite vengono rimborsate automaticamente.
Richiesta (multipart/form-data)
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
file | File | Sì | Immagine (JPG, PNG, WebP) o PDF (fino a 10 pagine). Max 20 MB. |
output | String | No | "json" (predefinito), "xlsx" o "csv". JSON restituisce dati strutturati; xlsx/csv restituiscono il file come body binario con gli header X-Extraction-Id, X-Pages, X-Credits-Used e X-Credits-Remaining. |
detail | String | No | "high" (predefinito, ideale per documenti densi) o "low" (più veloce, meno token immagine). |
webhook_url | String | No | URL HTTPS che riceve una POST con il risultato completo al termine dell'estrazione. Vedi Webhook più sotto. |
Risposta (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
}
}Campi della risposta
| Campo | Tipo | Descrizione |
|---|---|---|
id | String | ID persistente dell'estrazione — usalo con GET /v1/extractions/{id} |
status | String | completed o failed |
title | String | Titolo del documento generato dall'AI |
rows | String[][] | Array 2D con i valori delle celle. La prima riga contiene di solito le intestazioni. |
pages | Number | Numero di pagine elaborate (= crediti addebitati) |
usage | Object | credits_used e credits_remaining (null nei piani illimitati) |
Limiti di utilizzo
60 richieste/minuto per chiave API
1.000 chiamate API/mese con il piano API (vedi prezzi)
20 MB dimensione massima del file
10 pagine max per PDF (1 credito per pagina)
Ti servono limiti più alti? Contattaci per i piani enterprise.
Webhook
Passa con la richiesta un campo del form webhook_url con un URL HTTPS: ti invieremo lì il risultato completo via POST non appena l'estrazione è terminata (timeout di consegna di 8 s, nessun nuovo tentativo).
{
"event": "extraction.completed",
"id": "aB3dE9fGhIjK1LmN",
"status": "completed",
"title": "Invoice #1042",
"rows": [["Item", "Qty", "Price"], ...],
"pages": 1,
"usage": { "credits_used": 1, "credits_remaining": 999 }
}Inizia a sviluppare con ScanToExcel
Ottieni la tua chiave API e inizia a estrarre dati in pochi minuti.