GHG Protocol Scope 2 Compliant

Electricity Grid
Emissions API

Convert kWh to CO2e for any country, US state, or cloud region. Grid intensity data for 100+ countries, updated annually. No sales calls required.

View transparent pricing · 500 free requests/month

GHG Protocol Ember 2025 EPA eGRID
Calculate electricity emissions · German office, 5,000 kWh
// Request
GET /v1/electricity/emissions
kwh=5000
country=DE
// Response
{
"co2e": 1958.8,
"co2e_unit": "kg",
"grid_intensity": 332,
"grid_intensity_unit": "gCO2e/kWh",
"source": "Ember 2025"
}
// Includes Scope 2 + WTT breakdown
200 OK 42ms · Audit-ready response

Three levels of precision. One API.

From country averages to specific cloud provider regions — use the granularity that matches your data.

Country-Level

Grid intensity factors for 100+ countries. Source: Ember Global Electricity Review 2025, European Environment Agency, Electricity Maps.

?kwh=5000&country=DE
US State-Level

All 50 US states via EPA eGRID 2023. California (226 gCO₂e/kWh) vs Texas (380) vs Vermont (10) — state selection matters.

?kwh=5000&country=US&state=CA
Cloud Provider Regions

AWS, GCP, and Azure region-specific intensity factors. Calculate emissions for your data centre workloads accurately.

?kwh=50000&cloud_provider=aws&cloud_region=eu-west-1

Real-world use cases

See how sustainability platforms, energy dashboards, and cloud tools integrate electricity emissions data.

Corporate Scope 2 Reporting

Convert electricity bills to CO2e for every office, factory, and warehouse. Calculate Scope 2 across your entire estate in one batch.

  • Location-based Scope 2 calculations
  • GHG Protocol dual reporting ready
  • Multi-site, multi-country support
  • Full audit trail in every response

Scope 2 reporting is mandatory under CSRD, SB 253, and SEC climate rules.

javascript Multi-site Scope 2 calculation
// Calculate Scope 2 for all office locations
const offices = [
  { name: "London HQ", kwh: 45000, country: "GB" },
  { name: "Berlin",    kwh: 28000, country: "DE" },
  { name: "SF Office", kwh: 32000, country: "US", state: "CA" },
];

const results = await Promise.all(
  offices.map(office =>
    fetch(`https://api.emissions.dev/v1/electricity/emissions?`
      + `kwh=${office.kwh}&country=${office.country}`
      + (office.state ? `&state=${office.state}` : ''),
      { headers: { Authorization: `Bearer ${apiKey}` }}
    ).then(r => r.json())
  )
);

// London: 11,534 kg · Berlin: 10,980 kg · SF: 8,534 kg
// Total Scope 2: 31,048 kg CO₂e

Cloud Infrastructure Emissions

Track CO2e for your AWS, GCP, and Azure workloads using region-specific grid intensity data.

  • AWS, GCP, Azure region support
  • Region-specific grid intensity
  • Green region recommendations
python Cloud region comparison
# Compare cloud regions by carbon impact
import requests

regions = [
    {"provider": "aws", "region": "eu-west-1", "label": "Ireland"},
    {"provider": "aws", "region": "us-east-1", "label": "Virginia"},
    {"provider": "aws", "region": "ap-south-1", "label": "Mumbai"},
]

for r in regions:
    resp = requests.get(
        "https://api.emissions.dev/v1/electricity/emissions",
        headers={"Authorization": f"Bearer {API_KEY}"},
        params={
            "kwh": 100000,
            "country": "IE",
            "cloud_provider": r["provider"],
            "cloud_region": r["region"],
        }
    )
    co2e = resp.json()["data"]["attributes"]["emissions"]["co2e"]
    print(f"{r['label']:12} {co2e:,.0f} kg CO₂e")

# Ireland       4,602 kg
# Virginia     42,480 kg  ← 9x more carbon
# Mumbai       82,600 kg  ← 18x more carbon

Energy Management Platforms

Add carbon intelligence to energy monitoring dashboards. Show clients their emissions alongside consumption data.

  • kWh → CO2e conversion in real-time
  • Well-to-Tank upstream emissions included
  • T&D loss adjustment optional
  • Clean/dirty grid alerts built in
14x
difference between cleanest and dirtiest grids
bash Compare grids: France vs Poland
# France — nuclear-powered, very clean grid
$ curl "https://api.emissions.dev/v1/electricity/emissions?\
kwh=10000&country=FR"

{ "co2e": 495.6, "grid_intensity": 42 }
# ℹ️ Clean grid notice: <100 gCO₂e/kWh

# Poland — coal-heavy, high-carbon grid
$ curl "https://api.emissions.dev/v1/electricity/emissions?\
kwh=10000&country=PL"

{ "co2e": 6,985.6, "grid_intensity": 592 }
# ⚠️ Dirty grid warning: >500 gCO₂e/kWh

# Same consumption, 14x more emissions in Poland

Audit-ready methodology

GHG Protocol Scope 2 Guidance compliant with location-based calculations.
Every response includes a full audit trail traceable to source data.

GHG Protocol Scope 2

Location-based method with support for market-based dual reporting as required by the GHG Protocol.

ISO 14064

Compatible with ISO 14064 Part 1 organisation-level quantification and reporting.

Well-to-Tank Included

Upstream fuel extraction and grid losses (Scope 3 Category 3) included by default. Toggle with include_wtt.

T&D Loss Adjustment

Optional transmission & distribution loss calculation (+8% IEA global average). Critical for Scope 3 Category 3 reporting.

json Full Scope 2 response with audit trail
{
  "co2e": 1280.3,
  "co2e_unit": "kg",
  "ghg_protocol_scopes": {
    "scope_2": {
      "location_based": 1085.0,
      "market_based": null,
      "method_note": "Pass market_based_factor for dual reporting"
    },
    "scope_3_category_3": 195.3
  },
  "grid": {
    "carbon_intensity": 217,
    "unit": "gCO2e/kWh",
    "source": "Ember Global Electricity Review 2025",
    "last_updated": "2026-02-07"
  },
  "source_trail": [
    { "source": "Ember 2025", "region": "GB" },
    { "source": "DEFRA 2025", "category": "WTT upstream" }
  ]
}

Free grid intensity lookup

Browse carbon intensity factors for every supported country with our dedicated /v1/electricity/grid endpoint. No kWh required — just look up the data.

100+ countries

Annual updates

50 US states

EPA eGRID 2023

Cloud regions

AWS, GCP, Azure

Sorted by intensity

Cleanest first

100+
Countries
50
US States
3
Cloud providers
<50ms
Avg response

Integrate in minutes

Simple REST API. Just kWh and a country code.

1
Get your API key

Sign up and get your key instantly. No approval process, no sales calls.

2
Pass kWh + country

Two required parameters. Add state or cloud_region for extra precision.

3
Get CO2e in JSON

Scope 2 breakdown, audit trail, and grid metadata in every response.

Electricity API FAQ

Common questions about electricity emissions calculations.

Location-based uses the average grid intensity where your electricity is consumed. This is what our API calculates by default — it reflects the actual carbon intensity of the local grid.

Market-based uses your specific energy supplier's emission factor, or a residual mix factor. If you've purchased renewable energy certificates (RECs/GOs), this method reflects that.

The GHG Protocol requires companies to report both methods. Our API provides the location-based calculation and includes a slot for market-based when you supply your supplier's factor.

We use the best available source for each region:

  • European countries — Ember Global Electricity Review 2025
  • US states — EPA eGRID 2023
  • UK — Ember 2025 (with DEFRA 2025 for official reporting)
  • Cloud regions — Electricity Maps / provider disclosures
  • Other countries — Ember, EEA 2023, Electricity Maps

Every response includes a source_trail identifying exactly which dataset was used.

WTT emissions are the upstream emissions from extracting, processing, and transporting the fuels used to generate electricity. These are classified as Scope 3, Category 3 under the GHG Protocol.

We include WTT by default (+18% based on DEFRA 2025 factors) because many reporting frameworks expect it. You can exclude it with include_wtt=false if you only need the Scope 2 number.

For example: 5,000 kWh in the UK produces 1,085 kg CO₂e (Scope 2) + 195 kg (WTT) = 1,280 kg total.

Electricity is lost during transmission from power stations to the point of consumption. The global average is approximately 8% (IEA).

Enable this with include_td_losses=true. The API will add 8% to your kWh figure before calculating emissions. This is important for Scope 3 Category 3 reporting where T&D losses must be accounted for separately.

Yes. Scope 2 electricity emissions are mandatory under:

  • EU CSRD — European Sustainability Reporting Standards (ESRS E1)
  • California SB 253 — Climate Corporate Data Accountability Act
  • SEC Climate Disclosure Rule — US federal requirements
  • UK Streamlined Energy & Carbon Reporting (SECR)

Our API's audit trail, source references, and methodology metadata are designed to satisfy assurance provider requirements.

Grid intensity factors are updated annually when new data is published by our sources (Ember, EPA, DEFRA). The current dataset was last updated on 7 February 2026 using Ember Global Electricity Review 2025 data. The last_updated field in every response tells you exactly which version of the data you're using.

Absolutely — that's the idea. Combine with:

  • Freight API — Scope 3 Category 4 & 9 (transport)
  • Travel API — Scope 3 Category 6 (business travel)
  • Hotel API — Scope 3 Category 6 (accommodation)
  • Fuel API — Scope 1 (direct combustion)

Together, these cover Scopes 1, 2, and 3 — giving you a complete corporate carbon footprint from a single provider.

Start calculating electricity emissions

Get your API key in 30 seconds. 500 free requests per month. No credit card required.