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. Scope 2 (location- and market-based) and Scope 1 fuel emissions, site comparison and cleanest-hour scheduling; 12 data endpoints and an 11-tool MCP server 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 its own database with its own API. This wraps them all behind a single call pattern, with MCP tooling so Claude, Cursor, and Cline can call them directly.
format=hourly. CAMD publishes by quarter, so the latest data is from the last quarter that ended 45+ days ago.GET /api/lookup?zip=94105 - emission factors, generation mix, utility infoGET /api/lookup?zip=94105&year=2024 - eGRID2024 factors (Cornerstone run of EPA's eGRID code; not an EPA release)POST /api/lookup/batch - up to 100 ZIP codes per requestGET /api/lookup/by-coordinates?lat=37.7749&lon=-122.4194 - lat/lon to ZIP via US Census GeocoderPOST /api/calculate - send ZIP + kWh, get kg CO₂e back directlyGET /api/intensity?zip=94105&hours=24 - hourly grid carbon intensity + fuel mix for the balancing authority serving that ZIPGET /api/intensity?ba=CISO&aggregate=hour_of_day - pre-computed 24-hour average profile with cleanest/dirtiest hour + swing ratioGET /api/rate?zip=94105 - state-average retail rate by sector (residential, commercial, industrial)GET /api/utility-rate?zip=94105 - utility-specific tariff with effective rate, fixed charges, TOU/tier flags (URDB)GET /api/plant-emissions?facility_id=3&days=7 - CO₂, NOx, SO₂ for one fossil plant (per-facility summary; format=hourly for unit-hour records)GET /api/plant-emissions?state=TX&days=1 - state-wide aggregate sorted by emissionsPOST /api/bulk - upload a CSV with a ZIP column (and optionally kWh), get it back enrichedGET /openapi.json - OpenAPI 3.0 specification (all endpoints)POST /mcp - Model Context Protocol server exposing 11 tools for Claude, Cursor, Cline. MCP setup guideGET /llms.txt - LLM-friendly discovery documentFull API reference with response schemas and code examples: API documentation
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.
Generated by Cornerstone Data by running EPA's open-source eGRID code on 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.
33,700+ Census ZCTAs mapped to 27 eGRID subregions via centroid-in-polygon spatial intersection with EPA subregion boundary shapefiles. Covers every Census ZCTA in the eGRID system (99.9%); PO-box ZIPs have no ZCTA and are not mapped. Each ZIP gets the one subregion containing its centroid.
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.
"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.
"My two-person shop needs US grid factors for client facility lists without a paid data contract."
US ZIP → eGRID factor with audit provenance. Bulk CSV upload (up to 1 MB) enriches client facility lists with each site's factor and, with a kWh column, location- and market-based CO₂e. Free.
Endpoints: /api/lookup/batch, /api/bulk. Outcome: a facility list enriched in one call, free.
"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.
Endpoints: /api/calculate, /api/lookup. Outcome: ship the sustainability feature in a day, not a quarter.
"Some of my workloads are flexible. I want to run them when the grid is cleanest."
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: the cleanest hours for each site from the last week of EIA-930 data (in the ZIP's local time, optionally limited to given hours such as overnight). Reported Scope 2 uses annual factors, so the benefit is real-world emissions, not the inventory number. See full hourly intensity guide.
"I need the dirtiest power plants in Texas for a story due Friday."
One call to /api/plant-emissions?state=TX&days=30 returns the top 25 facilities by CO₂ (short tons) for the latest 30 days CAMD has published (up to 500 with limit). Per facility: total CO₂, gross generation, heat input, fuel type, derived kg-CO₂-per-MWh. Data source: EPA CAMD, published quarterly.
Endpoints: /api/plant-emissions. Outcome: 2 days of research → 10 minutes.
"I want my AI to answer 'which of our US offices has the dirtiest grid, and when should our Texas site run its batch jobs?'"
Drop our MCP server URL into your Claude/Cursor/Cline config. Agents instantly gain 11 tools: lookup_emission_factor, compare_sites, cleanest_hours, calculate_fuel_emissions, 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. Add to Claude (opens Claude's connector dialog, pre-filled), or see MCP setup for Claude Code, Cursor and other clients.
"We're picking between Austin, Denver, and Phoenix for our next data center. Need a side-by-side on carbon and cost."
One POST /api/compare call ranks up to 25 candidate ZIPs on grid carbon (location- and market-based), retail $/kWh and each site's cleanest daily window, with annual tCO₂e and cost for your load.
Endpoints: /api/compare. MCP tool: compare_sites. Outcome: defensible siting decision backed by cited EPA/EIA data.
California's SB 253 requires Scope 1 and 2 reporting for companies with $1B+ revenue. The first reports were due 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.
The US average CO₂e rate fell 2.5% in 2024 (0.350 to 0.341 kg/kWh). 18 of 27 subregions got cleaner and 9 got dirtier. Biggest shifts: SPP North -9.6% (wind 40% to 44%, coal 32% to 27%), Northwest -8.3% (coal 16% to 14%), California -5.8% (solar 20% to 23%), Upstate New York +12.3% (gas 26% to 29% as nuclear and hydro fell). Full analysis with 27-subregion comparison table.
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.
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 eGRID2024 (Cornerstone) via ?year=2024 (generated from EPA's open-source pipeline).
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,700+ ZIP codes mapped, returns GHG Protocol compliant emission data with full audit provenance, and needs no key or signup. Climatiq covers global factors across many categories. Electricity Maps provides real-time carbon intensity but is designed for load-shifting, not annual compliance reporting.
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.
This API is focused on US electricity emission factors at ZIP-code level using EPA eGRID. Climatiq covers global emission factors across many categories (freight, travel, procurement) - a broader scope. Key differences: this API is free with no key or signup, works at ZIP-code granularity, and includes generation mix and utility data. Choose this for US Scope 2; choose Climatiq for global multi-category needs.
Yes. California's SB 253 requires Scope 1 and Scope 2 reporting for companies with $1B+ revenue. The first reports were due 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.
View all 50 states - EPA eGRID2023 emission factors with generation mix, calculators, and subregion breakdowns.
View all 27 eGRID subregions - complete emission factor tables with NOx, SO₂, and generation mix.
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 (Cornerstone). 27 subregions, 33,700+ ZCTAs (99.9% of Census ZCTAs). Updated for 2026. Terms · Privacy · llms.txt