CF Cost

What does Cloudflare cost me?

$5.00 / mo TAP TO FIND OUT $ R2 Data Storage$0 · 3.64 of 10 free (36%) Durable Objects SQL Stor…$0 · 1.81 of 5 free (36%) Workers CPU ms$0 · 7.13M of 30.00M free (24%) D1 - Rows Read$0 · 5.72B of 25B free (23%) +21 more, all freeeach under 19% of its free tier
READ-ONLY · CF COST
CF COST
*** CLOUDFLARE SPEND RECEIPT ***
@brianball
PERIOD FROM 2026-09-25
WORKERS PAID$5.00
25× inside free tier$0.00
TOTAL / MO$5.00
Domain renewals, next 12 mo$66.24
NO OVERAGE ✓
THANK YOU FOR SHIPPING
cfcost.com · see yours
Sound on.

These are real costs from @brianball's Cloudflare account this month: 27 charges, $5.00 a month. Names are hidden.

Explore Brian's bill · Sample account

Now see what you pay

Plans, usage vs. what's included, invoices, domain renewals, all on one page. Takes about 10 seconds.

  1. 1 · Make a read-only token

    This link opens Cloudflare with the read permissions already ticked. Scroll down, click Continue to summary, then Create Token.

    Create token on Cloudflare ↗
  2. 2 · Paste it
DIY · run it yourselfNothing goes through us.

Rather not paste a token here? Give this prompt to your own AI agent (Claude Code, Codex, Cursor). It puts CF Cost on your Cloudflare account, behind your own password.

Set up "cf-cost", a password-protected Cloudflare spend dashboard, on MY Cloudflare account.
Source: https://github.com/ideabrian/cf-cost (open source, MIT). Nothing should be sent to cfcost.com.

1. Make sure the Cloudflare CLI is logged in (`npx cf auth whoami`; if not, `npx cf auth create default`) and note my account ID.
2. Open this pre-filled token page for me (read-only: Billing, Account Analytics, Workers Scripts, D1, R2, Registrar):
   https://dash.cloudflare.com/profile/api-tokens?permissionGroupKeys=%5B%7B%22key%22%3A%22billing%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22account_analytics%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22workers_scripts%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22d1%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22workers_r2%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22registrar_domains%22%2C%22type%22%3A%22read%22%7D%5D&name=cf-cost&accountId=*&zoneId=all
   Tell me to click Create Token and paste it back. Never echo it.
3. Test it: GET https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/billing/history must return success.
4. Get the code: `npx degit ideabrian/cf-cost cf-cost && cd cf-cost`, then `npm install`.
5. Ask me which look I want: exploded (default; diagram of every charge), ledger (clean cards), terminal (green phosphor), receipt (paper till slip). Set TEMPLATE in cloudflare.config.ts.
6. Write .dev.vars (gitignored) with CF_BILLING_TOKEN=<token> and DASH_PASSWORD=<random 20 chars>, then `npx cf deploy --secrets-file .dev.vars`. Don't print either.
7. Open the URL + /me. Login is any username + that password; give me the password once, and tell me to store it in my password manager.
DIY prompt
Set up "cf-cost", a password-protected Cloudflare spend dashboard, on MY Cloudflare account.
Source: https://github.com/ideabrian/cf-cost (open source, MIT). Nothing should be sent to cfcost.com.

1. Make sure the Cloudflare CLI is logged in (`npx cf auth whoami`; if not, `npx cf auth create default`) and note my account ID.
2. Open this pre-filled token page for me (read-only: Billing, Account Analytics, Workers Scripts, D1, R2, Registrar):
   https://dash.cloudflare.com/profile/api-tokens?permissionGroupKeys=%5B%7B%22key%22%3A%22billing%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22account_analytics%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22workers_scripts%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22d1%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22workers_r2%22%2C%22type%22%3A%22read%22%7D%2C%7B%22key%22%3A%22registrar_domains%22%2C%22type%22%3A%22read%22%7D%5D&name=cf-cost&accountId=*&zoneId=all
   Tell me to click Create Token and paste it back. Never echo it.
3. Test it: GET https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/billing/history must return success.
4. Get the code: `npx degit ideabrian/cf-cost cf-cost && cd cf-cost`, then `npm install`.
5. Ask me which look I want: exploded (default; diagram of every charge), ledger (clean cards), terminal (green phosphor), receipt (paper till slip). Set TEMPLATE in cloudflare.config.ts.
6. Write .dev.vars (gitignored) with CF_BILLING_TOKEN=<token> and DASH_PASSWORD=<random 20 chars>, then `npx cf deploy --secrets-file .dev.vars`. Don't print either.
7. Open the URL + /me. Login is any username + that password; give me the password once, and tell me to store it in my password manager.
Plain text

The token stays in this browser tab. Our worker uses it to call Cloudflare's API for each page load, then discards it: no database, no logs. Close the tab and it's gone. Open source.
CF Cost is an independent tool, not affiliated with Cloudflare.

Made in SF with Cloudflare + Claude + ☕ by Brian Ball