Imperio Utilities

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.