All Categories

Energy

EIA API
U.S. Energy Information Administration
US Energy Information Administration. Oil, gas, electricity, and renewable energy data.
Oil PricesNatural Gas PricesElectricity GenerationRenewable CapacityEnergy Consumption
API KeyFreeDailyGlobal
Quick start
const res = await fetch(
  `https://api.eia.gov/v2/petroleum/pri/spt/data/?api_key=${process.env.EIA_API_KEY}&frequency=weekly&data[0]=value&facets[product][]=EPCWTI&sort[0][column]=period&sort[0][direction]=desc&length=5`
);
const { response } = await res.json();
response.data.forEach(d => console.log(`${d.period}: $${d.value}/barrel (WTI)`));
Visit
Electricity Maps API
Electricity Maps
Real-time carbon intensity of electricity grids by country and region.
Real-time Carbon IntensityFossil vs Renewable MixPower Import/ExportGrid BreakdownCO2 per kWh
API KeyFreeReal-timeGlobal
Quick start
const res = await fetch(
  'https://api.electricitymap.org/v3/carbon-intensity/latest?zone=DE',
  { headers: { 'auth-token': process.env.ELECTRICITY_MAPS_TOKEN } }
);
const { carbonIntensity, datetime } = await res.json();
console.log(`Germany carbon intensity: ${carbonIntensity} gCO2eq/kWh at ${datetime}`);
Visit
Global Petrol Prices
GlobalPetrolPrices.com
Weekly gasoline and diesel prices in 150+ countries.
Gasoline PriceDiesel PriceLPG Price150+ CountriesWeekly Updates
API KeyFreeWeeklyGlobal
Quick start
const res = await fetch(
  `https://www.globalpetrolprices.com/api/?action=getCountryData&country=usa&energy=gasoline&api_key=${process.env.GPP_API_KEY}`
);
const data = await res.json();
console.log(`USA gasoline: $${data.price} per liter`);
Visit
Our World in Data — Energy
Our World in Data
Long-run energy data. Fossil fuels, renewables, consumption by country.
Energy Mix by CountryPer Capita ConsumptionRenewable GrowthEnergy PovertyHistorical Trend
No AuthFreeAnnualGlobal
Quick start
const res = await fetch(
  'https://api.ourworldindata.org/v1/indicators/144929.data.json'
);
const data = await res.json();
console.log('Global energy data:', Object.keys(data.entities).slice(0, 5));
Visit