Mapping Agent Endpoint version: V1V1 ADD-ONADD-ON
For an overview of how to integrate Mapping Agent into your application, we have added an
Mapping Agent integration
guide to guide you
through the process. To see the changes since v1-preview4, see our
changelog.
The Mapping Agent (formerly Autopilot) is an AI-powered calculation endpoint designed to automate spend- and activity-based emission estimates across scope 1, 2, and 3 emissions. It uses a mix of large language models (LLMs), and 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.
The Mapping Agent 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.
The Mapping Agent’s matching algorithm consistently refines its precision. This is achieved through active feedback and continuous improvement of the underlying models.
Premium sources and datasets ADD-ONADD-ON
Some premium datasets, like ecoinvent and the EXIOBASE 3.10 and later datasets, require a license on top of the core Climatiq access.
If you are debating whether to buy a license for premium data, or just want to see the best match for any given query, regardless of whether you have access, you can set the availability parameter to "include_unlicensed" in the Suggest Endpoint.
If you do that, all emission factors are considered. You can tell whether you have access to an emission factor with your current license, by looking at the availability field returned under each.
For data that is unavailable to you, the factor values will be hidden, and you won’t be able to use them in Basic Estimate. They are only provided so you can evaluate what datasets have good matches for your query.
Private emission factors ADD-ONADD-ON
While the Mapping Agent 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 the Mapping Agent, 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 .
When private emission factors are enabled, the Mapping Agent searches across both your private emission factors and Climatiq’s database. You can use the filter fields (unit_type, year, region, source, exclude_source, and source_lca_activity) to refine results based on the attributes you defined when uploading your private factors. Note that the scope and source_dataset filters are not currently available for private emission factors. To restrict the Mapping Agent to search only your private emission factors, specify "access_type": "private".
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 Basic 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://api.climatiq.io/mapping-agent/v1/suggestRequest
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.textrequired stringThe free-form input text, such as an activity name, service or material name.
suggest.sectorarray of stringFilters emission factors by the sector they belong to.
suggest.categoryarray of stringFilters emission factors by the category they belong to.
Default value: Allunit_typeThe unit types of the activity. All unit types are supported.
Default ValueAllunit_typesuggest.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.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_fallbackis set.suggest.region_fallbackbooleanDefault value:falseSet this to
trueif 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. If a region fallback is used, the API will return a Notice.Default Valuefalsesuggest.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
sourceorexclude_sourceparameter, but not both simultaneously. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesourceof your private factors.Default ValueAll sourcessuggest.source_datasetarray of stringsDefault value: All source datasetsFilters emission factors by
source_dataset.Default ValueAll source datasetssuggest.exclude_sourcearray of stringsFilters emission factors by data source. Contains the sources you want to exclude in your search. You can use either the
sourceorexclude_sourceparameter, but not both simultaneously. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesourceof your private factors.suggest.source_lca_activityarray of stringsDefault value: Allsource_lca_activityFilters emission factors by
source_lca_activity. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesource_lca_activityof your private factors.Default ValueAllsource_lca_activitysuggest.scopearray of stringsDefault value: All scope categoriesFilters by scope, such as
1,2,3.1,3.2, etc. Scope 3 categories can be explicitly stated (such as3.1) or all Scope 3 categories can be selected by specifying3.Default ValueAll scope categoriessuggest.access_typearray of stringsDefault value: Allaccess_typeFilters by the access type of the emission factors. Allowed values are
public,privateandpremiumDefault ValueAllaccess_typesuggest.availability"available_only"or"include_unavailable"Default value:"available_only"If this is set to
available_only, you will only see emission factors that you have access to with your current plan. If set toinclude_unavailableyou will see the best matches, regardless of whether you have access to that given factor. For more details see the section on premium sources and datasetsDefault Value"available_only"suggest.effort"high"or"low"Default value:highThe effort used to match your result to emission factors. The default,
highwill give significantly better matches but spend more time. We recommend you usehighunless you have lower latency requirements.Default Valuehigh - max_suggestionsnumberDefault value: 10
The maximum number of suggestions to receive. The Mapping Agent 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://api.climatiq.io/mapping-agent/v1/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:
- resultsarray
A list of emission factors for this emission-generating activity.
The suggested emission factor.
results[x].suggestion_detailsobjectDetails about the suggested emission factor.
results[x].suggestion_details.labelstringRecommendation for a human review of this match between the input and the emission factor. Possible values are:
acceptandreview.results[x].suggestion_details.availabilitystringIf this emission factor is available to use e.g. in Basic Estimate given your current license. This will always be
"available" unless you have explicitly setavailabilitytoinclude_unavailable. Possible values are:availableandrequires_additional_license.Any notices relevant to this suggestion
- model_versionstring
The version of the Mapping Agent 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 versions.
- 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.
{
"results": [
{
"emission_factor": {
"id": "9e177562-7665-4a62-85a5-ba42a66d7acc",
"activity_id": "building_materials-type_cement",
"name": "Cement",
"sector": "Materials and Manufacturing",
"category": "Building Materials",
"source": "Bafa",
"source_dataset": "Informationsblatt CO2-Faktoren v3.3",
"source_link": "https://www.bafa.de/SharedDocs/Downloads/DE/Energie/eew_infoblatt_co2_faktoren_2025.html",
"source_lca_activity": "cradle_to_gate",
"year": 2025,
"year_released": 2025,
"region": "DE",
"region_name": "Germany",
"unit_type": "Weight",
"unit": "kg/kg",
"supported_calculation_methods": [
"ar4"
],
"factor": 0.77,
"factor_calculation_method": "ar4",
"factor_calculation_origin": "source",
"constituent_gases": {
"co2e_total": 0.77,
"co2e_other": null,
"co2": null,
"ch4": null,
"n2o": null
},
"additional_indicators": {},
"data_version": {
"status": "up_to_date"
},
"data_version_information": {
"status": "up_to_date"
},
"scopes": [
"3.1",
"3.2"
],
"uncertainty": null,
"description": "Emission intensity of cement. Retrieved from the file Informationsblatt CO2-Faktoren v3.3 in the source URL. Data quality flag: Methodology - The source does not specify the IPCC AR version of GWPs used to calculate CO2e.",
"data_quality_flags": [
"notable_methodological_variance"
],
"access_type": "public"
},
"suggestion_details": {
"label": "accept",
"availability": "available"
},
"notices": []
},
{
"emission_factor": {
"id": "5b669229-c575-8310-941f-9948a37fc35e",
"activity_id": "building_materials-type_cement_production",
"name": "Cement production",
"sector": "Materials and Manufacturing",
"category": "Building Materials",
"source": "UNFCCC / Turkish Statistical Institute",
"source_dataset": "2025 Common Reporting Table (CRT)",
"source_link": "https://unfccc.int/documents/646495",
"source_lca_activity": "unknown",
"year": 2023,
"year_released": 2025,
"region": "TR",
"region_name": "Türkiye",
"unit_type": "Weight",
"unit": "kg/kg",
"supported_calculation_methods": [
"ar4",
"ar5",
"ar6"
],
"factor": 0.54784663745,
"factor_calculation_method": "ar6",
"factor_calculation_origin": "climatiq",
"constituent_gases": {
"co2e_total": null,
"co2e_other": null,
"co2": 0.54784663745,
"ch4": 0,
"n2o": 0
},
"additional_indicators": {},
"data_version": {
"status": "up_to_date"
},
"data_version_information": {
"status": "up_to_date"
},
"scopes": [
"3.1",
"3.2"
],
"uncertainty": null,
"description": "Emission intensity of industrial processes and product use - CO2 only. Retrieved from sheet: 'Table2(I).A-H' of the 2023 Excel file within the Common Reporting Tables 2025 published by UNFCCC and provided by the Turkish Statistical Institute at the source URL.",
"data_quality_flags": [],
"access_type": "public"
},
"suggestion_details": {
"label": "accept",
"availability": "available"
},
"notices": []
}
],
"model_version": "36",
"data_version": "33"
}Errors
When the Mapping Agent 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."
}One-shot Estimate
POST Calculate total estimated emissions produced for a Mapping Agent matched activity, in
kgCO2e.
Estimations can be performed by using free-text input. It will automatically perform an emission calculation with the best match, using the best matched emission factor, i.e. the top one that would have been suggested by the Suggest endpoint.
https://api.climatiq.io/mapping-agent/v1/estimateInflation 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 . To enable this feature, set the apply_inflation_adjustment parameter to the year in which you spent the money.
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
Calculation parameters. All unit types are supported.
- sectorarray of string
Filters emission factors by the sector they belong to.
- categoryarray of string
Filters emission factors by the category they belong to.
- 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_fallbackis set. - region_fallbackbooleanDefault value:
falseSet this to
trueif 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. If a region fallback is used, the API will return a Notice.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
sourceorexclude_sourceparameter, but not both simultaneously. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesourceof your private factors.Default ValueAll sources - source_datasetarray of stringsDefault value: All source datasets
Filters emission factors by
source_dataset.Default ValueAll source datasets - 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
sourceorexclude_sourceparameter, but not both simultaneously. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesourceof your private factors. - source_lca_activityarray of stringsDefault value: All
source_lca_activityFilters emission factors by
source_lca_activity. If you have enabled the Private Factors inside Mapping Agent, you can also filter by thesource_lca_activityof your private factors.Default ValueAllsource_lca_activity - scopearray of stringsDefault value: All scope categories
Filters by scope, such as
1,2,3.1,3.2, etc. Scope 3 categories can be explicitly stated (such as3.1) or all Scope 3 categories can be selected by specifying3.Default ValueAll scope categories - access_typearray of stringsDefault value: All
access_typeFilters by the access type of the emission factors. Allowed values are
public,privateandpremiumDefault ValueAllaccess_type - apply_inflation_adjustmentinteger
The year in which the money was spent. When set on a money-based estimate, the result is adjusted for inflation between this year and the emission factor’s year. See Inflation adjustment.
- effort
"high"or"low"Default value:highThe effort used to match your result to emission factors. The default,
highwill give significantly better matches but spend more time. We recommend you usehighunless you have lower latency requirements.Default Valuehigh
curl --request POST \
--url https://api.climatiq.io/mapping-agent/v1/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.
- 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.labelstringRecommendation for a human review of this match between the input and the emission factor. Possible values are:
acceptandreview. - 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.
- noticesarray of Notices
Any notices related to the calculation.
- model_versionstring
The version of the Mapping Agent 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 versions.
- 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.
{
"estimate": {
"co2e": 69.148512,
"co2e_unit": "kg",
"co2e_calculation_method": "ar5",
"co2e_calculation_origin": "source",
"emission_factor": {
"name": "Basic iron and steel",
"activity_id": "metals-type_basic_iron_and_steel",
"id": "723f5f50-5765-4a13-9689-dfee93b4a4df",
"access_type": "public",
"source": "Climatiq",
"source_dataset": "Climatiq UK spend-based",
"year": 2024,
"region": "GB",
"category": "Metals",
"source_lca_activity": "unknown",
"data_quality_flags": []
},
"constituent_gases": {
"co2e_total": 69.148512,
"co2e_other": 8.17608,
"co2": 60.972432,
"ch4": null,
"n2o": null
},
"additional_indicators": {},
"activity_data": {
"activity_value": 78.24,
"activity_unit": "gbp"
},
"audit_trail": "enabled"
},
"calculation_details": {
"label": "accept"
},
"source_trail": [
{
"data_category": "emission_factor",
"name": "Basic iron and steel",
"source": "Climatiq",
"source_dataset": "Climatiq UK spend-based",
"year": "2024",
"region": "GB",
"region_name": "United Kingdom",
"id": "723f5f50-5765-4a13-9689-dfee93b4a4df"
}
],
"notices": [],
"model_version": "36",
"data_version": "33"
}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 or suggestion used an emission factor from a different region due to data not being available for the region specified in your request. |
inflation_applied | Inflation was successfully applied to a money-based estimate. The message states the magnitude applied, for example Inflation adjustment of 6.03% applied between 2023 and 2022. |
large_inflation_adjustment | Inflation was applied over a span of more than 2 years. The message states the magnitude and cautions that compounding inflation over a longer period is less accurate. |
partial_inflation_adjustment | Inflation was applied, but data was missing for some of the years in the span, so the adjustment only partially covers the period. |
no_inflation_adjustment | No inflation adjustment was made and the estimate is returned unchanged. This is informational when the estimate is not money-based, and a warning when inflation data is unavailable for the emission factor’s country or year range. |