API Reference
Autopilot

Autopilot Endpoint version: V1 (preview 4)V1 (preview 4) 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 three months. 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.

For an overview of how to integrate v1-preview4 into your application, we have added an Autopilot integration guide to guide you through the process. To see the changes since v1-preview3, see our changelog.

Autopilot is an AI-powered calculation endpoint designed to automate spend- and activity-based emission estimates. It uses a proprietary natural language processing (NLP) model paired with Climatiq’s scientific expertise to streamline complex emission calculations, making carbon insights accessible to non-experts.

Autopilot significantly reduces the time and manual effort spent identifying the appropriate emission factors and mapping activity data. Capable of ingesting any taxonomy and unstructured data, this feature matches raw text content and contextual information to find the correct emission factors and delivers accurate and compliant emission estimates.

Autopilot's matching algorithm consistently refines its precision. This is achieved through active feedback and continuous improvement of the underlying NLP model.

Models

As Autopilot is powered by machine learning models, our models have pre-defined restrictions to improve match quality and relevance based on their training and optimization. You can use the source and exclude_source parameters in the request body to define which sources to include or exclude, as long as they are part of the sources available for the chosen model (see table below).

Additional models may be released in the future to support specific use cases and requirements.

ValueDescriptionDatasetsSources
generalUses wide knowledge base to produce better results compared to legacy industry-specific modelsClimatiqADEME, Agribalyse, Bafa, BEIS, CAEP, CBAM, Circular Ecology, Climate TRACE, Climatiq, CO2 Emissiefactoren, DISER, ecoinvent, EPA, EXIOBASE, GEMIS, GLEC, Greenview, Market Economics Limited, MfE, OEKOBAUDAT, OpenIO-Canada, SEFR, WRAP

Some datasets, like ecoinvent and the EXIOBASE 3.10 dataset, require a license. By default, these datasets are included in Autopilot, and the Suggest endpoint returns the best match from both public and licensed datasets.

To use an emission factor from a licensed dataset, you need a valid license for that dataset. If you would like to obtain a license, please reach out to us (opens in a new tab).

If you want to exclude datasets that require a license, you can pass those datasets in the exclude_source parameter. This ensures the response only includes emission factors from sources that don’t need a separate license.

Private emission factors ADD-ONADD-ON

While Autopilot has access to a comprehensive range of emission factors, sometimes you may want to include custom emission factors when performing emission factor matches. You may access your private emission factors as part of Autopilot, by first uploading them through the Private Factors API, or through the Dashboard. To enable this add-on feature, please reach out to us via the contact form (opens in a new tab).

When using Autopilot with private emission factors enabled, you can use all available filter fields (unit_type, year, region, source, exclude_source, and source_lca_activity) to refine your results based on the specific attributes you defined during the upload process.

Compatibility Requirements: Private emission factors must include required metadata to work with Autopilot. As of June 16, 2025, the following fields are required for private factor creation: activity_id, name, sector, and category. Private emission factors uploaded before this date must be re-uploaded to ensure compatibility with Autopilot.

Suggest

POST Return a number of suggested emission factors. The Suggest endpoint finds emission factors that you can use to calculate emissions with via the Estimate endpoint. You can adjust the number of suggestions to return, or filter the results by source, year, region, unit, or lifecycle activity. Suggestions are ranked, with the most relevant result presented first.

https://preview.api.climatiq.io/autopilot/v1-preview4/suggest

Request

This endpoint accepts the following parameters:

Request headersRequired HTTP headers for this request
    • Authorizationrequired string
      Bearer token containing your Climatiq API key. Example: Authorization: Bearer CLIMATIQ_API_KEY
      Don't have an API key? Get your API key here.
Request parametersShould be sent as a JSON object in the body
    • suggestobject

      Details of the emission-generating activity.


      suggest[x].textrequired string

      The free-form input text, such as an activity name, service or material name.


      suggest[x].modelmodel
      Default value: general

      The Model to be used for the calculation.


      suggest[x].unit_typearray of unit_types
      Default value: [Weight, Money, Volume, Number]

      The unit types of the activity. Currently the only unit types that are supported are Weight, Money, Volume and Number.


      suggest[x].yearinteger
      Default value: Latest year available

      The year which the activity occurred. Climatiq will attempt to find an emission factor as close to this year as possible, but might not match the year entirely.


      suggest[x].regionstring

      A region code describing the geographic region where the activity was performed. If this is not provided, Climatiq will pick from emission factors all over the world. If this is provided, Climatiq will only find emission factors matching the supplied region, unless region_fallback is set.


      suggest[x].region_fallbackboolean
      Default value: false

      Set this to true if you're willing to accept a less specific geographical region than the one you've specified. Climatiq will then intelligently attempt to select a different region if it does not find any emission factors with the initial region.


      suggest[x].sourcearray of strings
      Default value: All sources

      Filters emission factors by data source. Contains the sources you want to include in your search. You can use either the source or exclude_source parameter, but not both simultaneously. Must be a source that is part of the specified model. If you have the private factors in Autopilot feature enabled, you can also filter by the source of your private factors.


      suggest[x].exclude_sourcearray of strings

      Filters emission factors by data source. Contains the sources you want to exclude in your search. You can use either the source or exclude_source parameter, but not both simultaneously. Must be a source that is part of the specified model. If you have the private factors in Autopilot feature enabled, you can also filter by the source of your private factors.


      suggest[x].source_lca_activityarray of strings
      Default value: All source_lca_activity

      Filters emission factors by source_lca_activity. If you have the private factors in Autopilot feature enabled, you can also filter by the source_lca_activity of your private factors.

    • max_suggestionsnumber
      Default value: 10

      The maximum number of suggestions to receive. Autopilot will return as many suitable suggestions as it can find, up to the max number requested, or at most 20 suggestions.

curl --request POST \
--url https://preview.api.climatiq.io/autopilot/v1-preview4/suggest \
--header "Authorization: Bearer $CLIMATIQ_API_KEY" \
--data '{
"suggest": {
"text": "Cement"
},
"max_suggestions": 2
}'

Response

The response includes a list of emission factors and details about its relevance:

Response parameters
    • modelstring

      The model used to generate the match.

    • model_versionstring

      The version of the autopilot model used to generate this match. Climatiq continuously releases updated models with improvements. This field allows you to identify the model version used and prioritize results from newer iterations.

    • data_versionstring

      The data version of the emission factor database used for this estimation. Climatiq continuously updates our database of emission factors. This field allows you to track which data version was applied and prioritize results from newer data versions.

    • resultsarray

      A list of emission factors for this emission-generating activity.


      results[x].suggestion_idstring

      The unique ID for this suggested activity. Receive an emission estimation using this ID with the Autopilot Estimate endpoint.


      results[x].emission_factorobject

      The emission factor that was used for the calculation.


      results[x].emission_factor[x].namestring

      Emission factor name.


      results[x].emission_factor[x].categorystring

      Emission factor category.


      results[x].emission_factor[x].sectorstring

      Emission factor sector.


      results[x].emission_factor[x].sourcestring

      Emission factor publisher.


      results[x].emission_factor[x].source_linkstring

      Link to emission factor publisher.


      results[x].emission_factor[x].source_datasetstring

      The dataset this emission factor belongs to.


      results[x].emission_factor[x].yearnumber

      The year in which the emission factor is considered most relevant, according to the source.


      results[x].emission_factor[x].year_releasednumber

      The year in which the emission factor was released by the source.


      results[x].emission_factor[x].regionstring

      Geographic region to which the emission factor applies (UN/LOCODE).


      results[x].emission_factor[x].region_namestring

      Geographic region to which the emission factor applies (in English).


      results[x].emission_factor[x].descriptionstring

      Emission factor description.


      results[x].emission_factor[x].unitstring

      The unit that the emission factor was originally published with, e.g. kg/room-night means "kg of CO2e emitted per night spent in a hotel room". For more details see Understanding units vs unit types.


      results[x].emission_factor[x].unit_typestring

      The Unit types that this emission factor accepts.


      results[x].emission_factor[x].source_lca_activitystring

      Which LCA activity the emission factor corresponds to. Read more about life cycle assessments here.


      results[x].emission_factor[x].data_quality_flagsarray

      Any data quality flags that applies to this emission factor.


      results[x].emission_factor[x].access_typestring

      Access type of the emission factor. Can be either public or premium. Public emission factors are available to all, while premium emission factors require a separate license.


      results[x].suggestion_detailsobject

      Details about the suggested emission factor, such as recommendation for a human review.


      results[x].suggestion_details[x].labelstring

      Recommendation for a human review of this match between the input and the emission factor. Possible values are: accept and review.

{
"results": [
{
"suggestion_id": "giytkntbha4weljxmjstqljugqydkllbmfrdsljqga2ggylemu4wmzdfme-hbrtizteg44wmllegvsgcljumezdqllche4tmljsmm4dinzsgu4wcojugi",
"emission_factor": {
"sector": "Materials and Manufacturing",
"category": "Building Materials",
"name": "Cement",
"unit_type": "Money",
"unit": "kg/usd",
"source": "EPA",
"source_dataset": "Supply Chain Greenhouse Gas Emission Factors v1.3",
"year": 2022,
"year_released": 2024,
"region": "US",
"region_name": "United States of America (the)",
"description": "Emission intensity of supply chain (with margins i.e. cradle to shelf) in US dollars spend on: cement manufacturing. This factor is representative of the described goods or services category as defined by the 2017 version of the North American Industry Classification System (NAICS). Refer to the source for the source-specific data quality assessment. Retrieved from Supply Chain Factors Dataset v1.3.",
"source_link": "https://cfpub.epa.gov/si/si_public_record_Report.cfm?dirEntryId=349324&Lab=CESER",
"source_lca_activity": "cradle_to_shelf",
"data_quality_flags": [],
"access_type": "public"
},
"suggestion_details": {
"label": "accept"
}
},
{
"suggestion_id": "gjrwmmjzmizdcllegu3wcljugntgkljygq4wmlldmzrgeolfgbstgolbga-hbrtizteg44wmllegvsgcljumezdqllche4tmljsmm4dinzsgu4wcojugi",
"emission_factor": {
"sector": "Materials and Manufacturing",
"category": "Building Materials",
"name": "Cement - unspecified (market for)",
"unit_type": "Weight",
"unit": "kg/kg",
"source": "ecoinvent",
"source_dataset": "Cut-off Cumulative LCIA v3.11",
"year": 2021,
"year_released": 2024,
"region": "CH",
"region_name": "Switzerland",
"description": "The activity generating the emissions is market for cement, unspecified. The reference product is cement, unspecified. The product cement, unspecified represents a weighted average of all types of cement in a generic market for cement based on their production volumes. The reference product amount is 1. The cut-off classification is allocatable product. The activity type is ordinary market activity. Please refer to the ecoinvent documentation here for full details: https://ecoquery.ecoinvent.org/3.11/cutoff/dataset/15038/documentation.",
"source_link": "https://ecoquery.ecoinvent.org/3.11/cutoff/search",
"source_lca_activity": "unknown",
"data_quality_flags": [],
"access_type": "premium"
},
"suggestion_details": {
"label": "accept"
}
}
],
"model": "general",
"model_version": "27",
"data_version": "24"
}

Errors

When autopilot is unable to find any emission factor suggestions, it will return the following error. Consider relaxing your filters if you specified any in your request.

{
"error": "bad_request",
"error_code": "no_emission_factors_found",
"message": "No emission factors could be found using the current query."
}

Estimate

POST Calculate an emission estimation for an emission factor match. To calculate an emission estimation you will need to first find an emission factor using the Suggest endpoint. When you have selected an emission factor, you can request for a calculation using the following parameters.

https://preview.api.climatiq.io/autopilot/v1-preview4/suggest/estimate
⚠️
Suggestions from v1-preview3

Note that any suggestion_id returned by previous versions of Autopilot cannot be used in v1-preview4.

Inflation Adjustments

When using spend-based emission factors for carbon estimation, you can enable automatic adjustments for changes in inflation. If your expenditure occurred in a different year than the emission factor's year, your expenditure amount has to be adjusted to match that emission factor's year. Inflation adjustments are calculated using country-specific inflation data, using rates provided by the World Bank (opens in a new tab). To enable this feature, include inflation_adjustment with the year of expenditure. Autopilot will use the emission factor's region as the region of expenditure.

Inflation adjustment methodology

The compound inflation rate, represented as the CIR (Compound Inflation Rate), reflects the cumulative inflation rates over multiple years. To calculate the inflation-adjusted spend amount, the spend should be divided by the CIR for the year following the emission factor's year (e.g., if the spend occurred in 2021 and the factor is from 2019) and then multiplied by the CIR for the year preceding the emission factor's year (e.g., if the spend occurred in 2017 and the factor is from 2019).

Request

Request headersRequired HTTP headers for this request
    • Authorizationrequired string
      Bearer token containing your Climatiq API key. Example: Authorization: Bearer CLIMATIQ_API_KEY
      Don't have an API key? Get your API key here.
Request parametersShould be sent as a JSON object in the body
    • suggestion_idrequired string

      An ID from a Suggest endpoint result.

    • inflation_adjustmentobject

      Data to enable inflation adjustments if the suggested emission factor uses the money unit type. Inflation adjustments are automatically included when this field is specified.


      inflation_adjustment[x].spend_yearstring

      The year when the goods or the services were purchased.

    • parametersrequired Parameters object

      Calculation parameters. Currently the only unit types that are supported are Weight, Money, Volume and Number. You should use the identical unit type as indicated in the metadata of your selected emission factor.

curl --request POST \
--url https://preview.api.climatiq.io/autopilot/v1-preview4/suggest/estimate \
--header "Authorization: Bearer $CLIMATIQ_API_KEY" \
--data '{
"suggestion_id": "mqydemtghbrtillegaztsljugm2dsllbga2wcljsgfrtcobrmm3dqnbxge-ge3gcmzvgy3tmzbqgm2timbqmy4dimtegaydambqgaydambqgayq",
"parameters": {
"weight": 100,
"weight_unit": "kg"
}
}'

Response

The response includes the CO2e estimate and details about the calculation.

Response parameters
    • estimateEstimation

      The estimation performed returning the total CO2e value, constituent gases and more.

    • calculation_detailsobject

      Details about the calculation, such as inflation applied.


      calculation_details[x].inflation_appliednumber

      The compound inflation applied in the calculation if inflation adjustments were included. This is e.g. 0.17 if 17% inflation occurred between the emission factor and spend year. Climatiq will automatically apply inflation or deflation depending on the years.

    • noticesarray of Notices

      Any notices related to the calculation.

    • source_trailarray of Source Data Point

      A list of Source Data Points that help explain and provide trust in the calculation. Click to view more details about Source Trail.

{
"estimate": {
"co2e": 79.52,
"co2e_unit": "kg",
"co2e_calculation_method": "ar4",
"co2e_calculation_origin": "source",
"emission_factor": {
"name": "Cement (CEM II 42.5)",
"activity_id": "building_materials-type_cement_cem_ii_42.5",
"id": "d022f8c4-d039-4349-a05a-21c181c68471",
"access_type": "public",
"source": "OEKOBAUDAT",
"source_dataset": "OEKOBAUDAT 2023-I",
"year": 2018,
"region": "DE",
"category": "Building Materials",
"source_lca_activity": "cradle_to_gate",
"data_quality_flags": []
},
"constituent_gases": {
"co2e_total": 79.52,
"co2e_other": null,
"co2": null,
"ch4": null,
"n2o": null
},
"activity_data": {
"activity_value": 100,
"activity_unit": "kg"
},
"audit_trail": "enabled"
},
"calculation_details": {
"inflation_applied": 0
},
"source_trail": [
{
"data_category": "emission_factor",
"name": "Cement (CEM II 42.5)",
"source": "OEKOBAUDAT",
"source_dataset": "OEKOBAUDAT 2023-I",
"year": "2018",
"region": "DE",
"region_name": "Germany",
"id": "d022f8c4-d039-4349-a05a-21c181c68471"
}
],
"notices": []
}

Emission Factor License

If you attempt to estimate with an emission factor with a premium access type and you do not have access to this premium dataset, an estimation will not be performed. These datasets require a separate purchase license. Contact us to obtain a license for the dataset you wish to purchase.

One-shot Estimate

POST Calculate total estimated emissions produced for an autopilot matched activity, in kgCO2e. All requests are performed by sending a POST request to the following endpoint.

Estimations can be performed by using free-text input. It will automatically perform an emission calculation with the best match, using the emission factor with the top similarity score from the list of factors provided in the Suggest endpoint.

https://preview.api.climatiq.io/autopilot/v1-preview4/estimate

Inflation Adjustments

When using spend-based emission factors for carbon estimation, you can enable automatic adjustments for changes in inflation. If your expenditure occurred in a different year than the emission factor's year, your expenditure amount has to be adjusted to match that emission factor's year. Inflation adjustments are calculated using country-specific inflation data, using rates provided by the World Bank (opens in a new tab). To enable this feature, toggle the inflation_adjustment flag to true.

Inflation adjustment methodology

The compound inflation rate, represented as the CIR (Compound Inflation Rate), reflects the cumulative inflation rates over multiple years. To calculate the inflation-adjusted spend amount, the spend should be divided by the CIR for the year following the emission factor's year (e.g., if the spend occurred in 2021 and the factor is from 2019) and then multiplied by the CIR for the year preceding the emission factor's year (e.g., if the spend occurred in 2017 and the factor is from 2019).

Request

Receive an estimation for the best emission factor match using the following parameters.

Request headersRequired HTTP headers for this request
    • Authorizationrequired string
      Bearer token containing your Climatiq API key. Example: Authorization: Bearer CLIMATIQ_API_KEY
      Don't have an API key? Get your API key here.
Request parametersShould be sent as a JSON object in the body
    • textrequired string

      The free-form input text, such as an activity name, service or material name.

    • modelmodel
      Default value: general

      One of the models to be used for the calculation.

    • parametersrequired Parameters object

      Calculation parameters. Currently the only unit types that are supported are Weight, Money, Volume and Number

    • yearinteger
      Default value: Latest year available

      The year which the activity occurred. Climatiq will attempt to find an emission factor as close to this year as possible, but might not match the year entirely.

    • regionstring

      A region code describing the geographic region where the activity was performed. If this is not provided, Climatiq will pick from emission factors all over the world. If this is provided, Climatiq will only find emission factors matching the supplied region, unless region_fallback is set.

    • region_fallbackboolean
      Default value: false

      Set this to true if you're willing to accept a less specific geographical region than the one you've specified. Climatiq will then intelligently attempt to select a different region if it does not find any emission factors with the initial region. Default is false

    • sourcearray of strings
      Default value: All sources

      Filters emission factors by data source. Contains the sources you want to include in your search. You can use either the source or exclude_source parameter, but not both simultaneously. Must be a source that is part of the specified model. If you have the private factors in Autopilot feature enabled, you can also filter by the source of your private factors.

    • exclude_sourcearray of strings

      Filters emission factors by data source. Contains the sources you want to exclude in your search. You can use either the source or exclude_source parameter, but not both simultaneously. Must be a source that is part of the specified model. If you have the private factors in Autopilot feature enabled, you can also filter by the source of your private factors.

    • source_lca_activityarray of strings
      Default value: All source_lca_activity

      Filters emission factors by source_lca_activity. If you have the private factors in Autopilot feature enabled, you can also filter by the source_lca_activity of your private factors.

    • inflation_adjustmentboolean
      Default value: false

      Whether to apply inflation adjustments to the emission estimation, should Autopilot select an emission factor with a money unit. This is calculated using the year and region specified in this request, where year is the year when the goods or services were purchased, and region is the area where the expenditure occurred. If region_fallback is enabled, and an emission factor of a different region is matched, Autopilot will use the region of the matched emission factor for inflation adjustment.

curl --request POST \
--url https://preview.api.climatiq.io/autopilot/v1-preview4/estimate \
--header "Authorization: Bearer $CLIMATIQ_API_KEY" \
--data '{
"text": "Steel",
"parameters": {
"money": 100,
"money_unit": "usd"
}
}'

Response

The response includes the CO2e estimate and details about the calculation.

Response parameters
    • modelstring

      The model used to generate the match.

    • model_versionstring

      The version of the autopilot model used to generate this match. Climatiq continuously releases updated models with improvements. This field allows you to identify the model version used and prioritize results from newer iterations.

    • data_versionstring

      The data version of the emission factor database used for this estimation. Climatiq continuously updates our database of emission factors. This field allows you to track which data version was applied and prioritize results from newer data versions.

    • estimateEstimation

      The estimation performed returning the total CO2e value, constituent gases and more.

    • calculation_detailsobject

      Details about the calculation, such as recommendation for a human review.


      calculation_details[x].labelstring

      Recommendation for a human review of this match between the input and the emission factor. Possible values are: accept and review.


      calculation_details[x].inflation_appliednumber

      The compound inflation applied in the calculation if inflation adjustments were included. This is e.g. 0.17 if 17% inflation occurred between the emission factor and spend year. Climatiq will automatically apply inflation or deflation depending on the years.

    • noticesarray of Notices

      Any notices related to the calculation.

    • source_trailarray of Source Data Point

      A list of Source Data Points that help explain and provide trust in the calculation. Click to view more details about Source Trail.

{
"estimate": {
"co2e": 47,
"co2e_unit": "kg",
"co2e_calculation_method": "ar4",
"co2e_calculation_origin": "climatiq",
"emission_factor": {
"name": "Cast iron and steel",
"activity_id": "metals-type_cast_iron_steel",
"id": "15e75a68-b485-494b-8cbc-398d417207a7",
"access_type": "public",
"source": "EPA",
"source_dataset": "Supply Chain Factors Dataset (commodities)",
"year": 2018,
"region": "US",
"category": "Metals",
"source_lca_activity": "cradle_to_shelf",
"data_quality_flags": []
},
"constituent_gases": {
"co2e_total": null,
"co2e_other": 0.7,
"co2": 41.3,
"ch4": 0.2,
"n2o": 0
},
"activity_data": {
"activity_value": 100,
"activity_unit": "usd"
},
"audit_trail": "enabled"
},
"calculation_details": {
"label": "accept",
"inflation_applied": 0
},
"source_trail": [
{
"data_category": "emission_factor",
"name": "Cast iron and steel",
"source": "EPA",
"source_dataset": "Supply Chain Factors Dataset (commodities)",
"year": "2018",
"region": "US",
"region_name": "United States of America (the)",
"id": "15e75a68-b485-494b-8cbc-398d417207a7"
}
],
"notices": [],
"model": "general",
"model_version": "27",
"data_version": "24"
}

Dry-runs

If you attempt to estimate without suggestion using a premium source that your API key does not have access to, the estimate will still work, but the CO2e values will not be provided. This is so you can evaluate how good matches would be using different models and sources, before purchasing commercial access to the data.

Notice

The notices array can contain these objects:

Notice attributes
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 programmatic value you can use to disambiguate the different notice types.

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
emission_factor_region_fallbackEstimation was performed using an emission factor from a different region due to data not being available for the region specified in your request.
partial_inflation_adjustmentInflation adjustment was applied only partially, not covering the entire period.
no_inflation_adjustmentNo inflation adjustment was made to the procurement. This could be because there is no data for the spend_country or inflation data is missing for the entire period.