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, 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:

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

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

    Default Value
    kg
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.

AttributeTypeDescription
co2efloatThe total greenhouse gas emissions associated with the imported goods, expressed in the unit listed in co2e_unit
co2e_unitstringThe unit in which the co2e field is expressed. Currently this value is always "kg"
estimated_costs_eurfloatEstimated 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_emissionsEstimationAn emissions object, that represent the direct emissions occurred during the production of the imported goods
indirect_emissionsEstimationAn emissions object, that represent the indirect emissions occurred during the production of the imported goods
noticesarray of NoticesAny 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 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 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 valuedescription
region_fallbackNo specific emission factors were found for the combination of product and imported region. A wider geographic emission factor was used instead.