Autopilot Endpoint version: V1 (preview 4)V1 (preview 4) 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 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.
Value | Description | Datasets | Sources |
---|---|---|---|
general | Uses wide knowledge base to produce better results compared to legacy industry-specific models | Climatiq | ADEME, 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:
- Authorizationrequired stringBearer token containing your Climatiq API key. Example:
Authorization: Bearer CLIMATIQ_API_KEY
Don't have an API key? Get your API key here.
- suggestobject
Details of the emission-generating activity.
suggest[x].textrequired stringThe free-form input text, such as an activity name, service or material name.
Default value:[Weight, Money, Volume, Number]
Default Value[Weight, Money, Volume, Number]
suggest[x].yearintegerDefault value: Latest year availableThe 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.
Default ValueLatest year availablesuggest[x].regionstringA 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_fallbackbooleanDefault 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 Valuefalse
suggest[x].sourcearray of stringsDefault value: All sourcesFilters emission factors by data source. Contains the sources you want to include in your search. You can use either the
source
orexclude_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 thesource
of your private factors.Default ValueAll sourcessuggest[x].exclude_sourcearray of stringsFilters emission factors by data source. Contains the sources you want to exclude in your search. You can use either the
source
orexclude_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 thesource
of your private factors.suggest[x].source_lca_activityarray of stringsDefault value: Allsource_lca_activity
Filters emission factors by
source_lca_activity
. If you have the private factors in Autopilot feature enabled, you can also filter by thesource_lca_activity
of your private factors.Default ValueAllsource_lca_activity
- max_suggestionsnumberDefault 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.
Default Value10
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:
- 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_idstringThe unique ID for this suggested activity. Receive an emission estimation using this ID with the Autopilot Estimate endpoint.
results[x].emission_factorobjectThe emission factor that was used for the calculation.
results[x].emission_factor[x].namestringEmission factor name.
results[x].emission_factor[x].categorystringEmission factor category.
results[x].emission_factor[x].sectorstringEmission factor sector.
results[x].emission_factor[x].sourcestringEmission factor publisher.
results[x].emission_factor[x].source_linkstringLink to emission factor publisher.
results[x].emission_factor[x].source_datasetstringThe dataset this emission factor belongs to.
results[x].emission_factor[x].yearnumberThe year in which the emission factor is considered most relevant, according to the source.
results[x].emission_factor[x].year_releasednumberThe year in which the emission factor was released by the source.
results[x].emission_factor[x].regionstringGeographic region to which the emission factor applies (UN/LOCODE).
results[x].emission_factor[x].region_namestringGeographic region to which the emission factor applies (in English).
results[x].emission_factor[x].descriptionstringEmission factor description.
results[x].emission_factor[x].unitstringThe 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_typestringThe Unit types that this emission factor accepts.
results[x].emission_factor[x].source_lca_activitystringWhich LCA activity the emission factor corresponds to. Read more about life cycle assessments here.
results[x].emission_factor[x].data_quality_flagsarrayAny data quality flags that applies to this emission factor.
results[x].emission_factor[x].access_typestringAccess type of the emission factor. Can be either
public
orpremium
. Public emission factors are available to all, while premium emission factors require a separate license.results[x].suggestion_detailsobjectDetails about the suggested emission factor, such as recommendation for a human review.
results[x].suggestion_details[x].labelstringRecommendation for a human review of this match between the input and the emission factor. Possible values are:
accept
andreview
.
{ "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
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.
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
- Authorizationrequired stringBearer token containing your Climatiq API key. Example:
Authorization: Bearer CLIMATIQ_API_KEY
Don't have an API key? Get your API key here.
- 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_yearstringThe year when the goods or the services were purchased.
- parametersrequired Parameters object
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.
- 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_appliednumberThe 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
.
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.
- Authorizationrequired stringBearer token containing your Climatiq API key. Example:
Authorization: Bearer CLIMATIQ_API_KEY
Don't have an API key? Get your API key here.
- textrequired string
The free-form input text, such as an activity name, service or material name.
- parametersrequired Parameters object
- yearintegerDefault 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.
Default ValueLatest year available - 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_fallbackbooleanDefault 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 isfalse
Default Valuefalse
- sourcearray of stringsDefault 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
orexclude_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 thesource
of your private factors.Default ValueAll sources - 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
orexclude_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 thesource
of your private factors. - source_lca_activityarray of stringsDefault 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 thesource_lca_activity
of your private factors.Default ValueAllsource_lca_activity
- inflation_adjustmentbooleanDefault 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 theyear
andregion
specified in this request, whereyear
is the year when the goods or services were purchased, andregion
is the area where the expenditure occurred. Ifregion_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.Default Valuefalse
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.
- 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].labelstringRecommendation for a human review of this match between the input and the emission factor. Possible values are:
accept
andreview
.calculation_details[x].inflation_appliednumberThe 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 Value | Description |
---|---|
emission_factor_region_fallback | Estimation 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_adjustment | Inflation adjustment was applied only partially, not covering the entire period. |
no_inflation_adjustment | No 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. |