Gratuita · Senza autenticazione · Senza limiti

API pubblica del 5 per mille

Accedi ai dati di 8 anni finanziari tramite semplici chiamate HTTP. Nessuna registrazione, nessuna API key. JSON pronto all'uso.

Documentazione Prova subito
Base URL https://5x1000.michelangelogigli.it Formato: JSON · Encoding: UTF-8 · Metodo: GET
GET /api/anni
Anni disponibili

Restituisce la lista degli anni finanziari presenti nel database. Utile per sapere quali dati sono disponibili prima di fare altre chiamate.

Parametri

Nessun parametro richiesto.

Esempio risposta
{"anni": [2024, 2023, 2022, 2021, 2020, 2019]}
Prova
/api/anni
GET /api/enti
Cerca e filtra enti

L'endpoint principale. Cerca enti per nome, codice fiscale o comune. Filtra per regione, provincia e categoria. Supporta paginazione.

Parametri
ParametroTipoDefaultDescrizione
annoint2024Anno finanziario (2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024)
qstringRicerca testuale su denominazione, codice fiscale, comune
regionestringFiltra per regione (es: LOMBARDIA)
provinciastringFiltra per provincia (es: MI)
categoriastringFiltra per categoria: ets_onlus, asd, ricerca_scientifica, ricerca_sanitaria, comuni, beni_culturali, enti_gestori_aree_protette
limitint100Numero massimo di risultati (max 1000)
offsetint0Offset per paginazione
Esempio risposta
{
  "total": 87432,
  "anno": 2024,
  "limit": 2,
  "offset": 0,
  "data": [
    {
      "id": 1,
      "anno": 2024,
      "progressivo": 1,
      "codice_fiscale": "80051...",
      "denominazione": "NOME ENTE",
      "regione": "LOMBARDIA",
      "provincia": "MI",
      "comune": "MILANO",
      "ets_onlus": 1,
      "asd": 0,
      "numero_scelte": 150000,
      "importo_totale_erogabile": 5000000.00,
      ...
    }
  ]
}
Prova
/api/enti?anno=2024&q=emergency&limit=5
GET /api/ente/{codice_fiscale}
Dettaglio e storico ente

Restituisce tutti i dati di un singolo ente attraverso tutti gli anni disponibili. Perfetto per analizzare l'andamento nel tempo.

Parametri URL
ParametroTipoDescrizione
codice_fiscalestringCodice fiscale dell'ente (11 o 16 caratteri)
Esempio risposta
{
  "codice_fiscale": "97227450158",
  "denominazione": "NOME ENTE",
  "anni": [
    {"anno": 2019, "importo_totale_erogabile": 4200000, ...},
    {"anno": 2020, "importo_totale_erogabile": 4500000, ...},
    {"anno": 2024, "importo_totale_erogabile": 5100000, ...}
  ]
}
Prova
/api/ente/97227450158
GET /api/stats
Statistiche aggregate

Statistiche aggregate: trend multi-anno (totale importi, numero enti, scelte) e distribuzione per regione dell'anno selezionato.

Parametri
ParametroTipoDefaultDescrizione
annoint2024Anno per le statistiche regionali
Esempio risposta
{
  "anno": 2024,
  "trend": [
    {"anno": 2019, "n_enti": 65000, "totale_importo": 480000000, ...},
    {"anno": 2024, "n_enti": 87000, "totale_importo": 560000000, ...}
  ],
  "regioni": [
    {"regione": "LOMBARDIA", "n_enti": 15000, "totale": 95000000, ...},
    ...
  ]
}
Prova
/api/stats?anno=2024
Esempi di utilizzo

Copia e incolla questi snippet nel tuo progetto.

// Cerca enti in Lombardia con più di €1M
const BASE = 'https://5x1000.michelangelogigli.it';
const res = await fetch(`${BASE}/api/enti?anno=2024®ione=LOMBARDIA&limit=10`);
const { data, total } = await res.json();

data.forEach(ente => {
  console.log(`${ente.denominazione}: €${ente.importo_totale_erogabile}`);
});

// Storico di un ente specifico
const storico = await fetch(`${BASE}/api/ente/97227450158`).then(r => r.json());
storico.anni.forEach(a => {
  console.log(`${a.anno}: €${a.importo_totale_erogabile}`);
});
import requests

BASE = 'https://5x1000.michelangelogigli.it'

# Cerca enti di ricerca scientifica
r = requests.get(f'{BASE}/api/enti', params={
    'anno': 2024,
    'categoria': 'ricerca_scientifica',
    'limit': 10
})
for ente in r.json()['data']:
    print(f"{ente['denominazione']}: €{ente['importo_totale_erogabile']:,.2f}")

# Statistiche aggregate
stats = requests.get(f'{BASE}/api/stats?anno=2024').json()
for anno in stats['trend']:
    print(f"AF {anno['anno']}: {anno['n_enti']} enti, €{anno['totale_importo']:,.0f}")
BASE="https://5x1000.michelangelogigli.it"

# Lista anni disponibili
curl -s "$BASE/api/anni" | python3 -m json.tool

# Top 5 enti del 2024
curl -s "$BASE/api/enti?anno=2024&limit=5" | python3 -m json.tool

# Enti sportivi in Piemonte
curl -s "$BASE/api/enti?anno=2024®ione=PIEMONTE&categoria=asd" | python3 -m json.tool

# Storico di un ente
curl -s "$BASE/api/ente/97227450158" | python3 -m json.tool
library(httr2)
library(jsonlite)

# Top enti del 2024
resp <- request("https://5x1000.michelangelogigli.it/api/enti") |>
  req_url_query(anno = 2024, limit = 10) |>
  req_perform() |>
  resp_body_json()

# Crea un dataframe
df <- do.call(rbind, lapply(resp$data, as.data.frame))
print(df[, c("denominazione", "regione", "importo_totale_erogabile")])
Playground

Testa le API direttamente dal browser. Modifica l'URL e premi Esegui.

GET
Schema dei dati

Ogni record rappresenta un ente ammesso al contributo del 5 per mille per un dato anno finanziario.

CampoTipoDescrizione
annointegerAnno finanziario (2019–2024)
progressivointegerNumero progressivo nell'elenco dell'anno
codice_fiscalestringCodice fiscale dell'ente
denominazionestringNome dell'ente (maiuscolo)
regionestringRegione sede legale (es: LOMBARDIA)
provinciastringSigla provincia (es: MI, RM)
comunestringComune sede legale
ets_onlus0/1Ente del Terzo Settore / ONLUS
asd0/1Associazione Sportiva Dilettantistica
ricerca_scientifica0/1Ente di ricerca scientifica
ricerca_sanitaria0/1Ente di ricerca sanitaria
comuni0/1Comune
beni_culturali0/1Ente per i beni culturali
enti_gestori_aree_protette0/1Ente gestore di aree protette
numero_scelteintegerNumero di contribuenti che hanno scelto l'ente
importo_scelte_espressefloatImporto da scelte espresse (€)
importo_proporzionale_scelte_generichefloatQuota proporzionale da scelte generiche (€)
importo_proporzionale_ripartizione_sotto_100floatQuota da ripartizione importi sotto €100 (€)
importo_totale_erogabilefloatImporto totale erogabile — somma dei 3 importi sopra (€)
Dati pubblici, API pubblica.

Usa questi dati per giornalismo, ricerca, app civiche, o semplice curiosità. Nessun vincolo, nessun costo.

Esplora i dati Chiedi all'AI