Documentazione API REST: header X-API-Key
Integra CF, P.IVA, IBAN, FatturaPA e Invoice OCR via REST: autenticazione con header X-API-Key, esempi cURL, Python e JavaScript, una chiamata senza account.
L'API REST di Imperio: validazione Codice Fiscale, P.IVA, IBAN e PEC, lookup ATECO ISTAT, calcolo IVA, IMU, regime forfettario e righe F24, parsing FatturaPA/SDI, INTRASTAT, ambito NIS2 e verifica anti-frode del beneficiario con VIES live. Ci si autentica con l'header X-API-Key (chiavi con prefisso imp_live_), che non è un Bearer: il token di sessione viene rifiutato. Gli algoritmi e le tabelle sono ufficiali e deterministici: nessun modello linguistico produce i risultati. Documentazione con esempi eseguibili in cURL, Python e JavaScript.
Cosa include
- Autenticazione con l'header X-API-Key — chiavi con prefisso imp_live_. Non è un Bearer: il token di sessione viene rifiutato.
- Una chiamata si prova subito e senza account, dalla demo pubblica POST /api/registry/demo/:slug, con un rate limit per IP.
- Descrittore OpenAPI pubblico, leggibile da una macchina: /api/openapi-public.json
- Risultati deterministici da algoritmi e tabelle ufficiali: nessuna inferenza LLM sul calcolo.
- La stessa cassetta di strumenti è raggiungibile da un agente AI anche via Model Context Protocol: https://imperioutils.com/mcp
Come ci si autentica
Header: X-API-Key: imp_live_la_tua_chiave. Non è un Bearer token: l'header Authorization porta la sessione della web app, non l'integrazione — una chiave mandata come Bearer riceve «Session token not accepted or expired», che manda a cercare il problema nella sessione invece che nell'header.
Base URL: https://imperioutils.com/api/python. Una chiave gratuita si ottiene registrandosi su https://imperioutils.com/signup e si rigenera da https://imperioutils.com/settings/profile.
Senza account: una chiamata vera, e la sua risposta vera
curl -s -X POST https://imperioutils.com/api/registry/demo/fisco-it-validator \
-H 'Content-Type: application/json' \
-d '{"action":"cf","input":{"codice_fiscale":"RSSMRA85T10A562S"}}'{
"success": true,
"data": {
"valid": true,
"codice_fiscale": "RSSMRA85T10A562S",
"omocodia": false,
"birth_date": "10/12/1985",
"gender": "M",
"municipality_code": "A562",
"municipality_name": "San Giuliano Terme",
"municipality_province": "PI"
}
}Con una chiave
cURL
curl -s -X POST https://imperioutils.com/api/python/italian/codice-fiscale/validate \
-H 'X-API-Key: imp_live_la_tua_chiave' \
-H 'Content-Type: application/json' \
-d '{"codice_fiscale":"RSSMRA85T10A562S"}'Python
import requests
r = requests.post(
"https://imperioutils.com/api/python/italian/codice-fiscale/validate",
headers={"X-API-Key": "imp_live_la_tua_chiave"},
json={"codice_fiscale": "RSSMRA85T10A562S"},
)
print(r.json())JavaScript
const res = await fetch("https://imperioutils.com/api/python/italian/codice-fiscale/validate", {
method: "POST",
headers: {
"X-API-Key": "imp_live_la_tua_chiave",
"Content-Type": "application/json",
},
body: JSON.stringify({ codice_fiscale: "RSSMRA85T10A562S" }),
});
console.log(await res.json());Per le macchine
Spec OpenAPI: https://imperioutils.com/api/openapi-public.json — elenca i tool, il costo in crediti e gli schemi d'input.
Se integri un agente invece di un'applicazione la porta è il server MCP: https://imperioutils.com/mcp.
In English
Authenticate with the X-API-Key header — not a Bearer token. A free account issues a key; every fiscal tool is also callable anonymously through the public demo endpoint shown above, with a per-IP rate limit and no key at all. The supplier-guardian tools always need a key: they read one account's ledger.
Limiti per piano — due assi
I limiti hanno due assi e danno risposte diverse per lo stesso piano: le richieste al minuto valgono su tutti i canali, mentre la quota mensile morde solo sul canale programmatico (chiave API e MCP) — chi lavora nel browser con la sessione non ha tetto mensile.
- Free: 120 richieste/minuto · 2000 esecuzioni/mese sul canale programmatico.
- Starter: 360 richieste/minuto · 50000 esecuzioni/mese sul canale programmatico.
- Pro: 720 richieste/minuto · 250000 esecuzioni/mese sul canale programmatico.
- Team: 1440 richieste/minuto · 750000 esecuzioni/mese sul canale programmatico.
- Enterprise: illimitate al minuto sul tetto commerciale (fino a 2880 richieste/minuto da un singolo IP) · 3000000 esecuzioni/mese sul canale programmatico.
Senza registrarsi, per IP: 60 richieste/minuto su POST /mcp, 10 richieste/minuto sulle demo delle pagine /t, 1000 esecuzioni/mese.