Skip to content
Start here

Get Account Usage (Version 2, Alpha, Restricted)

client.Billing.Usage.Get(ctx, params) (*[]UsageGetResponse, error)
GET/accounts/{account_id}/billable/usage

Returns cost and usage data for a single Cloudflare account, aligned with the FinOps FOCUS v1.3 Cost and Usage dataset specification.

Each record represents one billable metric for one account on one day. This includes all metered usage, including usage that falls within free-tier allowances and may result in zero cost.

Note: Cost and pricing fields are not yet populated and will be absent from responses until billing integration is complete.

When from and to are omitted, defaults to the start of the current month through today. The maximum date range is 31 days.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
ParametersExpand Collapse
params UsageGetParams
AccountID param.Field[string]

Path param: Represents a Cloudflare resource identifier tag.

maxLength32
From param.Field[Time]Optional

Query param: Start date for the usage query (ISO 8601). Required if to is set. When omitted along with to, defaults to the start of the current month. Filters by charge period (when consumption happened), not billing period. The maximum date range is 31 days.

formatdate
Metric param.Field[string]Optional

Query param: Filter results by billable metric id (e.g., workers_standard_requests).

maxLength128
To param.Field[Time]Optional

Query param: End date for the usage query (ISO 8601). Required if from is set. When omitted along with from, defaults to today. Filters by charge period (when consumption happened), not billing period. The maximum date range is 31 days.

formatdate
ReturnsExpand Collapse
type UsageGetResponseEnvelopeResult []UsageGetResponse

Contains the array of cost and usage records.

BillingAccountID string

Public identifier of the Cloudflare account (account tag).

BillingAccountName string

Display name of the Cloudflare account.

ChargeCategory UsageGetResponseChargeCategory

Highest-level classification of a charge based on the nature of how it gets billed. Currently only “Usage” is supported.

ChargeDescription string

Self-contained summary of the charge’s purpose and price.

ChargeFrequency UsageGetResponseChargeFrequency

Indicates how often a charge occurs. Currently only “Usage-Based” is supported.

ChargePeriodEnd Time

Exclusive end of the time interval during which the usage was consumed.

formatdate-time
ChargePeriodStart Time

Inclusive start of the time interval during which the usage was consumed.

formatdate-time
ConsumedQuantity float64

Measured usage amount within the charge period. Reflects raw metered consumption before pricing transformations.

ConsumedUnit string

Unit of measure for the consumed quantity (e.g., “GB”, “Requests”, “vCPU-Hours”).

HostProviderName string

Name of the entity providing the underlying infrastructure or platform.

InvoiceIssuerName string

Name of the entity responsible for invoicing for the services consumed.

ServiceProviderName string

Name of the entity that made the services available for purchase.

XBillableMetricName string

The display name of the billable metric. Cloudflare extension; replaces FOCUS SkuMeter.

BilledCost float64Optional

A charge serving as the basis for invoicing, inclusive of all reduced rates and discounts while excluding the amortization of upfront charges (one-time or recurring).

BillingCurrency stringOptional

Currency that a charge was billed in (ISO 4217).

BillingPeriodEnd TimeOptional

Exclusive end of the billing cycle that contains this usage record.

formatdate-time
BillingPeriodStart TimeOptional

Inclusive start of the billing cycle that contains this usage record.

formatdate-time
ChargeClass UsageGetResponseChargeClassOptional

Indicates whether the row represents a correction to one or more charges invoiced in a previous billing period.

ContractedCost float64Optional

Cost calculated by multiplying ContractedUnitPrice and the corresponding PricingQuantity.

ContractedUnitPrice float64Optional

The agreed-upon unit price for a single PricingUnit of the associated billable metric, inclusive of negotiated discounts, if present, while excluding any other discounts.

EffectiveCost float64Optional

The amortized cost of the charge after applying all reduced rates, discounts, and the applicable portion of relevant, prepaid purchases (one-time or recurring) that covered the charge.

ListCost float64Optional

Cost calculated by multiplying ListUnitPrice and the corresponding PricingQuantity.

ListUnitPrice float64Optional

Suggested provider-published unit price for a single PricingUnit of the associated billable metric, exclusive of any discounts.

PricingQuantity float64Optional

Volume of a given service used or purchased, based on the PricingUnit.

PricingUnit stringOptional

Provider-specified measurement unit for determining unit prices, indicating how the provider rates measured usage after applying pricing rules like block pricing.

RegionID stringOptional

Provider-assigned identifier for an isolated geographic area where a service is provided.

RegionName stringOptional

Name of an isolated geographic area where a service is provided.

SubAccountID stringOptional

Unique identifier assigned to a grouping of services. For Cloudflare, this is the subscription or contract ID.

SubAccountName stringOptional

Name assigned to a grouping of services. For Cloudflare, this is the subscription or contract display name.

XBillableMetricID stringOptional

The unique identifier for the billable metric in the Cloudflare catalog. Cloudflare extension; replaces FOCUS SkuId.

XProductFamilyName stringOptional

The product family the charge belongs to (e.g., “R2”, “Workers”). Cloudflare extension; replaces FOCUS ServiceName.

XZoneID stringOptional

The identifier for the Cloudflare zone (zone tag). Cloudflare extension.

XZoneName stringOptional

The display name of the Cloudflare zone. Cloudflare extension.

Get Account Usage (Version 2, Alpha, Restricted)

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/billing"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  usages, err := client.Billing.Usage.Get(context.TODO(), billing.UsageGetParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", usages)
}
{
  "errors": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "messages": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "result": [
    {
      "BillingAccountId": "023e105f4ecef8ad9ca31a8372d0c353",
      "BillingAccountName": "My Account",
      "ChargeCategory": "Usage",
      "ChargeDescription": "Workers Standard Requests — daily usage",
      "ChargeFrequency": "Usage-Based",
      "ChargePeriodEnd": "2025-05-02T00:00:00Z",
      "ChargePeriodStart": "2025-05-01T00:00:00Z",
      "ConsumedQuantity": 150000,
      "ConsumedUnit": "Requests",
      "HostProviderName": "Cloudflare",
      "InvoiceIssuerName": "Cloudflare",
      "ServiceProviderName": "Cloudflare",
      "x_BillableMetricName": "Workers Standard Requests",
      "BilledCost": 0,
      "BillingCurrency": "USD",
      "BillingPeriodEnd": "2025-06-01T00:00:00Z",
      "BillingPeriodStart": "2025-05-01T00:00:00Z",
      "ChargeClass": "Correction",
      "ContractedCost": 0.75,
      "ContractedUnitPrice": 0.000005,
      "EffectiveCost": 0,
      "ListCost": 0.75,
      "ListUnitPrice": 0.000005,
      "PricingQuantity": 150000,
      "PricingUnit": "Requests",
      "RegionId": "EEUR",
      "RegionName": "Eastern Europe",
      "SubAccountId": "c9bd752d-9ca8-411d-b804-be44a758057f",
      "SubAccountName": "My Subscription",
      "x_BillableMetricId": "workers_standard_requests",
      "x_ProductFamilyName": "Workers",
      "x_ZoneId": "023e105f4ecef8ad9ca31a8372d0c353",
      "x_ZoneName": "example.com"
    }
  ],
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "messages": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "result": [
    {
      "BillingAccountId": "023e105f4ecef8ad9ca31a8372d0c353",
      "BillingAccountName": "My Account",
      "ChargeCategory": "Usage",
      "ChargeDescription": "Workers Standard Requests — daily usage",
      "ChargeFrequency": "Usage-Based",
      "ChargePeriodEnd": "2025-05-02T00:00:00Z",
      "ChargePeriodStart": "2025-05-01T00:00:00Z",
      "ConsumedQuantity": 150000,
      "ConsumedUnit": "Requests",
      "HostProviderName": "Cloudflare",
      "InvoiceIssuerName": "Cloudflare",
      "ServiceProviderName": "Cloudflare",
      "x_BillableMetricName": "Workers Standard Requests",
      "BilledCost": 0,
      "BillingCurrency": "USD",
      "BillingPeriodEnd": "2025-06-01T00:00:00Z",
      "BillingPeriodStart": "2025-05-01T00:00:00Z",
      "ChargeClass": "Correction",
      "ContractedCost": 0.75,
      "ContractedUnitPrice": 0.000005,
      "EffectiveCost": 0,
      "ListCost": 0.75,
      "ListUnitPrice": 0.000005,
      "PricingQuantity": 150000,
      "PricingUnit": "Requests",
      "RegionId": "EEUR",
      "RegionName": "Eastern Europe",
      "SubAccountId": "c9bd752d-9ca8-411d-b804-be44a758057f",
      "SubAccountName": "My Subscription",
      "x_BillableMetricId": "workers_standard_requests",
      "x_ProductFamilyName": "Workers",
      "x_ZoneId": "023e105f4ecef8ad9ca31a8372d0c353",
      "x_ZoneName": "example.com"
    }
  ],
  "success": true
}