CBAM ADD-ONADD-ON
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, Aluminium, 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, Aluminium, 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.
Request
This endpoint accepts the following parameters:
- 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
Unit of weight. One of
g
,kg
,t
(metric ton),lb
,ton
(US short ton)Default Valuekg
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 Estimation, which includes the total amount of emissions in kgCO2e
and the emission factor used to calculate the emissions.
Attribute | Type | Description |
---|---|---|
co2e | float | The total greenhouse gas emissions associated with the imported goods, expressed in the unit listed in co2e_unit |
co2e_unit | string | The unit in which the co2e field is expressed. Currently this value is always "kg" |
estimated_costs_eur | float | 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. |
direct_emissions | Estimation | An emissions object, that represent the direct emissions occurred during the production of the imported goods |
indirect_emissions | Estimation | An emissions object, that represent the indirect emissions occurred during the production of the imported goods |
notices | array of Notices | Any notices related to the calculation. |
{ "co2e": 206000, "co2e_unit": "kg", "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" }, "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" }, "notices": []}
Notice
The notices
array can contain objects like these:
Notice attributes | Type | Description |
---|---|---|
severity | string | Either 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. |
message | string | An explanation of the notice. |
code | string | A machine-readable categorisation 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 value | description |
---|---|
region_fallback | No specific emission factors were found for the combination of product and imported region. A wider geographic emission factor was used instead. |