---
title: "Retrieve a product"
method: GET
path: "/v1/climate/products/{product}"
---

# Retrieve a product

`GET /v1/climate/products/{product}`

## Request

- Base URL: `https://api.stripe.com`
- URL: `https://api.stripe.com/v1/climate/products/{product}`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

Retrieves the details of a Climate product with the given ID.

## Path parameters

- `product` string, required

## Query parameters

- `expand` string[]

## Response `200`

Successful response.

- ClimateProduct: A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and availability.
  - `created` integer, required: Time at which the object was created. Measured in seconds since the Unix epoch.
  - `current_prices_per_metric_ton` object, required: Current prices for a metric ton of carbon removal in a currency's smallest unit.
  - `delivery_year` integer, nullable: The year in which the carbon removal is expected to be delivered. If the year is in the past, this represents spot inventory with guaranteed delivery.
  - `id` string, required: Unique identifier for the object. For convenience, Climate product IDs are human-readable strings that start with `climsku_`. See [carbon removal inventory](https://stripe.com/docs/climate/orders/carbon-removal-inventory) for a list of available carbon removal products.
  - `livemode` boolean, required: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
  - `metric_tons_available` string, decimal, required: The quantity of metric tons available for reservation.
  - `name` string, required: The Climate product's name.
  - `object` 'climate.product', required: String representing the object's type. Objects of the same type share the same value.
  - `suppliers` ClimateSupplier[], required: The carbon removal suppliers that fulfill orders for this Climate product.
    - `id` string, required: Unique identifier for the object.
    - `info_url` string, required: Link to a webpage to learn more about the supplier.
    - `livemode` boolean, required: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
    - `locations` ClimateRemovalsLocation[], required: The locations in which this supplier operates.
      - `city` string, nullable: The city where the supplier is located.
      - `country` string, required: Two-letter ISO code representing the country where the supplier is located.
      - `latitude` number, nullable: The geographic latitude where the supplier is located.
      - `longitude` number, nullable: The geographic longitude where the supplier is located.
      - `region` string, nullable: The state/county/province/region where the supplier is located.
    - `name` string, required: Name of this carbon removal supplier.
    - `object` 'climate.supplier', required: String representing the object’s type. Objects of the same type share the same value.
    - `removal_pathway` 'biomass_carbon_removal_and_storage' | 'direct_air_capture' | 'enhanced_weathering' | 'marine_carbon_removal', required: The scientific pathway used for carbon removal.

## Other responses

- `default`: Error response.

## Changes

> 19 revisions in range; 7 not diffed, 2 could not be searched.

- **2026-09-25** `8b5c2f03d4cd`: 11 info
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/bancontact/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/card/mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/ideal/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/sofort/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - …7 more
  - …this revision’s changelog is incomplete
- …earlier changes not shown

[Operation history](https://skmtc.dev/stainless-api/apis/stripe-api/changes/v1/climate/products/:product/get.md)

---

[API](https://skmtc.dev/stainless-api/apis/stripe-api.md) · [All operations](https://skmtc.dev/stainless-api/apis/stripe-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stainless-api/apis/stripe-api/revisions/7cff4cc46d06?raw)
