ExchangeRebel Emission Factors API

The Emission Factors API from ExchangeRebel — 4 operation(s) for emission factors.

GitHub OpenAPI

Operations 4

POST /toll/emissions/calculate Calculate CO2e for one activity from a published factor #
POST /toll/emissions/calculate/batch Calculate CO2e for up to 100 activities in one call #
GET /toll/emissions/factors Emission factor catalog: metadata only, no values #
GET /toll/emissions/health Check the emission factors service status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/exchangerebel-com:exchangerebel-com-emission-factors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

exchangerebel-com-emission-factors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ExchangeRebel — pay-per-call APIs for AI agents (x402 on…
  version: 1.0.0
  contact:
    name: 'ExchangeRebel (operator: Rebel Data)'
    url: https://exchangerebel.com
    email: sound.money.investing@gmail.com
  x-guidance: 'All paid operations use x402 on Solana: call without payment to get a 402 challenge (SOL recipient + USDC token account + fresh memo), pay with the memo attached via the Solana Memo program, then retry with header X-Payment-Tx: <signature> and ?toll_memo=<memo>. Challenges are dual-version: the PAYMENT-REQUIRED header carries the x402 v2 PaymentRequired object and the response body carries the same challenge in x402 v1 form for compatibility. Free operations (security: []) include each service''s /health catalog with full response shapes. Prices in x-payment-info are USD per call unless the summary says otherwise (RPC is per 1,000-request block; Telegram provisioning is per bot-month; transcription is per minute of audio).'
  description: '67 data and utility APIs behind x402 tolls, settled in SOL or USDC on Solana. Call a paid endpoint without payment to receive a 402 x402 challenge (recipient + fresh memo), pay with the memo attached via the Solana Memo program, then retry with the X-Payment-Tx header and toll_memo query parameter. Free catalog/health endpoints are marked without x-payment-info. Full catalogs: GET /toll/discovery and each service''s /health.'
servers:
- url: https://exchangerebel.com
tags:
- name: Emission Factors
paths:
  /toll/emissions/calculate:
    post:
      tags:
      - Emission Factors
      summary: Calculate CO2e for one activity from a published factor
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                ok: true
                paid_with: onchain
                factor_id: epa-egrid-us
                record_id: epa-egrid-us-2023
                activity: Electricity — U.S. national average, total output rate
                quantity: 2000
                unit: kWh
                factor:
                  value_kg_co2e_per_unit: 0.3496671006
                  unit: kg CO2e per kWh
                  original_value: 770.884
                  original_unit: lb CO2e per MWh
                  conversion: 'lb/MWh → kg/kWh: × 0.45359237 (lb→kg) ÷ 1000 (MWh→kWh); source field USC2ERTA in sheet US23'
                result_kg_co2e: 699.334201
                vintage_used: 2023
                vintage_selection: latest_default
                estimate: Estimate — computed from a published average emission factor; not a measured emission.
                disclaimer: Factors are published averages provided as-is with no warranty. DESNZ factors are licensed under the Open Government Licence v3.0; EPA data is public domain. Neither DESNZ nor the U.S. Environmental Protection Agency endorses this service.
                provenance:
                  source: EPA eGRID
                  source_detail: U.S. EPA eGRID2023 (data year 2023), rev2 (June 2025), sheet US23
                  vintage: 2023
                  scope: Scope 2
                  category: Electricity (eGRID)
                  activity: Electricity — U.S. national average, total output rate
                  source_row: eGRID2023 rev2 workbook, sheet 'US23', row key 'US', field USC2ERTA
                  licence: Public domain (U.S. EPA)
                  attribution: U.S. Environmental Protection Agency, eGRID2023 (data year 2023), released January 2025 (rev2, June 2025).
                vintage_note: Year omitted — the latest vintage (2023) was used and is disclosed here. Pass year explicitly to pin a vintage.
                envelope:
                  v: 1
                  service: emission-factors
                  as_of: '2026-10-16T00:00:00Z'
                  source: DESNZ (UK Government GHG Conversion Factors) / U.S. EPA (eGRID, GHG Emission Factors Hub)
                  grade: official
                  changes:
                    supported: false
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                factor_id:
                  type: string
                  description: string (required) - factor id from GET /toll/emissions/factors (base id or full record id incl. vintage)
                quantity:
                  type: number
                  description: number (required) - activity quantity in the factor's unit (must be > 0)
                year:
                  type: integer
                  description: integer - optional activity year selecting the factor vintage; omitted = latest vintage, disclosed in the answer
              required:
              - factor_id
              - quantity
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.005'
      security:
      - x402Payment: []
      operationId: postTollEmissionsCalculate
      x-operation-id-source: derived
  /toll/emissions/calculate/batch:
    post:
      tags:
      - Emission Factors
      summary: Calculate CO2e for up to 100 activities in one call
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                ok: true
                item_count: 100
                items:
                - factor_id: desnz-uk-electricity-electricity-generated-electricity-uk-kwh-kwh
                  record_id: desnz-uk-electricity-electricity-generated-electricity-uk-kwh-kwh-2026
                  activity: 'UK electricity — Electricity generated — Electricity: UK — kWh'
                  quantity: 1
                  unit: kWh
                  factor:
                    value_kg_co2e_per_unit: 0.13096
                    unit: kg CO2e per kWh
                    original_value: 0.13096
                    original_unit: kg CO2e per kWh
                    conversion: null
                    components_kg_co2e_per_unit:
                      co2: 0.12943
                      ch4: 0.00067
                      n2o: 0.00086
                  result_kg_co2e: 0.13096
                  vintage_used: 2026
                  vintage_selection: explicit
                  estimate: Estimate — computed from a published average emission factor; not a measured emission.
                  disclaimer: Factors are published averages provided as-is with no warranty. DESNZ factors are licensed under the Open Government Licence v3.0; EPA data is public domain. Neither DESNZ nor the U.S. Environmental Protection Agency endorses this service.
                  provenance:
                    source: DESNZ
                    source_detail: 'Greenhouse gas reporting: conversion factors 2026 (GOV.UK, published 2026-06-10; flat file revised July 2026)'
                    vintage: 2026
                    scope: Scope 2
                    category: UK electricity
                    activity: 'UK electricity — Electricity generated — Electricity: UK — kWh'
                    source_row: DESNZ flat-format workbook, sheet 'Factors by Category', ID 7_400_4000_5_1 (kg CO2e total row of ID stem 7_400_4000_5)
                    licence: Open Government Licence v3.0
                    attribution: Contains public sector information licensed under the Open Government Licence v3.0.
                total_kg_co2e: 13.096
                estimate: Estimate — computed from a published average emission factor; not a measured emission.
                envelope:
                  v: 1
                  service: emission-factors
                  as_of: '2026-10-16T00:00:00Z'
                  source: DESNZ (UK Government GHG Conversion Factors) / U.S. EPA (eGRID, GHG Emission Factors Hub)
                  grade: official
                  changes:
                    supported: false
                paid_with: onchain
                disclaimer: Factors are published averages provided as-is with no warranty. DESNZ factors are licensed under the Open Government Licence v3.0; EPA data is public domain. Neither DESNZ nor the U.S. Environmental Protection Agency endorses this service.
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  description: 'array (required) - 1-100 calculation items, each {factor_id: string, quantity: number, year?: integer}'
                  items:
                    type: string
              required:
              - items
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: postTollEmissionsCalculateBatch
      x-operation-id-source: derived
  /toll/emissions/factors:
    get:
      tags:
      - Emission Factors
      summary: 'Emission factor catalog: metadata only, no values'
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
      security: []
      operationId: getTollEmissionsFactors
      x-operation-id-source: derived
  /toll/emissions/health:
    get:
      tags:
      - Emission Factors
      summary: Check the emission factors service status
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
      security: []
      operationId: getTollEmissionsHealth
      x-operation-id-source: derived
components:
  securitySchemes:
    x402Payment:
      type: apiKey
      in: header
      name: X-Payment-Tx
      description: 'x402 toll payment proof: the Solana transaction signature of a payment carrying the memo from the 402 challenge; send together with ?toll_memo=<memo>. Payment itself is made on-chain in SOL or USDC to the recipient named in the challenge.'