Quando você precisar confirmar o projeto do Google Cloud que pretende usar
para a API Cloud Billing Catalog, recomendamos usar um projeto configurado
para conter todas as suas necessidades de FinOps e administração de faturamento de uma
conta do Cloud Billing, incluindo onde a API Cloud Billing está
ativada.
[SERVICE_NAME] é o nome do recurso para o serviço;
[SERVICE_ID] é o identificador para o serviço;
[DISPLAY_NAME] é o nome de exibição legível para o serviço.
Os resultados são paginados e estão limitados a 5.000 SKUs por página. A resposta inclui um nextPageToken que pode ser usado para conseguir os próximos 5.000 resultados.
Para buscar o próximo lote, defina pageToken=[NEXT_PAGE_TOKEN].
Para reduzir o número de SKUs por página, defina pageSize=[CUSTOM_PAGE_SIZE].
Quando todos os itens forem listados, nenhum token será retornado.
Como conseguir a lista de SKUs para um serviço
O snippet de código a seguir lista as SKUs no catálogo para o serviço especificado:
Solicitação:
GET https://cloudbilling.googleapis.com/v1/services/SERVICE_ID/skus?key=<var>API_KEY</var>
[SKU_NAME] é o nome do recurso da SKU no formato
services/{SERVICE_ID}/skus/{SKU_ID};
[SKU_ID] é o identificador exclusivo da SKU;
[SKU_DESCRIPTION] é uma descrição legível da SKU;
[SVC_DISPLAY_NAME] é o nome de exibição do serviço ao qual a SKU pertence;
[FAMILY] é o tipo de produto ao qual a SKU se refere. Por exemplo, "Compute", "Storage", "Network" etc.;
[GROUP] é uma classificação de grupo para SKUs relacionadas. Por exemplo, "RAM", "GPU", "Prediction" etc.;
[USAGE] representa como a SKU é consumida. Por exemplo, "OnDemand", "Preemptible", "Commit1Mo", "Commit1Yr" etc;
[REGION] é a lista de regiões de serviço onde a SKU é oferecida. Por exemplo, "asia-east1";
[TIME] é um carimbo de data/hora que representa a hora em que este preço entrou em vigor no formato 2014-10-02T15:01:23.045123456Z;
[SUMMARY] é um resumo legível das informações de preços;
[USAGE_UNIT] é a abreviação da unidade de uso em que o preço é
especificado. Por exemplo, a usageUnit "GiBy" indica que o uso é especificado em "Gibibytes";
[USAGE_UNIT_DESCRIPTION] é a unidade de uso legível, por exemplo, "gibibyte".
[BASE_UNIT] é a unidade base da SKU e a unidade para as exportações
de uso. Por exemplo, baseUnit de "By" significa que o uso é especificado em
"bytes".
[BASE_UNIT_DESCRIPTION] é a unidade base legível. Por
exemplo, "byte".
[BASE_CONVERSION_FACTOR] é o fator para a conversão de preço
por usage_unit para preço por base_unit e conversão do valor start_usage
para start_usage_amount em base_unit. Por exemplo, start_usage_amount *
base_unit_conversion_factor = start_usage_amount em base_unit.
[DISPLAY_QUANTITY] é a quantidade recomendada de unidades para exibir informações de preços. Ao exibir informações de preços, é recomendável exibir: (unitPrice * displayQuantity) per displayQuantity usageUnit. Esse campo não afeta a fórmula de preços e serve apenas para fins de exibição.
Por exemplo, se unitPrice for "0,0001 USD", usageUnit for "GB" e displayQuantity for "1000", a maneira recomendada de exibir as informações de preço será "0,10 USD por 1000 GB".
O uso de [START_AMOUNT] será cotado de acordo com a taxa somente depois que esse valor for consumido. Por exemplo, startUsageAmount de 10 indica que o preço do uso será fixado no preço definido abaixo após os primeiros 10 usage_units.
[CURRENCY_CODE] é o código de moeda de três letras definido conforme a ISO 4217;
[UNITS] são as unidades inteiras do valor. Por exemplo, se currencyCode for "USD", uma unidade corresponderá a um dólar norte-americano;
[NANOS] é o número de unidades nano (10^-9) do valor. É necessário que o valor fique entre -999.999.999 e +999.999.999. Se "units" for positivo, "nanos" deverá ser positivo ou zero. Se "units" for zero, "nanos" poderá ser positivo, zero ou negativo. Se forem negativas, o valor deverá ser negativo ou zero.
O custo da SKU é units + nanos. Por exemplo, um custo de US$ 1,75 é
representado como units=1 e nanos=750,000,000.
[AGGREGATION_LEVEL] é o nível no qual o uso é agregado para calcular o custo. Os valores válidos são ACCOUNT, PROJECT e AGGREGATION_LEVEL_UNSPECIFIED;
[AGGREGATION_INTERVAL] é o intervalo no qual o uso é agregado para calcular o custo. Os valores válidos são DAILY, MONTHLY e AGGREGATION_INTERVAL_UNSPECIFIED;
[AGGREGATION_COUNT] é o número de intervalos de agregação. Por exemplo, se aggregationLevel for "DAILY" e aggregationCount for 14, a agregação durará mais de 14 dias.
[CONVERSION_RATE] é a taxa de conversão de moedas: de USD para a moeda especificada na solicitação. Se a moeda não for especificada, o padrão será 1.0;
[SERVICE_PROVIDER] identifica o provedor de serviços. No caso, "Google" para serviços próprios do Google Cloud Platform.
[TAXONOMY_TYPE] é o tipo de taxonomia geográfica de uma SKU: GLOBAL,
REGIONAL ou MULTI_REGIONAL.
[REGION] é a lista de regiões associadas a uma SKU. Este campo
fica vazio para SKUs globais, porque são associadas a todas as regiões Google Cloud.
Os resultados são paginados e estão limitados a 5000 SKUs por página. A resposta inclui um nextPageToken que pode ser usado para conseguir os próximos 5.000 resultados.
Para buscar o próximo lote, defina pageToken=[NEXT_PAGE_TOKEN].
Para reduzir o número de SKUs por página, defina pageSize=[CUSTOM_PAGE_SIZE].
Quando todos os itens forem listados, nenhum token será retornado.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[[["\u003cp\u003eThe Cloud Billing Catalog API allows users to retrieve a list of all public services and their associated metadata.\u003c/p\u003e\n"],["\u003cp\u003eUsers can obtain a comprehensive list of public Stock Keeping Units (SKUs) within a service, including their descriptions, pricing, availability regions, and categorization data.\u003c/p\u003e\n"],["\u003cp\u003eCustom contract pricing can be accessed via the separate Pricing API, while public pricing is available through the Cloud Billing Catalog API.\u003c/p\u003e\n"],["\u003cp\u003eUsing the Cloud Billing Catalog API requires enabling the Cloud Billing API and obtaining an API key.\u003c/p\u003e\n"],["\u003cp\u003eAPI responses are paginated, returning up to 5000 SKUs per page, with a \u003ccode\u003enextPageToken\u003c/code\u003e provided for retrieving subsequent pages of results.\u003c/p\u003e\n"]]],[],null,["# Get publicly available Google Cloud pricing information\n\n\u003cbr /\u003e\n\nThis page shows you how to use the Cloud Billing Catalog API to:\n\n- Get a list of all public services including relevant metadata about each service.\n- Get a list of all public SKUs within a service including:\n - Human readable description of the SKU.\n - Public pricing of the SKU.\n - Regions where the SKU is available for purchase.\n - Categorization data about the SKU.\n\nIf you have **custom contract pricing** , you can use the\n[Pricing API](/billing/docs/how-to/get-pricing-information-api)\nto get prices that are applicable to your Cloud Billing account.\n\nBefore you begin\n----------------\n\nBefore you can use the Cloud Billing Catalog API, you'll need to enable the\nCloud Billing API and get an API key.\n\n\nEnable the Cloud Billing API.\n\n\n[Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=cloudbilling.googleapis.com)\n\nWhen you are prompted to confirm the Google Cloud project you intend to use\nfor the Cloud Billing Catalog API, we recommend you use a project that is set up\nto contain all of your FinOps and billing administration needs for a\nCloud Billing account, including where the Cloud Billing API is\nenabled.\n\n[Learn more about the benefits to using a FinOps-focused project](/billing/docs/how-to/create-billing-account#set-up-billing-project)\nfor your billing administration use cases.\n\n#### Get an API key\n\nCalling the Cloud Billing Catalog API requires an API Key. You can find\ndetails about API Keys in\n[Using API Keys](/docs/authentication/api-keys).\n\nListing public services from the catalog\n----------------------------------------\n\nIn this step you will get a list of all public services including relevant\nmetadata about each service.\n\nThe following code snippet lists all public services in the catalog.\n\nRequest:\n\n`GET https://cloudbilling.googleapis.com/v1/services?key=\u003cvar\u003eAPI_KEY\u003c/var\u003e`\n\nResponse: \n\n {\n \"services\": [\n {\n \"name\": \"[SERVICE_NAME]\",\n \"serviceId\": \"[SERVICE_ID]\",\n \"displayName\": \"[DISPLAY_NAME]\",\n },\n [...]\n ],\n \"nextPageToken\": \"[NEXT_PAGE_TOKEN]\"\n }\n\nWhere:\n\n- `[SERVICE_NAME]` is the resource name for the service.\n- `[SERVICE_ID]` is the identifier for the service.\n- `[DISPLAY_NAME]` is the human readable display name for the service.\n\nResults are paginated, and are limited to **5000** SKUs per page. The response\nincludes a `nextPageToken` that you can use to get the next 5000 results.\nTo fetch the next batch, set `pageToken=[`\u003cvar translate=\"no\"\u003eNEXT_PAGE_TOKEN\u003c/var\u003e`]`.\nTo reduce the number of SKUs per page, set\n`pageSize=[`\u003cvar translate=\"no\"\u003eCUSTOM_PAGE_SIZE\u003c/var\u003e`]`.\nWhen all items have been listed, no token is returned.\n\nGetting the list of SKUs for a service\n--------------------------------------\n\nThe following code snippet lists the SKUs in the catalog for the\nspecified service:\n\nRequest:\n\n`GET https://cloudbilling.googleapis.com/v1/services/SERVICE_ID/skus?key=\u003cvar\u003eAPI_KEY\u003c/var\u003e`\n\nWhere:\n\n- `SERVICE_ID` is the identifier of the parent service.\n\nResponse: \n\n {\n \"skus\": [\n {\n \"name\": \"[SKU_NAME]\",\n \"skuId\": \"[SKU_ID]\",\n \"description\": \"[SKU_DESCRIPTION]\",\n \"category\": {\n \"serviceDisplayName\": \"[SVC_DISPLAY_NAME]\",\n \"resourceFamily\": \"[FAMILY]\",\n \"resourceGroup\": \"[GROUP]\",\n \"usageType\": \"[USAGE]\",\n },\n \"serviceRegions\": [\n \"[REGION]\"\n ],\n \"pricingInfo\": [\n {\n \"effectiveTime\": \"[TIME]\",\n \"summary\": \"[SUMMARY]\",\n \"pricingExpression\": {\n \"usageUnit\": \"[USAGE_UNIT]\",\n \"usageUnitDescription\": \"[USAGE_UNIT_DESCRIPTION]\",\n \"baseUnit\": \"[BASE_UNIT]\",\n \"baseUnitDescription\": \"[BASE_UNIT_DESCRIPTION]\",\n \"baseUnitConversionFactor\": [BASE_CONVERSION_FACTOR],\n \"displayQuantity\": [DISPLAY_QUANTITY],\n \"tieredRates\": [\n {\n \"startUsageAmount\": [START_AMOUNT],\n \"unitPrice\": {\n \"currencyCode\": \"[CURRENCY_CODE]\",\n \"units\": [UNITS],\n \"nanos\": [NANOS],\n },\n }\n ],\n },\n \"aggregationInfo\": {\n \"aggregationLevel\": enum(\"[AGGREGATION_LEVEL]\"),\n \"aggregationInterval\": enum(\"[AGGREGATION_INTERVAL]\"),\n \"aggregationCount\": [AGGREGATION_COUNT],\n },\n \"currencyConversionRate\": [CONVERSION_RATE],\n }\n ],\n \"serviceProviderName\": \"[SERVICE_PROVIDER]\",\n \"geoTaxonomy\": {\n \"type\": \"[TAXONOMY_TYPE]\",\n \"regions\": [\n \"[REGION]\"\n ]\n }\n }\n ],\n \"nextPageToken\": \"[NEXT_PAGE_TOKEN]\"\n }\n\nWhere:\n\n- `[SKU_NAME]` is the resource name for the SKU in the form `services/{SERVICE_ID}/skus/{SKU_ID}`.\n- `[SKU_ID]` is the unique identifier for the SKU.\n- `[SKU_DESCRIPTION]` is a human readable description of the SKU.\n- `[SVC_DISPLAY_NAME]` is the display name of the service to which the SKU belongs.\n- `[FAMILY]` is the type of product the SKU refers to. For example, \"Compute\", \"Storage\", \"Network\", etc.\n- `[GROUP]` is a group classification for related SKUs. For example, \"RAM, \"GPU\", \"Prediction\", etc.\n- `[USAGE]` represents how the SKU is consumed. For example, \"OnDemand, \"Preemptible, \"Commit1Mo\", \"Commit1Yr\", etc.\n- `[REGION]` is the list of [service regions](/about/locations) in which the SKU is offered. For example, \"asia-east1\".\n- `[TIME]` is a timestamp representing the time from which this pricing was effective in the form `2014-10-02T15:01:23.045123456Z`.\n- `[SUMMARY]` is a human readable summary of the pricing information,\n- `[USAGE_UNIT]` is the shorthand for the unit of usage in which the pricing is specified. For example, `usageUnit` of \"GiBy\" means that usage is specified in \"Gibibytes\".\n- `[USAGE_UNIT_DESCRIPTION]` is the unit of usage in human readable form, for example, \"Gibibyte\".\n- `[BASE_UNIT]` is the SKU's base unit, and is the unit used in usage exports. For example, `baseUnit` of \"By\" means the usage is specified in \"Bytes\".\n- `[BASE_UNIT_DESCRIPTION]` is the base unit in human readable form. For example, \"byte\".\n- `[BASE_CONVERSION_FACTOR]` is the conversion factor for converting price per usage_unit to price per base_unit, and converting start_usage amount to start_usage_amount in base_unit. For example, *start_usage_amount \\*\n base_unit_conversion_factor = start_usage_amount in base_unit.*\n- `[DISPLAY_QUANTITY]` is the recommended quantity of units for displaying pricing info. When displaying pricing info, it is recommended to display: `(unitPrice * displayQuantity) per displayQuantity usageUnit`. This field does not affect the pricing formula and is for display purposes only. For example, if the `unitPrice` is \"0.0001 USD\", the `usageUnit` is \"GB\" and the `displayQuantity` is \"1000\", then the recommended way to display the pricing info is \"0.10 USD per 1000 GB\".\n- `[START_AMOUNT]` Usage is priced at the rate only after this amount is consumed. For example, a `startUsageAmount` of 10 indicates that the usage will be priced at the price defined below after the first 10 `usage_units`.\n- `[CURRENCY_CODE]` is the three-letter currency code defined as in ISO 4217.\n- `[UNITS]` is the whole units of the amount. For example if currencyCode is \"USD\", then 1 unit is one US dollar.\n- `[NANOS]` is the number of nano (10\\^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero.\n\nThe cost of the SKU is `units + nanos`. For example, a cost of $1.75 is\nrepresented as `units=1` and `nanos=750,000,000`.\n\n- `[AGGREGATION_LEVEL]` is the level at which usage is aggregated to compute cost. Valid values are ACCOUNT, PROJECT, and AGGREGATION_LEVEL_UNSPECIFIED.\n- `[AGGREGATION_INTERVAL]` is the interval at which usage is aggregated to compute cost. Valid values are DAILY, MONTHLY, and AGGREGATION_INTERVAL_UNSPECIFIED.\n- `[AGGREGATION_COUNT]` is the number of intervals to aggregate over. For example, if `aggregationLevel` is \"DAILY\" and `aggregationCount` is 14, aggregation will be over 14 days.\n- `[CONVERSION_RATE]` is the conversion rate for currency conversion, from USD to the currency specified in the request. If the currency is not specified this defaults to 1.0.\n- `[SERVICE_PROVIDER]` identifies the service provider. This is 'Google' for first party services in Google Cloud Platform.\n- `[TAXONOMY_TYPE]` is the type of geographic taxonomy for a SKU: `GLOBAL`, `REGIONAL`, or `MULTI_REGIONAL`.\n- `[REGION]` is The list of regions associated with a SKU. This field is empty for Global SKUs since they are associated with all Google Cloudregions.\n\nResults are paginated, and are limited to **5000** SKUs per page. The response\nincludes a `nextPageToken` that you can use to get the next 5000 results.\nTo fetch the next batch, set `pageToken=[`\u003cvar translate=\"no\"\u003eNEXT_PAGE_TOKEN\u003c/var\u003e`]`.\nTo reduce the number of SKUs per page, set\n`pageSize=[`\u003cvar translate=\"no\"\u003eCUSTOM_PAGE_SIZE\u003c/var\u003e`]`.\nWhen all items have been listed, no token is returned.\n\nRelated information\n-------------------\n\nPricing and SKU information is also available in the\n[pricing table report](/billing/docs/how-to/pricing-table)\nor the\n[Cloud Billing pricing export to BigQuery](/billing/docs/how-to/export-data-bigquery)."]]