API Reference
Autopilot (preview 2)

Autopilot (preview 2) 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.

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:

Request parametersShould be sent as a JSON object in the body
    • estimateobject

      Details of the emission-generating activity to estimate.


      estimate[x].textrequired string

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


      estimate[x].parametersrequired Parameters object

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


      estimate[x].domainrequired string

      One of the Domains to be used for the calculation.


      estimate[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.


      estimate[x].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.


      estimate[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. Default is false

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

Response parameters
    • 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 in which the factor field is expressed.


      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

      Whether or not the data is publicly available or private to your project. Can be either private or public. Public emission factors are available to all, while private emission factors are only accessible to you.


      results[x].suggestion_detailsobject

      Details about the suggested emission factor, including similarity score and confidence level.


      results[x].suggestion_details[x].confidencestring

      Confidence level of the matching between the input and the emission factor. Possible values are: high, medium and low.


      results[x].suggestion_details[x].similarity_scorefloat or null

      The 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": "mj2ws3denfxgox3nmf2gk4tjmfwhgllupfygkx3dmvwwk3tul5rwk3k7nfuv6nbsfy2q-mnsgkyrsgy2tkzbzge3timrxmm4wim3bgaydambqgaydambqgayq",
"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.93,
"confidence": "high"
}
},
{
"suggestion_id": "mj2ws3denfxgox3nmf2gk4tjmfwhgllupfygkx3bnr2w22lon52xgx3dmvwwk3tu-mnsgkyrsgy2tkzbzge3timrxmm4wim3bgaydambqgaydambqgayq",
"emission_factor": {
"sector": "Materials and Manufacturing",
"category": "Building Materials",
"name": "Aluminous cement",
"unit_type": "Weight",
"unit": "kg/kg",
"source": "CBAM",
"source_dataset": "Emission intensities at country level",
"year": 2023,
"year_released": 2023,
"region": "BA",
"region_name": "Bosnia and Herzegovina",
"description": "Emission intensity of aluminous cement. Product CN code: 2523 30. Retrieved from the Greenhouse gas emission intensities of the steel fertilisers aluminium and cement industries in the EU and its main trading partners.",
"source_link": "https://publications.jrc.ec.europa.eu/repository/handle/JRC134682",
"source_lca_activity": "total",
"data_quality_flags": [],
"access_type": "public"
},
"suggestion_details": {
"similarity_score": 0.93,
"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

Request parametersShould be sent as a JSON object in the body
    • suggestion_idrequired string

      An ID from a Suggest endpoint result.

    • 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

      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

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.

Response parameters
    • 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.

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.

    • domainrequired string

      One of the Domains 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

      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

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.

Response parameters
    • 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_statestring

      State of the review of this calculation. Possible values are: human_review_requested, human_review_in_progress or human_review_finished.


      calculation_details[x].last_human_review_atstring

      Last human review date if any.


      calculation_details[x].confidencestring

      Confidence level of the matching between the input and the emission factor. Possible values are: high, medium and low.


      calculation_details[x].similarity_scorefloat or null

      The 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.91,
"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)"
}
]
}
A finished review with a “low” confidence label

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:

Request parametersShould be sent as a JSON object in the body
    • 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.

Response parameters
    • 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:

Request parametersShould be sent as a JSON object in the body
    • 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.

Response parameters
    • 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.

ValueDescriptionDatasetsSources
generalGeneral list of materials and servicesClimatiqAll non-premium sources in the EFDB
general_and_ecoinventGeneral list of materials and services, from both the Climatiq database and ecoinventClimatiq, ecoinventAll sources in general, plus ecoinvent
ecoinventGeneral list of materials and services from ecoinventecoinventecoinvent
exiobaseSpend-based emission factors from EXIOBASEClimatiqEXIOBASE
manufacturingList of materials and services relevant for the manufacturing industry aggregated from various sourcesClimatiqCircular Ecology, OEKOBAUDAT, BEIS, CBAM, EXIOBASE, EPA, GEMIS, Climate Trace
manufacturing_and_ecoinventList of materials and services relevant for the manufacturing industry aggregated from various sources incl. ecoinventClimatiq, ecoinventAll sources in manufacturing, plus ecoinvent