Cloudflare's Billable Usage API: Programmatic Cost Visibility for Agents
Cloudflare launches a Billable Usage API for self-serve accounts, providing programmatic access to usage and cost data per product, aligned with the FOCUS spec, plus a Vantage integration for cross-provider FinOps.

Cloudflare's Agents Week kicked off with a focus on the shift where agents write code, deploy Workers, and provision infrastructure. That shift demands a new kind of visibility: if a program is spending money in your account, you need to know what it's spending, throughout the day, per product, in a shape another program can consume. The dashboard is for humans; the Billable Usage API is for automation.
The new endpoint, available for self-serve accounts, returns usage and cost broken down by product and service period. One call covers all usage-based products: Workers, R2, D1, Workers AI, Vectorize, Images, and Stream. The response uses the standard Cloudflare API envelope, with each row representing a charge period for a product.
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/billable-usage \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"You can also specify a date range:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/billable-usage?from=2026-02-01&to=2026-02-15" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Each row includes fields like ServiceName, ServiceFamilyName, ChargePeriodStart/ChargePeriodEnd, PricingQuantity, ConsumedUnit, ContractedCost, and cumulative totals. Most map directly to the FinOps Open Cost and Usage Specification (FOCUS), making it easy to integrate with existing FinOps toolchains.
Cloudflare is not claiming full FOCUS conformance yet—a few required columns are missing, but that's on the roadmap. This is the first step: familiar shape now, full conformance next.
Alongside the API, Cloudflare partnered with Vantage, a cost management platform, to offer a native integration. Vantage ingests data from 30+ providers, and with this integration, Cloudflare spend appears in the same Cost Reports, Budgets, and Cost Alerts. You can allocate spend by product, zone, and account, detect anomalies via Slack or email, and even query the data through FinOps agents or MCP servers.
Why build this? Agents don't just write code—they deploy Workers, provision R2 buckets, and manage D1 databases. When you grant programmatic access, you need programmatic visibility. Finance teams want to pull spend into internal systems; developers want a curl they can script. This API turns that into an HTTP call.
What's next: finer-grained time windows (more real-time data), forecasting based on cumulative costs, and enterprise contract coverage. For now, self-serve accounts can start using the endpoint immediately with a Billing Read token.
The dashboard is the right answer for humans. It's not the right answer for automation.
| Cloudflare field | FOCUS column | Notes |
|---|---|---|
| BillingCurrency | BillingCurrency | Exact match |
| BillingPeriodStart | BillingPeriodStart | Exact match |
| ChargePeriodStart / ChargePeriodEnd | ChargePeriodStart / ChargePeriodEnd | Exact match |
| ServiceName | ServiceName | Exact match |
| ConsumedQuantity / ConsumedUnit | ConsumedQuantity / ConsumedUnit | Exact match |
| PricingQuantity | PricingQuantity | Exact match |
| ContractedCost | ContractedCost | Exact match |
| ServiceFamilyName | ServiceCategory (close) | Cloudflare-native grouping |
| CumulatedContractedCost | Derived | Convenience field |
| ZoneId / ZoneName | ResourceId / ResourceName (close) | Zone-scoped identifier |