Torna alla tua area

Accesso via API

Interroga nxbase in modo programmatico con un token personale che crei nella tua pagina account. Il token agisce col tuo accesso: gli admin vedono tutto l'hostato, i member la proiezione pubblica.

Base URL

https://enextgen.it/nxbase-api

Autenticazione

Invia il token come header Bearer:

Authorization: Bearer nxb_your_token_here

Endpoint

Filtri (multi-valore): parameter, source, commodity, activity, flow, site, period, unit… più sort, dir, page, limit.

Python — il client nxbase (consigliato)

Con nxbase installato, query() restituisce un unico DataFrame esplicito e risolto per nome — item_1/item_2 già esplosi in colonne per set (commodity, activity, site, period…), con le desinenze di ruolo solo dove un tipo si ripete. Niente requests, niente CSV grezzo.

pip install nxbase   # l'env di query
from nxbase.client import query, gwp

API = "https://enextgen.it/nxbase-api"
TOKEN = "nxb_xxx"   # il tuo token personale

# produzione totale: carbone vs gas in Italia e Germania
df = query(
    api_url=API, token=TOKEN,
    parameter="Total output",
    activity=["Coal", "Gas"],
    site=["Italy", "Germany"],
    sort="value", dir="desc",
)

# mix di import elettrico verso l'Italia, 2025 (per ruolo -> site_destination/site_origin)
df = query(api_url=API, token=TOKEN, parameter="Import mix", site={"destination": "Italy"}, period="2025")

# footprint GHG (CO2eq) sotto AR6
df = gwp(api_url=API, token=TOKEN, scheme="GHG.AR6.Y100", source="EX3318h.GHG", site="Italy")

# pivot direttamente sul frame esplicito
df.pivot_table(index="site", columns="activity", values="value", aggfunc="sum")

Senza il client — curl / HTTP grezzo

curl -H "Authorization: Bearer nxb_xxx" \
  "https://enextgen.it/nxbase-api/query.csv?parameter=Import%20mix&period=2025"
import io, requests, pandas as pd

r = requests.get(
    "https://enextgen.it/nxbase-api/query.csv",
    params={"parameter": "Total output", "activity": ["Coal", "Gas"]},
    headers={"Authorization": "Bearer nxb_xxx"},
)
df = pd.read_csv(io.StringIO(r.text))   # già le colonne esplose

Gestire i token

Crea, elenca e revoca i token nella tua pagina account. Il token completo si vede una sola volta, alla creazione — salvalo allora. Un token revocato smette di funzionare subito.