---
title: List SKUs
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Product Catalog
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# List SKUs{% #list-skus %}
Copy pageCopied
{% tab title="v2" %}
**Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
| Datadog site      | API endpoint                                                  |
| ----------------- | ------------------------------------------------------------- |
| ap1.datadoghq.com | GET https://api.ap1.datadoghq.com/api/v2/product-catalog/skus |
| ap2.datadoghq.com | GET https://api.ap2.datadoghq.com/api/v2/product-catalog/skus |
| app.datadoghq.eu  | GET https://api.datadoghq.eu/api/v2/product-catalog/skus      |
| app.ddog-gov.com  | GET https://api.ddog-gov.com/api/v2/product-catalog/skus      |
| us2.ddog-gov.com  | GET https://api.us2.ddog-gov.com/api/v2/product-catalog/skus  |
| uk1.datadoghq.com | GET https://api.uk1.datadoghq.com/api/v2/product-catalog/skus |
| app.datadoghq.com | GET https://api.datadoghq.com/api/v2/product-catalog/skus     |
| us3.datadoghq.com | GET https://api.us3.datadoghq.com/api/v2/product-catalog/skus |
| us5.datadoghq.com | GET https://api.us5.datadoghq.com/api/v2/product-catalog/skus |

### Overview



Get every generally available Datadog SKU, with the pricing and allotment metadata that applies to it, for the Datadog site serving the request. A SKU is generally available when it is billed through a metered commitment or through automatic billing; SKUs in any other phase are not returned.

Prices, allotments, and pricing tiers are returned as they were in effect on `as_of_date`, which defaults to the date of the request. Prices are public list prices: they do not reflect discounts, commitments, or negotiated rates on an account.

Each SKU is a separate resource in `data`, identified by its SKU code, and sorted by that code in ascending order. The whole catalog is returned in a single response, so this endpoint is not paginated.
This endpoint requires any of the following permissions:`billing_read``usage_read` 
OAuth apps require the `usage_read` authorization [scope](https://docs.datadoghq.com/api/latest/scopes.md#product-catalog) to access this endpoint.



### Arguments

#### Query Strings

| Name                      | Type   | Description                                                                                                                                                                                                                                                                                                     |
| ------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| version [*required*] | enum   | The version of the product catalog response contract to return. `v1` is the latest. This is independent of the `/api/v2` path segment, which is the version of the Datadog API itself. Allowed enum values: `v1`                                                                                                |
| as_of_date                | string | The date the returned prices, allotments, and pricing tiers are effective as of, in `YYYY-MM-DD` format. Defaults to the date of the request, and must not be later than it. Set it to a date in a past billing period to reconcile that period against the prices that were in effect then, rather than today. |

### Response

{% tab title="200" %}
OK
{% tab title="Model" %}
Response containing the generally available SKUs and their pricing metadata.

| Parent field     | Field                                               | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                  | data [*required*]                              | [object] | The generally available SKUs, sorted by SKU code in ascending order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| data             | attributes [*required*]                        | object   | The pricing and allotment metadata of a SKU.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| attributes       | allotments [*required*]                        | [object] | The allotments the SKU provides to other SKUs. Every entry carries the code of this SKU as its `parent_sku_code`. Empty when the SKU provides no allotments.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| allotments       | child_sku_code [*required*]                    | string   | The code of the SKU that receives the allotment.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| allotments       | hourly_quantity [*required*]                   | double   | The quantity allotted per hour. Fractional for some allotments, and equal to `monthly_quantity` for others, depending on how the child SKU meters usage.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| allotments       | monthly_quantity [*required*]                  | int64    | The quantity allotted per month.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| allotments       | parent_sku_code [*required*]                   | string   | The code of the SKU that provides the allotment. Always the code of the SKU the allotment is returned under.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| attributes       | billing_dimension [*required*]                 | string   | The identifier of the billing dimension the SKU is billed on, as used by the usage metering endpoints. Several SKUs can share one billing dimension, so this value does not identify a SKU.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| attributes       | billing_units [*required*]                     | string   | The billable usage unit the SKU is priced per. `null` for SKUs that are not priced per unit of usage, such as those whose `pricing_type` is `percent`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| attributes       | currency [*required*]                          | string   | The ISO-4217 code of the currency the prices are expressed in.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| attributes       | default_on_demand_option [*required*]          | enum     | The billing frequency applied to on-demand usage of the SKU by default. Allowed enum values: `hourly,monthly`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| attributes       | number_of_units_included_in_price [*required*] | int64    | The number of billable usage units that one unit of price covers. Divide measured usage by this value before multiplying by the price. For example, a SKU priced at `18.00` with `number_of_units_included_in_price` of `1` costs `18.00` per host, while a SKU priced at `12.00` with `number_of_units_included_in_price` of `10000` costs `12.00` per 10,000 requests. It is a scaling factor on the price, not a free allotment; included quantities are in `allotments`. The same factor applies to the price of a tier in `on_demand_tiered` whose `pricing_unit_type` is `unit`. It does not apply to a tier whose `pricing_unit_type` is `block`: that tier's `price` is charged for the whole block bounded by `min_usage_quantity` and `max_usage_quantity`, however much of the block is used. `0` for SKUs that are not priced per unit of usage, such as those whose `pricing_type` is `percent`. |
| attributes       | on_demand_list_price [*required*]              | string   | The public list price of on-demand usage of the SKU, as a decimal string. The number of decimal places is not normalized, so values such as `0`, `0.9`, and `30000.00` all occur. `null` when the SKU is priced with tiers, in which case the prices are in `on_demand_tiered`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| attributes       | on_demand_tiered [*required*]                  | object   | The tiered pricing applied to on-demand usage of the SKU. `null` when the SKU is priced with a single list price instead.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| on_demand_tiered | tiers [*required*]                             | [object] | The pricing tiers, ordered by ascending usage quantity.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| tiers            | max_usage_quantity [*required*]                | int64    | The exclusive upper bound of the usage range the tier prices. `null` on the final tier, which is unbounded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| tiers            | min_usage_quantity [*required*]                | int64    | The inclusive lower bound of the usage range the tier prices.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| tiers            | price [*required*]                             | string   | The price applied to usage in the tier, as a decimal string. The number of decimal places is not normalized, so free tiers appear as either `0` or `0.00`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| tiers            | pricing_unit_type [*required*]                 | enum     | Whether the tier's price applies per unit of usage or to a block of usage. Allowed enum values: `block,unit`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| attributes       | pricing_type [*required*]                      | enum     | How the SKU is priced. `usage` prices each billable usage unit, and `percent` prices a percentage; percent-priced SKUs have no `billing_units`. Allowed enum values: `usage,percent`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| attributes       | sku_name [*required*]                          | string   | The human-readable name of the SKU.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| data             | id [*required*]                                | string   | The code that identifies the SKU.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| data             | type [*required*]                              | enum     | The SKU resource type. Allowed enum values: `Sku`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": [
    {
      "attributes": {
        "allotments": [
          {
            "child_sku_code": "CUSTOM-EVENTS",
            "hourly_quantity": 0.684932,
            "monthly_quantity": 500,
            "parent_sku_code": "HOSTS-PRO"
          }
        ],
        "billing_dimension": "infra_host",
        "billing_units": "hosts",
        "currency": "USD",
        "default_on_demand_option": "monthly",
        "number_of_units_included_in_price": 1,
        "on_demand_list_price": "18.00",
        "on_demand_tiered": {
          "tiers": [
            {
              "max_usage_quantity": 100000,
              "min_usage_quantity": 1,
              "price": "120.00",
              "pricing_unit_type": "unit"
            }
          ]
        },
        "pricing_type": "usage",
        "sku_name": "Infra Host (Pro)"
      },
      "id": "HOSTS-PRO",
      "type": "Sku"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request - version is missing or invalid, or as_of_date is malformed or in the future
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden - the caller has neither the billing_read nor the usage_read permission
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="404" %}
Not Found - the requested catalog version is not supported
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                  \# Required query arguments export version="v1" \# Curl command curl -X GET "https://api.datadoghq.com/api/v2/product-catalog/skus?version=${version}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" 
                
##### 

```ruby
# List SKUs returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.list_product_catalog_sk_us".to_sym] = true
end
api_instance = DatadogAPIClient::V2::ProductCatalogAPI.new
p api_instance.list_product_catalog_sk_us(ProductCatalogSKUsAPIVersion::V1)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
{% /tab %}
