CatalogoDati pubblici ›Trasparenza

Appalti trasparenti — le gare pubbliche in chiaro

Le gare pubbliche italiane in chiaro: cerca per argomento, guarda cosa appaltano i comuni e gli enti, scopri chi bandisce di più. Sono i dati ufficiali di ANAC (i CIG, oltre 2,6 milioni di lotti) e OpenCUP (l'intero universo degli investimenti pubblici), incrociati con l'anagrafe delle Pubbliche Amministrazioni e la popolazione ISTAT.

🔎 Cerca📍 Per comune📊 Chi appalta🏆 Chi vince💶 Fondi coesione🗂️ Tutti i progetti

spazio dati «appalti-trasparenti» — il collante della suite: sul tuo dispositivo, multi-utente con un invito (link o QR), cifrato end-to-end.

▶ Apri la suite (6 micro-app)

oppure aprila come app unica

appaltigareciganacopencoesioneopencupcupfondi ueinvestimenti pubblicitrasparenzacomunipubblica amministrazionespesa pubblicapnrr

Cosa registra

  • Cerca una gara per argomento…
  • Codice ISTAT del comune

Composta da 6 micro app

Un compito ciascuna, sugli stessi dati: ogni micro app legge e scrive lo spazio dati condiviso «appalti-trasparenti» (col tuo consenso, chiesto alla prima apertura). Tutto resta sul tuo dispositivo — e con un solo invito l'intera suite diventa multi-utente, cifrata end-to-end.

Come funziona

Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.

  1. Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
  2. I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
  3. Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
  4. Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 🏛️ Appalti trasparenti

Le gare pubbliche italiane in chiaro: cerca per argomento, guarda cosa
appaltano i comuni e gli enti, scopri chi bandisce di più. Sono i dati ufficiali
di ANAC (i CIG, oltre 2,6 milioni di lotti) e OpenCUP (l'intero universo degli
investimenti pubblici), incrociati con l'anagrafe delle Pubbliche
Amministrazioni e la popolazione ISTAT.

:::::page{title="Cerca" icon="🔎"}

## Cerca una gara

Descrivi cosa cerchi in parole tue — «manutenzione delle scuole», «fornitura di
vaccini», «servizio mensa» — e trovi i lotti pertinenti anche senza conoscerne
i codici.

::od-search{into="trovate" table="anac_cig" placeholder="Cerca una gara per argomento…"}

:::cards{path="trovate" search="false"}
**{oggetto_gara}**
{amministrazione} · {provincia} — importo: {importo_lotto} €
:::

:::::

:::::page{title="Per comune" icon="📍"}

## Le gare del tuo comune

Inserisci il **codice ISTAT** del comune (sei cifre, es. `058091` per Roma,
`015146` per Milano): vedi i lotti più recenti sopra una certa soglia.

::input[comune]{value="058091" placeholder="Codice ISTAT del comune"}
::range[soglia]{min="0" max="500000" value="50000" legend="Importo minimo (€)"}

::od-query{into="gareComune" sql="SELECT oggetto_gara AS oggetto, importo_lotto AS importo, amministrazione AS ente, data_pubblicazione AS data FROM anac_cig WHERE luogo_istat = '{#comune}' AND importo_lotto >= {#soglia} ORDER BY data_pubblicazione DESC LIMIT 40" limit="40"}

:::table{path="gareComune" headers="Oggetto,Importo €,Ente,Data" pagesize="10"}
{oggetto} | {importo} | {ente} | {data}
:::

:::::

:::::page{title="Chi appalta" icon="📊"}

## Gli enti più attivi

Le amministrazioni con più gare bandite, per tipo di ente. Il conteggio è
robusto; gli importi ANAC contengono errori della fonte, quindi qui contano i
**numeri di gara**, non le somme.

::od-query{into="enti" sql="SELECT i.denominazione AS ente, i.categoria AS tipo, count(DISTINCT a.cig) AS gare FROM anac_cig a JOIN indicepa i ON i.cf = a.cf_amministrazione_appaltante GROUP BY 1, 2 ORDER BY gare DESC LIMIT 25" limit="25"}

:::table{path="enti" headers="Ente,Tipo,Gare" pagesize="12"}
{ente} | {tipo} | {gare}
:::

:::::

:::::page{title="Chi vince" icon="🏆"}

## Chi si aggiudica le gare

Le imprese che vincono più lotti nel comune indicato nella pagina «Per comune»
(cambia lì il codice ISTAT). Sono gli **aggiudicatari** ufficiali ANAC: chiude
il cerchio amministrazione → gara → vincitore.

::od-query{into="vincitori" sql="SELECT a.denominazione AS impresa, count(*) AS lotti FROM anac_aggiudicatari a JOIN anac_cig g ON g.cig = a.cig WHERE g.luogo_istat = '{#comune}' AND a.denominazione IS NOT NULL GROUP BY 1 ORDER BY lotti DESC LIMIT 25" limit="25"}

::chart-bar{data="vincitori" x="impresa" y="lotti" height="18rem"}

:::table{path="vincitori" headers="Impresa,Lotti vinti" pagesize="12"}
{impresa} | {lotti}
:::

Come per gli enti, qui conta il **numero di lotti** vinti: le somme aggiudicate
contengono errori della fonte ANAC e non vanno sommate alla cieca.

:::::

:::::page{title="Fondi coesione" icon="💶"}

## Chi spende, non solo chi appalta

Gli appalti sono la metà del cerchio: gli altri sono i **progetti finanziati**
con i fondi di coesione (UE + Fondo Sviluppo e Coesione) nel comune indicato
nella pagina «Per comune» — stesso codice ISTAT.

::od-query{into="fondiComune" sql="SELECT count(*) AS progetti, round(sum(finanz_totale_pubblico)) AS totale FROM opencoesione WHERE codice_istat = '{#comune}'"}

:::cards{path="fondiComune" search="false"}
💶 **{progetti}** progetti finanziati, **{totale} €** complessivi
:::

::od-query{into="progettiComune" sql="SELECT titolo AS titolo, tema AS tema, finanz_totale_pubblico AS importo, stato_progetto AS stato FROM opencoesione WHERE codice_istat = '{#comune}' ORDER BY finanz_totale_pubblico DESC LIMIT 30" limit="30"}

:::table{path="progettiComune" headers="Progetto,Tema,Importo €,Stato" pagesize="10"}
{titolo} | {tema} | {importo} | {stato}
:::

:::::

:::::page{title="Tutti i progetti" icon="🗂️"}

## L'intero portafoglio, non solo gare e fondi UE

I fondi di coesione sono una parte della spesa. **OpenCUP** copre QUALUNQUE
progetto d'investimento pubblico dal 2003 — lavori pubblici, incentivi alle
imprese, contributi, servizi — a prescindere da chi lo finanzia: stesso
comune indicato in «Per comune».

::od-query{into="cupComune" sql="SELECT count(*) AS progetti, round(sum(costo_progetto)) AS totale FROM opencup WHERE codice_istat = '{#comune}'"}

:::cards{path="cupComune" search="false"}
🗂️ **{progetti}** progetti CUP, **{totale} €** di costo complessivo
:::

::od-query{into="areeComune" sql="SELECT area_intervento AS area, count(*) AS n, round(sum(costo_progetto)) AS costo FROM opencup WHERE codice_istat = '{#comune}' AND area_intervento IS NOT NULL GROUP BY 1 ORDER BY costo DESC LIMIT 10"}

::chart-bar{data="areeComune" x="area" y="costo" height="18rem"}

::od-query{into="progettiCup" sql="SELECT descrizione AS descrizione, natura_intervento AS natura, costo_progetto AS costo, stato_progetto AS stato FROM opencup WHERE codice_istat = '{#comune}' ORDER BY costo_progetto DESC LIMIT 30" limit="30"}

:::table{path="progettiCup" headers="Descrizione,Natura,Costo €,Stato" pagesize="10"}
{descrizione} | {natura} | {costo} | {stato}
:::

:::::

---

I dati sono i **CIG** e gli **aggiudicatari** dell'Autorità Nazionale
Anticorruzione (licenza CC BY-SA 4.0), i **progetti coesione** di
opencoesione.gov.it (CC BY 4.0), l'intero universo **OpenCUP** del DIPE (CC
BY), l'**anagrafica IndicePA** e il **bilancio demografico ISTAT** (CC BY
4.0). Le fonti si agganciano da sole: la gara conosce il codice fiscale
dell'ente e il codice del suo vincitore, l'ente il suo comune, il comune la
sua popolazione, il CUP aggancia sia le gare che i fondi di coesione. Nessun
dato tuo lascia il dispositivo.