Skip to Content
API ReferenceBasic Estimate

Basic Estimate Endpoint version: V1V1

Estimation operations are performed to calculate emissions produced by one or more activities, based on multiplying activity data by the appropriate emission factors.

Estimate

POST Calculate total estimated emissions produced for a particular activity, in kgCO2e, using the available emission factors. All requests are performed by sending a POST request to the following endpoint:

https://api.climatiq.io/data/v1/estimate

The method of calculating emission estimates can differ depending on the unit type that the factor accepts and the applicability of the emission factor as indicated in the ID, name and description fields, with further detail provided by the source.

Every factor is linked to a unit type that is specified in the emission factors list inside the unit_type attribute. See all available emission factors in our Data Explorer .

Request

This endpoint accepts the following parameters:

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

      Emission factor ID or selection parameters selector.

    • parametersrequired Parameters

      Emission factor parameters. The parameter object changes depending on the emission factor selected.

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

curl --request POST \ --url https://api.climatiq.io/data/v1/estimate \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "emission_factor": { "activity_id": "metals-type_steel_section", "data_version": "^33" }, "parameters": { "weight": 100, "weight_unit": "kg" } }'

Response

This endpoint returns an Estimation model with an additional notices field.

Additional fields added to the Estimation model
    • noticesarray of Notice

      Lists any notices that are relevant for understanding the result.

{ "co2e": 161, "co2e_unit": "kg", "co2e_calculation_method": "ar4", "co2e_calculation_origin": "source", "emission_factor": { "name": "Steel - Section", "activity_id": "metals-type_steel_section", "id": "7f743e8d-ce7c-43e7-af63-1b89e79916ce", "access_type": "public", "source": "Circular Ecology", "source_dataset": "ICE Database v4", "year": 2024, "region": "GLOBAL", "category": "Metals", "source_lca_activity": "cradle_to_gate", "data_quality_flags": [ "notable_methodological_variance" ] }, "constituent_gases": { "co2e_total": 161, "co2e_other": null, "co2": null, "ch4": null, "ch4_fossil": null, "ch4_biogenic": null, "n2o": null }, "additional_indicators": {}, "activity_data": { "activity_value": 100, "activity_unit": "kg" }, "audit_trail": "selector", "notices": [] }

Inflation adjustment

Set the optional apply_inflation_adjustment field to the year in which the money was spent to adjust a money-based estimate for inflation. The result is adjusted between that spend year and the year of the emission factor that was used (which may differ from a requested year when year_fallback is enabled). The adjusted figure is reflected in co2e and activity_data, and the notices array confirms that an adjustment was made.

The behavior is as follows:

  • A genuine cross-year adjustment emits an informational inflation_applied notice stating the magnitude, for example Inflation adjustment of 6.03% applied between 2023 and 2022. This is reported even when the adjustment works out to 0%.
  • A same-year adjustment (the spend year equals the emission factor’s year) makes no change and emits no notice, as there is nothing to report.
  • A span of more than 2 years emits a large_inflation_adjustment warning instead, which states the magnitude along with a caveat that compounding inflation over a longer period is less accurate.
  • When inflation cannot be applied — because the estimate is not money-based, or because no inflation data is available — the estimate is returned unchanged with a no_inflation_adjustment notice.
curl --request POST \ --url https://api.climatiq.io/data/v1/estimate \ --header "Authorization: Bearer $CLIMATIQ_API_KEY" \ --data '{ "emission_factor": { "activity_id": "textiles-type_curtain_and_linen_mills", "data_version": "^34", "region": "DE", "year": 2023, "year_fallback": true }, "parameters": { "money": 100, "money_unit": "gbp" }, "apply_inflation_adjustment": 2023 }'
{ "co2e": 34.8232358041, "co2e_unit": "kg", "co2e_calculation_method": "ar6", "co2e_calculation_origin": "source", "emission_factor": { "name": "Curtain and linen mills", "activity_id": "textiles-type_curtain_and_linen_mills", "id": "a5c00178-0e01-45b3-b081-deac16704b1f", "access_type": "public", "source": "CEDA", "source_dataset": "Open CEDA 2024", "year": 2022, "region": "DE", "category": "Textiles", "source_lca_activity": "cradle_to_gate", "data_quality_flags": [] }, "constituent_gases": { "co2e_total": 34.8232358041, "co2e_other": null, "co2": null, "ch4": null, "ch4_fossil": null, "ch4_biogenic": null, "n2o": null }, "additional_indicators": {}, "activity_data": { "activity_value": 116.07745268, "activity_unit": "usd" }, "audit_trail": "selector", "notices": [ { "message": "Inflation adjustment of 6.03% applied between 2023 and 2022.", "code": "inflation_applied", "severity": "info" } ] }

Notice

The notices array can contain these objects:

Notice attributes
severity string
Either warning or info. warning is for messages that might lead to inaccurate calculations. You should check these to make sure the results are fit for your intended purpose. info is for information that will help you understand the calculation result better.
message string
An explanation of the notice.
code string
A programmatic value you can use to disambiguate the different notice types.

The different possible values for code are as follows. You should not treat this list as exhaustive as more values may be added with time:

Notice code valuedescription
exchange_rate_fallbackNo exchange rate data was available for the requested year. The calculations were performed with data for the closest available year. This can only happen when using the private data feature with money-based emission factors.
inflation_appliedInflation 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_adjustmentInflation 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_adjustmentInflation was applied, but data was missing for some of the years in the span, so the adjustment only partially covers the period.
no_inflation_adjustmentNo 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.

Batch Estimate Endpoint

POST For bulk data-processing, this endpoint has a batch endpoint variant allowing for up to 100 calculations with one API call.

The batch endpoint is available at:

https://api.climatiq.io/data/v1/estimate/batch

Provide this endpoint with an array of objects, where each object is a valid body for the non-batch endpoint. See the batch endpoint documentation for more information about how batch endpoints work and how to handle errors.

Last updated on