Grid carbon emission factors by US ZIP code

emission-factors.com unifies US government datasets - EPA eGRID (annual grid carbon), EIA-930 (hourly fuel mix), EIA Form 861 (retail rates), EPA CAMD (plant-level emissions), and OpenEI URDB (utility-specific tariffs) behind one REST API indexed by US ZIP code. 11 endpoints, 8 MCP tools for AI agents, free, no key, no signup.

None of these government data sources are unified, ZIP-indexed, or accessible as a developer API on their own. EPA eGRID ships as Excel files organized by subregion. EIA-930 is hourly JSON from a separate system. URDB is a licensed database. This wraps them all behind a single call pattern, with MCP tooling so Claude, Cursor, and Cline can call them directly.

What you can retrieve per ZIP code

Carbon

Cost

Grid composition

Derived metrics (computed server-side)

API endpoints

Core lookups (annual emission factors)

Hourly grid intensity (EIA-930)

Cost (EIA Form 861 + OpenEI URDB)

Plant-level emissions (EPA CAMD)

Unified state overview

Bulk enrichment

Discovery + AI agents

Full API reference with response schemas and code examples: API documentation

Data sources

eGRID2023 Rev 2 (official, default)

Released June 12, 2025 by the US EPA. Table 1: eGRID Subregion Output Emission Rates. 27 subregions covering the contiguous US, Alaska, Hawaii, and Puerto Rico. This is the most recent official EPA release as of 2026.

eGRID2024 (preliminary, via ?year=2024)

Generated by Cornerstone Data from the EPA's open-source eGRID R pipeline (MIT license) using 2024 EIA and EPA CAMD input data. Published on Zenodo under CC-BY-4.0. Validated against official 2023 release (<1% discrepancy). Full 2023 vs 2024 comparison.

ZIP-to-subregion mapping

33,616 Census ZCTAs mapped to 27 eGRID subregions via centroid-in-polygon spatial intersection with EPA subregion boundary shapefiles. Covers 99.5% of US ZIP codes. Multi-subregion ZIPs return all candidates. Subregion boundaries have been stable since 2012.

It's free

No tiers, no key, no credit card. Every endpoint and the MCP server are open to call directly, rate-limited per IP.

Read the API docs - no key, no signup, just call the endpoints.

What you can build - 7 canonical use cases

1. EV charging network planner

"I need to rank candidate ZIPs for new fast-charger sites by clean, cheap grid - not guess."

For each candidate ZIP, pull the annual carbon factor, the retail rate, and the hourly intensity profile for its balancing authority. Rank candidates by "cleanest + cheapest kWh" and pinpoint the best hours to charge. A few API calls combined server-side, ~20 lines of Python.

Endpoints: /api/lookup, /api/rate, /api/intensity. Outcome: data-backed siting instead of gut feel.

2. Sustainability consultant replacing Climatiq

"My two-person shop can't justify $1,000/mo Climatiq for three client projects."

US ZIP → eGRID factor with audit provenance. Bulk CSV upload (up to 100 ZIPs/request) enriches client facility lists with per-facility tCO₂e, grid rank, and trends. Free for most small consulting workloads.

Endpoints: /api/lookup/batch, /api/bulk. Outcome: free replaces what used to cost $500-1,500/mo.

3. SaaS founder adding "carbon footprint" to their product

"Users want to see the CO₂ of their cloud compute. I don't want to become an emissions expert."

One call: POST /api/calculate with {zip, kwh} returns CO₂e kg directly. Response includes the eGRID factor used, data year, and a citation string you can display next to the number. No subregion logic, no unit conversion, no audit concerns.

Endpoints: /api/calculate, /api/lookup. Outcome: ship the sustainability feature in a day, not a quarter.

4. Data center / cloud workload carbon-aware scheduler

"My workloads run 24/7, but the grid is 10× dirtier at 9 pm than at 3 pm. I want to shift flexible workloads."

Hourly grid carbon intensity per balancing authority (EIA-930 derived, 24-hour lag). Returns per-hour kg CO₂e/kWh and fuel mix. Use aggregate=hour_of_day to get the average 24-hour profile plus swing ratio in one call. Backtest demand-response policies before deploying.

Endpoints: /api/intensity. Outcome: 20-30% Scope 2 reduction from scheduling alone, zero equipment change. See full hourly intensity guide.

5. Journalist / data reporter on energy beat

"I need the top 10 dirtiest power plants in Texas last month for a story due Friday."

One call to /api/plant-emissions?state=TX&days=30 returns every fossil unit >25 MW sorted by CO₂ (short tons). Per facility: total CO₂, gross generation, heat input, fuel type, derived kg-CO₂-per-MWh. Data source: EPA CAMD. Paywall-free alternative to S&P Market Intelligence ($30k+/yr).

Endpoints: /api/plant-emissions. Outcome: 2 days of research → 10 minutes.

6. AI agent builder (Claude, Cursor, Cline)

"I want my AI to answer 'what's the carbon impact of running this workload in us-east-1 vs eu-west-1?'"

Drop our MCP server URL into your Claude/Cursor/Cline config. Agents instantly gain 8 tools: lookup_emission_factor, hourly_intensity, electricity_rate, utility_tariff, plant_emissions, calculate_emissions, lookup_by_coordinates, lookup_batch. No install, no key required.

Endpoints: /mcp. Outcome: sustainability intelligence inside any AI workflow in 30 seconds. See MCP setup.

7. Real estate / facility siting analyst

"We're picking between Austin, Denver, and Phoenix for our next data center. Need a side-by-side on carbon and cost."

Three /api/state calls return unified overviews: annual carbon factor, residential/commercial rate, balancing authority, 2018-2023 decarbonization trend, per-capita data, and derived carbon cost ($/tCO₂e). Compare across candidates in one afternoon with defensible data.

Endpoints: /api/state, /api/lookup. Outcome: defensible siting decision backed by cited EPA/EIA data.

Additional job-to-be-done: SB 253 compliance (August 2026 deadline)

California's SB 253 requires Scope 1 and 2 reporting for companies with $1B+ revenue. First deadline: August 10, 2026. Use /api/bulk with your facility CSV, get audit-trailed per-facility emissions out. Data provenance in every response. Step-by-step Scope 2 guide.

eGRID 2024: what changed

The US grid got 1.8% cleaner on average in 2024. 20 of 27 subregions saw lower CO₂e rates. Key shifts: SPP North -9.6% (wind buildout), Northwest -8.3% (strong hydro year), California -5.8% (solar growth). Upstate New York +12.3% (likely nuclear outage). Full analysis with 27-subregion comparison table.

Frequently asked questions

Is there a free emission factor API?

Yes. emission-factors.com offers a free emission factor API, free, with no key and no signup. The API includes all endpoints: single ZIP lookup, batch (up to 100 ZIPs), kWh to CO2 calculation, bulk CSV upload, coordinate lookup, hourly grid intensity, plant emissions, and utility tariffs. No credit card, no paid tier. See the API docs.

How to access EPA eGRID data via API

The EPA does not provide eGRID as an API - they publish it as Excel files organized by subregion. emission-factors.com is an EPA eGRID API that makes this data accessible via REST. Send a ZIP code, get back CO₂e, CO₂, CH₄, N₂O, generation mix, utility info, and data provenance in JSON. Official eGRID2023 Rev 2 data by default, plus preliminary eGRID2024 via ?year=2024 (generated from EPA's open-source pipeline).

What is the best emission factor API for Scope 2 reporting?

For US-specific Scope 2 reporting at ZIP-code granularity, emission-factors.com is the best emission factor API because it uses authoritative EPA eGRID data with 33,616 ZIP codes mapped, returns GHG Protocol compliant emission data with full audit provenance, and requires no enterprise contract. Climatiq covers global factors but requires enterprise sales for full access. Electricity Maps provides real-time carbon intensity but is designed for load-shifting, not annual compliance reporting.

Is there a carbon accounting API for developers?

Yes. This is a carbon accounting API built for developers: no key and no signup, full documentation with curl/Python/JavaScript examples, OpenAPI spec, deterministic responses with ETag caching. The API converts kWh to CO2 emissions for any US ZIP code, or processes bulk CSV files with automatic emissions calculation. No sales calls, no onboarding, no minimum commitment.

Emission factor API comparison: how does this compare to Climatiq?

This API is focused on US electricity emission factors at ZIP-code level using EPA eGRID. Climatiq covers 300+ global regions across many categories (freight, travel, procurement) - a broader scope. Key differences: this API is self-serve and free with no key or signup (Climatiq requires enterprise contact for full access), provides ZIP-code granularity (Climatiq works at state/country level for US electricity), and includes generation mix and utility data. Choose this for US Scope 2; choose Climatiq for global multi-category needs.

Can I use this API for calculating Scope 2 emissions under SB 253?

Yes. California's SB 253 requires Scope 1 and Scope 2 reporting for companies with $1B+ revenue. First deadline: August 10, 2026. This API provides the location-based emission factors specified by the GHG Protocol Scope 2 Guidance, with data provenance in every response for your methodology documentation. See our step-by-step Scope 2 guide.

Emission factors by state

View all 50 states - EPA eGRID2023 emission factors with generation mix, calculators, and subregion breakdowns.

eGRID subregion emission factors

View all 27 eGRID subregions - complete emission factor tables with NOx, SO₂, and generation mix.

Guides and resources

External references

emission-factors.com is the official domain for the Emission Factors API. Not affiliated with emissionfactors.xyz, CO2API, or any other service. Not affiliated with the US EPA, EIA, or NREL.

Data from EPA eGRID2023 Rev 2 + eGRID2024 preliminary. 27 subregions, 33,616 ZCTAs, 99.5% US coverage. Updated for 2026. Terms · Privacy · llms.txt