← All APIs
Energy (Eurostat + ETS)
Eurostat energy series/observations, country indicator cards, World Bank energy profile join, and EU ETS emission summaries. Paid via x402 like other data endpoints.
GET/api/v1/energy/datasetsx402 paid
List Eurostat energy datasets
Datasets in energy_eu_series/obs with observation counts, series counts, geo coverage and period range.
| Param | In | Type | Description |
q | query | string | Prefix filter on dataset_id (e.g. nrg_ind). |
limit | query | integer | Max datasets (default 100). |
Example: GET /api/v1/energy/datasets?q=nrg_ind&limit=20
GET https://api.datanexusai.org/api/v1/energy/datasets?q=nrg_ind&limit=20
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_datasets",
"count": 1,
"datasets": [
{
"dataset_id": "nrg_ind_ei",
"row_count": 12000,
"series_count": 800,
"geo_count": 41,
"period_min": "2006",
"period_max": "2024"
}
]
}
GET/api/v1/energy/datasets/{dataset_id}x402 paid
Energy dataset metadata
Frequencies, units, dimension keys, geo/period coverage for one dataset.
| Param | In | Type | Description |
dataset_id (required) | path | string | Eurostat dataset id |
Example: GET /api/v1/energy/datasets/nrg_ind_ei
GET https://api.datanexusai.org/api/v1/energy/datasets/nrg_ind_ei
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_dataset",
"dataset_id": "nrg_ind_ei",
"freqs": [
"A"
],
"units": [
"KGOE_TEUR"
],
"dimension_keys": [
"nrg_bal"
]
}
GET/api/v1/energy/countriesx402 paid
Countries present in energy data
Distinct geo codes in energy_eu_series with observation counts.
| Param | In | Type | Description |
limit | query | integer | Max countries (default 100). |
Example: GET /api/v1/energy/countries?limit=45
GET https://api.datanexusai.org/api/v1/energy/countries?limit=45
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_countries",
"countries": [
{
"geo": "BG",
"row_count": 50000
}
]
}
GET/api/v1/energy/seriesx402 paid
Energy time series for one country
Observations for dataset_id + geo from energy_eu_obs joined to series. Optional unit/freq/period range and dim.<key>=value filters.
| Param | In | Type | Description |
dataset_id (required) | query | string | Eurostat dataset id |
geo (required) | query | string | ISO2 country code |
unit | query | string | Unit filter |
freq | query | string | Frequency filter (A/Q/M) |
period_from | query | string | Inclusive period lower bound |
period_to | query | string | Inclusive period upper bound |
limit | query | integer | Max points (default 200, max 2000). |
Example: GET /api/v1/energy/series?dataset_id=nrg_ind_ei&geo=BG&freq=A&limit=50
GET https://api.datanexusai.org/api/v1/energy/series?dataset_id=nrg_ind_ei&geo=BG&freq=A&limit=50
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_series",
"dataset_id": "nrg_ind_ei",
"geo": "BG",
"count": 1,
"observations": [
{
"time_period": "2020",
"obs_value": 180.5
}
]
}
GET/api/v1/energy/latestx402 paid
Latest period snapshot for a dataset
All geos (or one geo) at the latest time_period for dataset_id.
| Param | In | Type | Description |
dataset_id (required) | query | string | Eurostat dataset id |
geo | query | string | Optional ISO2 filter |
unit | query | string | Unit filter |
freq | query | string | Frequency filter |
limit | query | integer | Max rows (default 100). |
Example: GET /api/v1/energy/latest?dataset_id=nrg_ind_ei&freq=A&limit=40
GET https://api.datanexusai.org/api/v1/energy/latest?dataset_id=nrg_ind_ei&freq=A&limit=40
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_latest",
"dataset_id": "nrg_ind_ei",
"period": "2023",
"observations": [
{
"geo": "BG",
"obs_value": 170.2
}
]
}
GET/api/v1/energy/comparex402 paid
Compare countries for one dataset/period
Side-by-side values for up to 15 geos. Omit period to use latest available.
| Param | In | Type | Description |
dataset_id (required) | query | string | Eurostat dataset id |
geos (required) | query | string | Comma-separated ISO2 codes (max 15) |
period | query | string | Period (default: latest) |
unit | query | string | Unit filter |
freq | query | string | Frequency filter |
Example: GET /api/v1/energy/compare?dataset_id=nrg_ind_ei&geos=BG%2CRO%2CEL%2CDE&freq=A
GET https://api.datanexusai.org/api/v1/energy/compare?dataset_id=nrg_ind_ei&geos=BG%2CRO%2CEL%2CDE&freq=A
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_compare",
"period": "2022",
"observations": [
{
"geo": "BG",
"obs_value": 175.0,
"rank": 1
}
]
}
GET/api/v1/energy/indicator/{geo}x402 paid
Country energy indicator card
Agent-ready intensity / renewables / electricity-price card from public Eurostat indicators, with simple YoY change when a prior year exists - derived signals rather than raw series.
| Param | In | Type | Description |
geo (required) | path | string | ISO2 country code |
Example: GET /api/v1/energy/indicator/BG
GET https://api.datanexusai.org/api/v1/energy/indicator/BG
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_indicator",
"geo": "BG",
"available": true,
"indicators": {
"energy_intensity": {
"available": true
}
}
}
GET/api/v1/energy/profile/{geo}x402 paid
Country energy profile (Eurostat + World Bank)
Cross-source country profile for AI agents: Eurostat indicator cards joined with World Bank WDI energy-imports % and renewable share for the same geo.
| Param | In | Type | Description |
geo (required) | path | string | ISO2 country code |
Example: GET /api/v1/energy/profile/BG
GET https://api.datanexusai.org/api/v1/energy/profile/BG
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_profile",
"geo": "BG",
"available": true,
"eurostat": {
"available": true
},
"worldbank": {
"energy_imports_pct": 36.5,
"renewable_share_pct": 18.2
}
}
GET/api/v1/energy/balance/{geo}x402 paid
Country energy balance (production vs consumption)
Turns public Eurostat nrg_bal_s statistics into an agent-ready country energy balance card. Instead of returning a raw multi-dimensional table dump, the endpoint derives the quantities agents actually reason about: primary production, gross inland consumption, final energy consumption, imports and exports, plus import-dependency ratios computed from those figures. Defaults are siec=TOTAL and unit=KTOE so a single paid call answers whether a country is structurally import-dependent and how that dependency compares to its domestic production. Optional view=mix adds a GIC fuel-mix breakdown by siec so agents can separate oil exposure from gas or renewables. Period can be pinned with ?period=YYYY; otherwise the latest complete year is used. Built for AI agents and automation that need decision-ready public-energy context rather than unprocessed Eurostat series.
| Param | In | Type | Description |
geo (required) | path | string | ISO2 country code |
unit | query | string | Unit (default KTOE; also TJ, GWH). |
siec | query | string | Product code (default TOTAL). |
period | query | string | Optional year, e.g. 2024. |
view | query | string | Optional view=mix to include GIC fuel-mix by siec. |
Example: GET /api/v1/energy/balance/BG?unit=KTOE
GET https://api.datanexusai.org/api/v1/energy/balance/BG?unit=KTOE
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_balance",
"geo": "BG",
"available": true,
"metrics": {
"primary_production": {
"value": 9633.8,
"unit": "KTOE",
"period": "2024"
},
"gross_inland_consumption": {
"value": 17277.5,
"unit": "KTOE"
}
},
"derived": {
"import_dependency_pct": 42.1
}
}
GET/api/v1/energy/electricity/{geo}x402 paid
Country electricity production & consumption
Agent-ready electricity card from public Eurostat nrg_cb_e (siec=E7000): gross/net production, final consumption, trade balance and self-sufficiency % - structured for AI agents, not a raw table dump. Default unit=GWH.
| Param | In | Type | Description |
geo (required) | path | string | ISO2 country code |
unit | query | string | Unit (default GWH). |
siec | query | string | Product code (default E7000). |
period | query | string | Optional year, e.g. 2025. |
Example: GET /api/v1/energy/electricity/BG?unit=GWH
GET https://api.datanexusai.org/api/v1/energy/electricity/BG?unit=GWH
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_electricity",
"geo": "BG",
"available": true,
"metrics": {
"gross_production": {
"value": 39645.5,
"unit": "GWH",
"period": "2025"
},
"final_consumption": {
"value": 32526.7,
"unit": "GWH"
}
},
"derived": {
"self_sufficiency_pct": 112.7,
"trade_balance": 1320.9
}
}
GET/api/v1/energy/scorecard/{geo}x402 paid
Agent country energy scorecard
One paid call turns public Eurostat, EU ETS and World Bank energy statistics into a decision-ready country scorecard for AI agents. The response composes supply (nrg_bal_s), electricity (nrg_cb_e), fuel mix, prices and renewables, ETS carbon intensity versus gross inland consumption, World Bank external indicators, coverage flags, and regime signals such as import_dependency, power_self_sufficiency, renewables_pace and ets_pressure. This is derived public information reshaped for agent workflows: compare countries, gate downstream tools on coverage, and explain energy regime without stitching five raw datasets by hand.
| Param | In | Type | Description |
geo (required) | path | string | ISO2 country code |
Example: GET /api/v1/energy/scorecard/BG
GET https://api.datanexusai.org/api/v1/energy/scorecard/BG
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_scorecard",
"geo": "BG",
"available": true,
"signals": {
"import_dependency": "high",
"power_self_sufficiency": "exporter",
"renewables_pace": "rising",
"ets_pressure": "moderate"
},
"carbon": {
"ets_emissions_per_gic": 1200.5,
"ets_share_of_eu27": 1.2
}
}
GET/api/v1/energy/rankingsx402 paid
Peer rankings for derived energy metrics
Peer leaderboard for AI agents over derived public-energy metrics (import_dependency_pct, self_sufficiency_pct, renewables_share, ets_emissions, ets_per_gic): rank, value, period and percentile vs EU27 by default.
| Param | In | Type | Description |
metric (required) | query | string | Ranking metric id |
geos | query | string | Optional comma-separated ISO2 list (default EU27). |
limit | query | integer | Max rows (default 40). |
Example: GET /api/v1/energy/rankings?metric=import_dependency_pct&limit=10
GET https://api.datanexusai.org/api/v1/energy/rankings?metric=import_dependency_pct&limit=10
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_rankings",
"metric": "import_dependency_pct",
"rankings": [
{
"rank": 1,
"geo": "MT",
"value": 97.5,
"percentile": 100.0
}
]
}
GET/api/v1/energy/completenessx402 paid
Energy data completeness
Coverage report agents can use before calling paid energy cards: flagship Eurostat datasets (nrg_bal_s, nrg_cb_e, nrg_ind_ei, nrg_ind_ren, nrg_pc_204) and ETS emissions across EU27 geos.
Example: GET /api/v1/energy/completeness
GET https://api.datanexusai.org/api/v1/energy/completeness
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_completeness",
"status": "complete",
"summary": {
"fail_count": 0,
"warn_count": 0,
"pass_count": 6
}
}
GET/api/v1/energy/ets/summaryx402 paid
EU ETS emissions by registry/country
Aggregated verified emissions from energy_emissions, grouped by registry_code (usually ISO2).
| Param | In | Type | Description |
registry | query | string | Optional registry/country code |
year | query | integer | Optional calendar year filter |
limit | query | integer | Max registries (default 50). |
Example: GET /api/v1/energy/ets/summary?year=2022&limit=20
GET https://api.datanexusai.org/api/v1/energy/ets/summary?year=2022&limit=20
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_ets_summary",
"registries": [
{
"registry_code": "DE",
"installation_count": 1200,
"verified_emissions_sum": 350000000.0
}
]
}
GET/api/v1/energy/ets/installationsx402 paid
Top ETS installations for a registry
Largest installations by verified_emissions for one registry_code and year (default: latest year available).
| Param | In | Type | Description |
registry (required) | query | string | Registry/country code |
year | query | integer | Calendar year (default latest) |
limit | query | integer | Max installations (default 50). |
Example: GET /api/v1/energy/ets/installations?registry=BG&limit=20
GET https://api.datanexusai.org/api/v1/energy/ets/installations?registry=BG&limit=20
Payment: x402 · $0.01 USDC · networks: Base, Polygon, Arbitrum One. Unauthenticated call returns HTTP 402 with PAYMENT-REQUIRED.
Example response shape:
{
"endpoint": "energy_ets_installations",
"registry_code": "BG",
"year": 2022,
"installations": [
{
"installation_identifier": "BG-123",
"verified_emissions": 1200000.0
}
]
}