API Reference
CBAM (preview)

CBAM ADD-ONADD-ON

⚠️
Preview Feature

This feature is currently in preview. That means that we believe the feature is good enough to start using, but:

  • There might still be bugs or edge cases we haven't covered.
  • The documentation and error messages might be less detailed.
  • We might need to make further changes in the API surface.

We need the ability to iterate quickly on preview versions, so we offer less guarantees of stability. When we make changes to the preview version, we will release a new version, and you must migrate to this new version within one month. Read more about API versioning at Climatiq here.For this reason, preview endpoints are not available without explicitly opting in. If you would like to opt-in to this preview feature, please contact us.

The Carbon Border Adjustment Mechanism (CBAM) (opens in a new tab) has been introduced by the European Union (EU) to promote lower carbon production in countries outside of the EU. It places requirements on importers of certain goods (currently Iron & Steel, Aluminum, Cement, Fertilizer, Electricity and Hydrogen) to report emissions from their production and ultimately pay a tax on those emissions. Starting in 2026, companies will be required to purchase certificates corresponding to the total emissions from their imported goods in these categories.

Climatiq's CBAM feature uses benchmark emission factors published by the EU that may be used for reporting purposes where estimates are permitted. These include direct, indirect and total emissions for the countries that, together, produce more than 90% of EU imports. Where there is no EF for the combination of good and region, the EU default "Rest of World" EF is applied (opens in a new tab). The default factors may also be obtained directly by using "ROW" as the region. Currently, the CBAM emission factors cover just those published by the EU for Iron & Steel, Aluminum, Cement and Fertilizer.

The goods covered by CBAM regulations are defined by specific Combined Nomenclature (opens in a new tab)(CN) codes. The definitive list of goods is given on the CBAM website in Annex 1 to the Regulation. (opens in a new tab)

Note that the official CBAM guidance is subject to review and revision by the EU and users are responsible for ensuring they comply with the latest guidance.

Estimate

POST Calculate total estimated emissions produced for a particular Combined Nomenclature (opens in a new tab)(CN) code, for use with CBAM reporting.

https://preview.api.climatiq.io/cbam/v1-preview1/estimate

This endpoint lets you specify a CN code and have Climatiq automatically select the appropriate emission factor.

CN codes have to follow the same format as the CBAM regulations to be accepted by the endpoint. The format is one of the following - note the spaces between sets of digits.

  • 4 digits: 7309
  • 6 digits: 7318 15
  • 8 digits: 7318 24 00

The string of digits also has to match the string in the CBAM regulations exactly - there is no hierarchy or fall back e.g. “7309 14 00” will not be converted into “7309”.

Request

This endpoint accepts the following parameters:

Request parametersShould be sent as a JSON object in the body
    • cn_coderequired string

      The combined nomenclature code for the imported goods.

    • production_regionrequired string

      The region the goods were produced in. If you specify "ROW" then this will return the EU default factors.

    • weightrequired float

      The weight of the imported goods in the defined unit

    • weight_unitstring
      Default value: kg

      Unit of weight. One of g, kg, t (metric ton), lb, ton (US short ton)

curl --request POST \
--url https://preview.api.climatiq.io/cbam/v1-preview1/estimate \
--header "Authorization: Bearer $CLIMATIQ_API_KEY" \
--data '{
"cn_code": "7206 10 00",
"production_region": "CN",
"weight": 100,
"weight_unit": "t"
}'

Response

This endpoint returns an object with several EstimationWithSourceTrail, which includes the total amount of emissions in kgCO2e and the emission factor used to calculate the emissions.

Response parameters
    • co2efloat

      The total greenhouse gas emissions associated with the imported goods, expressed in the unit listed in co2e_unit

    • co2e_unitstring

      The unit in which the co2e field is expressed. Currently, this value is always "kg"

    • co2e_calculation_methodstring

      Which calculation methodology that was used for the calculation. The value of this is either "ipcc_ar4_gwp100", "ipcc_ar5_gwp100", "ipcc_ar6_gwp100" or "ipcc_mixed_gwp100". Learn more about calculation methods here.

    • estimated_costs_eurfloat

      Estimated cost in euros of buying carbon certificates for emissions equivalent to co2e, based on the average 2023 certificate cost of 84 euros per tonne.

    • An object that represents the estimated direct emissions occurred during the production of the imported goods

    • indirect_emissionsEstimationWithSourceTrail

      An object that represents the estimated indirect emissions occurred during the production of the imported goods

    • noticesarray of Notices

      Any notices related to the calculation.

{
"co2e": 206000,
"co2e_unit": "kg",
"co2e_calculation_method": "ipcc_ar5_gwp100",
"estimated_costs_eur": 17304,
"direct_emissions": {
"co2e": 183000,
"co2e_unit": "kg",
"co2e_calculation_method": "ar5",
"co2e_calculation_origin": "source",
"emission_factor": {
"name": "Iron non-alloy steel - primary - ingots",
"activity_id": "metals-type_iron_non_alloy_steel_primary_ingots",
"id": "969d9d23-bec0-4c5f-9727-1ca6a0db7505",
"access_type": "public",
"source": "CBAM",
"source_dataset": "Emission intensities at country level",
"year": 2023,
"region": "CN",
"category": "Metals",
"source_lca_activity": "direct",
"data_quality_flags": []
},
"constituent_gases": {
"co2e_total": 183000,
"co2e_other": null,
"co2": null,
"ch4": null,
"n2o": null
},
"activity_data": {
"activity_value": 100000,
"activity_unit": "kg"
},
"audit_trail": "enabled",
"source_trail": [
{
"data_category": "emission_factor",
"name": "Iron non-alloy steel - primary - ingots",
"source": "CBAM",
"source_dataset": "Emission intensities at country level",
"year": "2023",
"region": "CN",
"region_name": "China"
}
]
},
"indirect_emissions": {
"co2e": 23000,
"co2e_unit": "kg",
"co2e_calculation_method": "ar5",
"co2e_calculation_origin": "source",
"emission_factor": {
"name": "Iron non-alloy steel - primary - ingots",
"activity_id": "metals-type_iron_non_alloy_steel_primary_ingots",
"id": "46f63b74-63fb-4a52-8fea-436a322893b2",
"access_type": "public",
"source": "CBAM",
"source_dataset": "Emission intensities at country level",
"year": 2023,
"region": "CN",
"category": "Metals",
"source_lca_activity": "indirect",
"data_quality_flags": []
},
"constituent_gases": {
"co2e_total": 23000,
"co2e_other": null,
"co2": null,
"ch4": null,
"n2o": null
},
"activity_data": {
"activity_value": 100000,
"activity_unit": "kg"
},
"audit_trail": "enabled",
"source_trail": [
{
"data_category": "emission_factor",
"name": "Iron non-alloy steel - primary - ingots",
"source": "CBAM",
"source_dataset": "Emission intensities at country level",
"year": "2023",
"region": "CN",
"region_name": "China"
}
]
},
"notices": []
}

Notice

The notices array can contain objects like these:

Notice attributesTypeDescription
severitystringEither warning or info. warning is for messages that might lead to inaccurate calculations. You should check these to make sure the results are fit for your intended purpose. info is for information that will help you understand the calculation result better.
messagestringAn explanation of the notice.
codestringA machine-readable categorization of the notice to allow automatic handling.

The different possible values for code are as follows. You should not treat this list as exhaustive as more values may be added with time:

Notice code valuedescription
region_fallbackNo specific emission factors were found for the combination of product and imported region. A wider geographic emission factor was used instead.