Autopilot (preview 2) 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.
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 to the correct emission factors and delivers accurate and compliant emission estimates.
Leveraging a built-in expert review mechanism and machine learning, Autopilot's matching algorithm consistently refines its precision. This is achieved through active feedback and continuous improvement of the underlying NLP model.
Suggest
POST Return a number of suggested emission factors for a particular calculation. You can adjust the number of suggestions to return. Suggestions are ordered by the most likely match first.
https://preview.api.climatiq.io/autopilot/v1-preview2/suggest
Request
This endpoint accepts the following parameters:
- estimateobject
Details of the emission-generating activity to estimate.
estimate[x].textrequired stringThe free-form input text, such as an activity name, service or material name.
estimate[x].domainrequired stringOne of the Domains to be used for the calculation.
estimate[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 availableestimate[x].regionstringThe 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.estimate[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 isfalse
Default Valuefalse
- 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-preview2/suggest \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "estimate": { "domain": "general", "text": "Cement", "parameters": { "weight": 100, "weight_unit": "kg" } }, "max_suggestions": 2}'
Response
The response includes a list of emission factors and details about its relevance:
- 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 in which the
factor
field is expressed.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_typestringWhether or not the data is publicly available or private to your project. Can be either
private
orpublic
. Public emission factors are available to all, while private emission factors are only accessible to you.results[x].suggestion_detailsobjectDetails about the suggested emission factor, including similarity score and confidence level.
results[x].suggestion_details[x].confidencestringConfidence level of the matching between the input and the emission factor. Possible values are:
high
,medium
andlow
.results[x].suggestion_details[x].similarity_scorefloat or nullThe numeric similarity score between the input and the emission factor. The number is between 0 and 1, and a higher score indicates a better match.
{ "results": [ { "suggestion_id": "mj2ws3denfxgox3nmf2gk4tjmfwhgllupfygkx3dmvwwk3tu-mq3tszbumjtdczjrmfrdinbwgi4tsmrsgaydambqgaydambqgayq", "emission_factor": { "sector": "Materials and Manufacturing", "category": "Building Materials", "name": "Cement", "unit_type": "Weight", "unit": "kg/kg", "source": "GEMIS", "source_dataset": "GEMIS model and database v5.0", "year": 2015, "year_released": 2021, "region": "DE", "region_name": "Germany", "description": "Emission intensity of production of Portland cement. This emission factor reflects manufacturing effort for the provision of selected building materials in Germany in 2015 (average data). Where necessary foreign shares (imports) are included. Total life cycle incl. transport + material input excl. disposal. Reference point is product provision (without use). Retrieved from GEMIS v5.0.", "source_link": "https://iinas.org/downloads/gemis-downloads/", "source_lca_activity": "upstream-use_phase-transport", "data_quality_flags": [], "access_type": "public" }, "suggestion_details": { "similarity_score": 1, "confidence": "high" } }, { "suggestion_id": "mj2ws3denfxgox3nmf2gk4tjmfwhgllupfygkx3dmvwwk3tul5rwk3k7nfuv6nbsfy2q-mq3tszbumjtdczjrmfrdinbwgi4tsmrsgaydambqgaydambqgayq", "emission_factor": { "sector": "Materials and Manufacturing", "category": "Building Materials", "name": "Cement (CEM II 42.5)", "unit_type": "Weight", "unit": "kg/kg", "source": "OEKOBAUDAT", "source_dataset": "OEKOBAUDAT 2023-I", "year": 2018, "year_released": 2023, "region": "DE", "region_name": "Germany", "description": "Emission intensity of cement (cem ii 42.5). The lifecycle assessment for modules A1-A3 includes: the extraction and processing of raw materials (A1) their transportation to the manufacturer (A2) and the actual manufacturing of the product (A3). Retrieved from the Oekobaudat database v20.19.120.", "source_link": "https://www.oekobaudat.de/en/service/downloads.html", "source_lca_activity": "cradle_to_gate", "data_quality_flags": [], "access_type": "public" }, "suggestion_details": { "similarity_score": 0.95, "confidence": "high" } } ]}
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 with a suggested activity from the Suggest endpoint, or by using free-text input, which will automatically calculate emissions with the best emission factor match.
https://preview.api.climatiq.io/autopilot/v1-preview2/estimate
Calculation using suggestion
Receive an estimation for a suggested emission factor match. When you receive a list of suggested emission factors using the Suggest endpoint, you can request for a calculation using the following parameters.
You may specify a different year
and region
from the suggest query - an estimation will be returned if an emission factor can be found with these parameters using an identical activity ID.
Request
- suggestion_idrequired string
An ID from a Suggest endpoint result.
- 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
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
curl --request POST \ --url https://preview.api.climatiq.io/autopilot/v1-preview2/estimate \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "suggestion_id": "mj2ws3denfxgox3nmf2gk4tjmfwhgllupfygkx3dmvwwk3tu-gaydambqgaydambqgaydambqgaydambqgaydambqgaydambqgayq", "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.
- 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": 95.3, "co2e_unit": "kg", "co2e_calculation_method": "ar5", "co2e_calculation_origin": "source", "emission_factor": { "name": "Cement", "activity_id": "building_materials-type_cement", "id": "c7207a20-7747-42bb-bccc-3dcd6ce16808", "access_type": "public", "source": "GEMIS", "source_dataset": "GEMIS model and database v5.0", "year": 2015, "region": "DE", "category": "Building Materials", "source_lca_activity": "upstream-use_phase-transport", "data_quality_flags": [] }, "constituent_gases": { "co2e_total": 95.3, "co2e_other": null, "co2": 93.3, "ch4": 0.05, "n2o": 0.002 }, "activity_data": { "activity_value": 100, "activity_unit": "kg" }, "audit_trail": "enabled" }, "source_trail": [ { "data_category": "emission_factor", "name": "Cement", "source": "GEMIS", "source_dataset": "GEMIS model and database v5.0", "year": "2015", "region": "DE", "region_name": "Germany" } ]}
Calculation using free-text input
Request
Receive an estimation for the best emission factor match using the following parameters.
- textrequired string
The free-form input text, such as an activity name, service or material name.
- domainrequired string
One of the Domains to be used for the calculation.
- 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
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
curl --request POST \ --url https://preview.api.climatiq.io/autopilot/v1-preview2/estimate \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "domain": "general", "text": "Steel", "parameters": { "money": 100, "money_unit": "usd" }}'
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, including review state and confidence level.
calculation_details[x].review_statestringState of the review of this calculation. Possible values are:
human_review_requested
,human_review_in_progress
orhuman_review_finished
.calculation_details[x].last_human_review_atstringLast human review date if any.
calculation_details[x].confidencestringConfidence level of the matching between the input and the emission factor. Possible values are:
high
,medium
andlow
.calculation_details[x].similarity_scorefloat or nullThe numeric similarity score between the input and the emission factor. The number is between 0 and 1, and a higher score indicates a better match. If the emission factor was selected as the basis of a human review, the similarity score will be
null
. - 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": { "review_state": "unreviewed", "last_human_review_at": null, "similarity_score": 0.92, "confidence": "high" }, "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)" } ]}
Note that the confidence label might still be low even after a human review has been finished, e.g. if the string can't be matched to a more relevant emission factor because there is not enough information to match to, or if no well-matched emission factors could be found, but less relevant factors were available. Supplementing more information in the input string and initiating another human review could help us find a higher quality match.
Dry-runs
If you attempt to estimate with free-text input using domain
with a dataset 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 domains and datasets,
before purchasing commercial access to the data.
Handling Errors
If the calculation using free-text input has been through the review process, an error could be returned if your input is not of sufficient quality. In such cases, revise your input string and submit it as a new estimate request.
{ "error": "bad_request", "error_code": "invalid_input", "message": "No emission factors could be found based on the input text. A human review has been finished, and your input is not of sufficient quality to match it to any data. Please revise your input string.",
}
It could also result in an error if no emission factors could be found during a review. Please contact us if you would like to submit a data request to add relevant emission factors into our database.
{ "error": "bad_request", "error_code": "no_emission_factors_found", "message": "No emission factors could be found based on the input text. A human review has been finished, but we did not have the correct data to match your input."}
Request Review
POST Request a review of a particular calculation made with free-text input. Climatiq's in-house experts will conduct a evaluation of the emission factor match. Once reviewed, any subsequent calculation requests using free-text input with identical parameters will automatically match the expert-reviewed emission factor. This process ensures that emission factor matches are fine-tuned based on Climatiq's carbon expertise, improving the accuracy of future calculations.
https://preview.api.climatiq.io/autopilot/v1-preview2/request-review
Request
This endpoint accepts the following parameters:
- estimaterequired object
Object with request submitted to calculation with free-text input above.
- reasonstring
Optional reason or explanation for the review request.
curl --request POST \ --url https://preview.api.climatiq.io/autopilot/v1-preview2/request-review \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "estimate": { "domain": "general", "text": "Cement", "parameters": { "money": 100, "money_unit": "usd" } }, "reason": "Result is not specific enough"}'
Response
The response includes a confirmation message of the request.
- messagestring
Confirmation message.
{ "message": "request registered"}
Override
POST Override the automatically assigned activity for a calculation by providing an activity ID. All future autopilot calls to the Autopilot Estimate endpoint using free-text input for this calculation will be performed with the selected activity.
https://preview.api.climatiq.io/autopilot/v1-preview2/override
Request
This endpoint accepts the following parameters:
- estimaterequired object
Object with request submitted to Estimate with free-text input above.
- override_activity_idrequired string
A valid activity ID for emission estimation.
curl --request POST \ --url https://preview.api.climatiq.io/autopilot/v1-preview2/override \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "estimate": { "domain": "general", "text": "Cement", "parameters": { "money": 100, "money_unit": "usd" } }, "override_activity_id": "building_materials-type_cement"}'
Response
The response includes a confirmation message of the request.
- messagestring
Confirmation message.
{ "message": "override registered"}
Providing a valid activity ID
The override request can be rejected if the provided activity ID is invalid, or no emission factors associated with this activity ID is suitable for this query.
{ "error": "bad_request", "error_code": "no_emission_factors_found", "message": "The activity ID override you specified would not work with the rest of your query. The error you would get when trying it is: No emission factors could be found using the current query."}
Domains
Domains represent a collection of data and heuristics, defined for specific use cases, and restricts the datasets used for matching emission factors.
Value | Description | Datasets | Sources |
---|---|---|---|
general | General list of materials and services | Climatiq | All non-premium sources in the EFDB |
general_and_ecoinvent | General list of materials and services, from both the Climatiq database and ecoinvent | Climatiq, ecoinvent | All sources in general , plus ecoinvent |
ecoinvent | General list of materials and services from ecoinvent | ecoinvent | ecoinvent |
exiobase | Spend-based emission factors from EXIOBASE | Climatiq | EXIOBASE |
manufacturing | List of materials and services relevant for the manufacturing industry aggregated from various sources | Climatiq | Circular Ecology, OEKOBAUDAT, BEIS, CBAM, EXIOBASE, EPA, GEMIS, Climate Trace |
manufacturing_and_ecoinvent | List of materials and services relevant for the manufacturing industry aggregated from various sources incl. ecoinvent | Climatiq, ecoinvent | All sources in manufacturing , plus ecoinvent |