Direct answer: for one account, 5–10 ms of CPU per request, excluding CDN bandwidth, storage and logs, 2026 edge-function costs are roughly: 10M requests / 100M CPU ms, Fastly Compute 0 (within free allowance), Bunny Edge Scripting 4.00, Cloudflare Workers 6.40; 100M requests / 700M CPU ms, Bunny 34.00, Cloudflare 45.40, Fastly 75.00; 500M requests / 2.5B CPU ms, Bunny 150, Cloudflare 201.40, Fastly 365; 1B requests / 5B CPU ms, Bunny 300, Cloudflare 401.40, Fastly 735. Bunny has the lowest usage rates; Cloudflare’s 5 USD floor + free egress fit small teams; Fastly includes 10M requests/100M vCPU ms free each month, and the 500 USD Starter is an optional package with 500M requests/5B vCPU ms, not the minimum entry.

This guide is for engineering, platform and procurement teams choosing an edge runtime or moving APIs/middleware from a central cloud to the edge. Data cut-off: 5 November 2026; prices are the three vendors’ public US list prices from official pricing pages/billing docs, in USD, excluding tax, with no FX conversion; the TCO is an editorial calculation, not a vendor quote. A CDN sells caching and bandwidth; an edge function sells code execution per request. The two bills must not be mixed.

Three rules to remember

Edge-function cost = requests + CPU time, not bandwidth or seats. Cloudflare Paid starts at 5/month with 10M requests and 30M CPU ms; Bunny is 0.20 per million requests + 0.02 per 1,000 seconds of CPU with a 1 monthly minimum; Fastly includes 10M requests/100M vCPU ms free each month, then 0.50 per million requests + 0.05 per million vCPU ms, with an optional 500/month Starter package. Low volume looks at free allowances; high volume looks at unit rates.

Three models: subscription + overage, pure usage, free allowance + usage/package

Cloudflare Workers is “5 USD subscription + request/CPU overage”: the Paid plan has a 5/month per-account minimum with 10M requests and 30M CPU ms included per month; extra requests are 0.30 per million and extra CPU is 0.02 per million ms; there is no data-egress charge, and static-asset requests are free and unlimited. Bunny Edge Scripting is pure usage: 0.20 per million requests, 0.02 per 1,000 seconds of CPU (0.02 per million ms), a 1 monthly minimum; the official smallest monthly charge is 0.22 (first CPU increment 0.02 + first request increment 0.20), with CDN bandwidth separate. Fastly Compute is “free allowance + usage”: 10M requests and 100M vCPU ms free each month; then requests 0.50 per million (10M–500M), 0.49 per million (500M–5B), and vCPU 0.05 per million ms (100M–5B); an optional Starter package is 500/month with 500M requests, 5B vCPU ms, 20 services, 5 config stores and 1TB KV; the 2B/5B request tiers are contact-sales.

PlatformBilling unitFloorIncluded requestsIncluded CPUMain boundary
Cloudflare WorkersSubscription + request/CPU overage5/month/account10M/month30M ms/monthStatic assets free; no egress charge
Bunny Edge ScriptingPure usage1/month minimum; 0.22 smallestNoneNoneCDN bandwidth separate; 119 PoPs
Fastly ComputeFree allowance + usage; optional packageFree 10M requests/100M vCPU ms10M/month100M vCPU ms/monthStarter 500/month optional; higher tiers contact sales

Sources: Cloudflare Workers Pricing, Bunny Edge Scripting Pricing and Fastly Pricing (all accessed 5 November 2026). This is editorial grouping, not a vendor taxonomy; “included requests/CPU” covers only public package/allowance terms and does not judge runtime limits, cold starts, concurrency or support response.

The official 2026 prices: requests, CPU, minimums

Cloudflare: Paid 5/month/account with 10M requests and 30M CPU ms; request overage 0.30 per million and CPU overage 0.02 per million ms; Free plan 100k requests/day and 10 ms CPU per invocation; static-asset requests are free and unlimited, and egress is not charged. Bunny: 0.20 per million requests, 0.02 per 1,000 seconds of CPU, 1 monthly minimum; official examples: 10M requests × 10 ms = 4.00 (2.00 requests + 2.00 CPU), 100M × 7 ms = 34.00 (20 + 14). Fastly: 10M requests and 100M vCPU ms free each month; 10M–500M requests 0.50 per million, 500M–5B 0.49 per million; 100M–5B vCPU 0.05 per million ms; optional Starter 500/month with 500M requests/5B vCPU ms; higher tiers contact sales.

ItemCloudflare WorkersBunny Edge ScriptingFastly Compute
Floor/minimumPaid 5/month/account1/month minimum; 0.22 smallestFree allowance; Starter 500/month optional
Included requests10M/monthNone10M/month (Starter 500M)
Included CPU30M ms/monthNone100M vCPU ms/month (Starter 5B)
Request overage0.30 per million0.20 per million0.50 per million (10M–500M); 0.49 (500M–5B)
CPU overage0.02 per million ms0.02 per 1,000 seconds0.05 per million vCPU ms (100M–5B)
Free/trialFree 100k requests/day; static assets free14-day trial; no long-term free tier10M requests/100M vCPU ms free each month

Sources: Cloudflare Workers Pricing (5/month, 10M requests, 30M CPU ms, 0.30/0.02, Free 100k/day, static assets free, no egress charge), Bunny Edge Scripting Pricing/Docs (0.20/million, 0.02/1,000 seconds, 1/month minimum, 0.22 smallest charge, 14-day trial, CDN bandwidth separate) and Fastly Pricing (10M requests/100M vCPU ms free, 0.50/0.49, 0.05, optional Starter 500/month). Accessed 5 November 2026; USD, excluding tax; Fastly’s higher tiers have no public price.

10M / 100M / 500M / 1B requests: monthly TCO

Using the vendors’ CPU intensities (10M × 10 ms, 100M × 7 ms, 500M × 5 ms, 1B × 5 ms): 10M/100M ms, Fastly 0, Bunny 4.00, Cloudflare 6.40; 100M/700M ms, Bunny 34.00, Cloudflare 45.40, Fastly 75; 500M/2.5B ms, Bunny 150, Cloudflare 201.40, Fastly 365; 1B/5B ms, Bunny 300, Cloudflare 401.40, Fastly 735. Fastly’s free allowance wins at low volume, with Bunny only 4 more; at 1B Bunny is still lowest, and Fastly is 2.45x Bunny.

Monthly requests / CPU msCloudflare WorkersBunny Edge ScriptingFastly usageFastly Starter packageLowest
10M / 100M6.404.000500Fastly usage
100M / 700M45.4034.0075.00500Bunny
500M / 2.5B201.40150.00365.00500Bunny
1B / 5B401.40300.00735.00Advantage/quoteBunny

Editorial calculation, not a quote. Formulas: Cloudflare = 5 + max(0, requests−10M)/1M×0.30 + max(0, CPU ms−30M)/1M×0.02; Bunny = max(0.22, requests/1M×0.20 + CPU ms/1M×0.02); Fastly usage = tiered requests + tiered vCPU (first 10M/100M free, then 0.50/0.49 and 0.05); Fastly Starter = 500 (includes 500M requests/5B vCPU ms). Assumes one account, 5–10 ms CPU per request, Fastly vCPU ms ≈ CPU ms at 1:1; excludes CDN bandwidth, storage, logs, support, tax and migration.

Annualized: free allowance only affects low volume, high volume multiplies by 12

Multiplying by 12: 10M requests/month, Fastly 0, Bunny 48, Cloudflare 76.80; 100M/month, Bunny 408, Cloudflare 544.80, Fastly 900; 500M/month, Bunny 1,800, Cloudflare 2,416.80, Fastly 4,380; 1B/month, Bunny 3,600, Cloudflare 4,816.80, Fastly 8,820. Fastly’s 500 USD Starter package costs 135 more than usage at 500M/2.5B; at 1B the Starter allowance is insufficient and needs a higher-tier contract.

Annual scenarioCloudflare WorkersBunny Edge ScriptingFastly usageFastly Starter packageLowest
10M requests/month76.8048.0006,000Fastly usage
100M requests/month544.80408.00900.006,000Bunny
500M requests/month2,416.801,800.004,380.006,000Bunny
1B requests/month4,816.803,600.008,820.00ContractBunny

Editorial calculation, monthly table ×12; excludes tax, discounts, CDN bandwidth, storage/KV, logs, support, migration and training. Fastly’s 500/month Starter only covers 500M requests/5B vCPU ms; overage requires a contract, so 500 is not an unlimited price.

Hidden costs: bandwidth, KV/storage, logs, egress

Edge-function bills usually exclude CDN bandwidth, KV/object storage, logs, builds and egress. Cloudflare’s Workers Paid has no egress charge and static assets are free, but KV reads are 0.50 per million, writes 5 per million, storage 0.50/GB/month, and D1/R2/Durable Objects are separate; Workers Logs Paid includes 20M events/month, then 0.60 per million. Bunny’s script fee excludes CDN bandwidth, which starts at 0.01/GB in Europe/North America; storage uses Bunny Storage separately. Fastly’s Starter includes 1TB KV and 20M Class A/1B Class B operations; TLS domains, image optimization and logging/observability are separate products. All three exclude tax, support, migration and CI/CD.

ItemCloudflareBunnyFastly
CDN/bandwidthNo Workers egress charge; static assets freeSeparate; Europe/North America from 0.01/GBCDN/bandwidth outside Compute by product/contract
KV/storageKV 0.50/million reads, 5/million writes, 0.50/GB/month; D1/R2 separateBunny Storage separateStarter includes 1TB KV, 20M Class A/1B Class B
Logs/observabilityPaid includes 20M events/month, then 0.60/millionNot listedLogging/observability packages separate
Tax/support/migrationExcludedExcludedExcluded

Sources: Cloudflare Workers Pricing (KV, logs, static assets, egress), Bunny Edge Scripting Pricing (CDN bandwidth separate, storage separate) and Fastly Pricing (Compute Starter includes 1TB KV/operation allowances). Accessed 5 November 2026; USD, excluding tax; “separate/not listed” means confirm on the product page or contract and is not guessed here.

Capabilities and boundaries: network, runtime, integrations

Cloudflare is strong on 335+ cities, Workers with KV/D1/R2/Durable Objects, free static assets and no egress charge; Bunny is strong on 119 PoPs, Deno/TypeScript/JavaScript/WASM, a 0.22 smallest charge and low unit rates; Fastly is strong on free allowance/usage, the 500 Starter package, 500M requests/5B vCPU ms, 20 services/1TB KV and delivery integration. For “low-volume free + free egress”: Fastly/Cloudflare; for “lowest usage rate + Deno”: Bunny; for “enterprise package/large allowance + delivery”: Fastly.

CapabilityCloudflare WorkersBunny Edge ScriptingFastly Compute
Network335+ cities119 PoPsGlobal edge network
RuntimeJS/Rust/C++/WASMDeno/TypeScript/JS/WASMMultiple languages; see docs
Floor5/month1 minimum; 0.22 smallestFree 10M requests/100M vCPU ms; Starter 500/month
IntegrationsKV/D1/R2/DO/logsCDN/Storage/Deno ecosystem20 services/1TB KV/TLS/images/logs
Best fitLow volume + free egress + integrated storageLowest usage rate + DenoFree allowance/enterprise package/delivery

Sources: Cloudflare Workers Pricing, Bunny Edge Scripting and Fastly Pricing (accessed 5 November 2026). This is an editorial comparison, not a full feature list; actual cold starts, P95, concurrency, runtime limits, log latency and support response were not tested.

Which option fits which scenario?

10M requests/month: Fastly 0 (free allowance), Bunny 4.00, Cloudflare 6.40; choose Fastly for zero-cost trials, Bunny for the lowest predictable usage rate, Cloudflare for free egress/KV/D1. 100M/month: Bunny 34, Cloudflare 45.40, Fastly 75. 500M/month: Bunny 150, Cloudflare 201.40, Fastly 365. 1B/month: Bunny 300, Cloudflare 401.40, Fastly 735. Fastly’s 500 Starter only makes sense for predictable capacity/enterprise features, not as the low-volume lowest price.

  • Up to 10M requests/month: Fastly 0 within the free allowance; Bunny 4.00; Cloudflare 6.40. Pick Fastly for zero-cost trials and Bunny for the lowest usage rate.
  • 100M requests/month: Bunny 34.00; Cloudflare 45.40; Fastly 75.00.
  • 500M requests/month: Bunny 150; Cloudflare 201.40; Fastly 365 (Starter 500 is 135 more than usage).
  • 1B requests/month: Bunny 300; Cloudflare 401.40; Fastly 735 (Starter allowance is insufficient; higher tier/contract).
  • Deno/TypeScript: Bunny; Workers ecosystem/KV/D1/R2: Cloudflare; free allowance/enterprise package/delivery: Fastly.
  • CPU-heavy: recalculate at 0.02 per million ms; 10 ms/request doubles CPU versus 5 ms and widens the gap at high volume.
  • Bandwidth/storage: Bunny CDN separate, Cloudflare KV/D1/R2 separate, Fastly outside package; do not compare script fees alone.

What should procurement and acceptance specify?

At least eight things: monthly/peak requests, average and P95 CPU ms, cold start/concurrency, runtime limits, KV/storage/bandwidth, logs/observability, egress/regions and contract minimum/overage/exit. Use a 2–4 week POC with real traffic and record P50/P95/P99, cold starts, error rate, CPU time and the bill; do not compare all workloads by “per million requests”.

  • Requests: monthly/peak; whether cache hits, static assets and WebSockets are billed as requests.
  • CPU: average/P95 ms; CPU time is execution, excluding I/O wait; CPU-heavy tasks amplify cost.
  • Cold start/concurrency: runtime limits, concurrency, timeout; test P95/P99 with real traffic.
  • Storage/bandwidth: KV/object storage/CDN bandwidth/egress; usually outside the script fee.
  • Logs: event volume, retention, export; Cloudflare/Fastly have separate packages.
  • Contract: minimum, overage, tier upgrade, support, exit; Fastly Starter starts at 500.
  • Regions: user distribution, PoPs, data residency/compliance; coverage quality was not tested.
  • POC: 2–4 weeks of real traffic; record P50/P95/P99, cold starts, errors, CPU and the bill.

FAQ

10M requests/month: what is cheapest?

Fastly 0 (within 10M requests/100M vCPU ms free), Bunny 4.00 (2.00 requests + 2.00 CPU at 10 ms/request), Cloudflare 6.40. Pick Fastly for a zero-cost trial, Bunny for the lowest usage rate, Cloudflare for free egress/KV/D1/R2.

What about 100M requests/month?

Bunny 34.00 (20 requests + 14 CPU at 7 ms/request), Cloudflare 45.40, Fastly 75.00 (45 requests + 30 vCPU). Bunny is 11.40 lower than Cloudflare; Fastly’s free allowance is used up and its usage price is higher than the other two.

What about 500M requests/month?

Bunny 150 (100 requests + 50 CPU at 5 ms/request), Cloudflare 201.40, Fastly 365 (245 requests + 120 vCPU). Fastly’s 500/month Starter covers 500M requests/5B vCPU ms, but costs 135 more than usage; only predictable capacity/package features justify it.

What about 1B requests/month?

Bunny 300, Cloudflare 401.40, Fastly 735 (490 requests + 245 vCPU at 5 ms/request). Fastly’s Starter only includes 500M requests; 1B needs an Advantage/higher tier and a quote.

Is Fastly really 500 USD minimum?

No. Fastly’s public Compute usage includes 10M requests/100M vCPU ms free each month, then 0.50/0.49 and 0.05; the 500/month Starter is an optional package with 500M requests/5B vCPU ms. Low volume can use usage pricing; high volume can compare package/contract.

Is Cloudflare’s 5 USD enough?

Paid 5/month includes 10M requests and 30M CPU ms; 10M requests × 10 ms = 100M ms, so 70M ms overage costs 1.40, total 6.40. Static-asset requests are free and unlimited, and egress is not charged; KV/D1/R2/logs are separate.

How is CPU time calculated?

Actual execution time, excluding fetch/I/O wait; Cloudflare/Bunny bill in milliseconds, Fastly in vCPU ms. 10 ms/request × 10M = 100M ms; 5 ms/request halves it. Use real P95 rather than an average.

What other hidden costs exist?

CDN bandwidth (Bunny separate), KV/object storage (Cloudflare/Fastly), logs/observability (Cloudflare 0.60/million above 20M events; Fastly separate), builds/CI, tax, support, migration and self-hosted operations. All three exclude these.

Research method and limitations

This article separates “official facts” from “editorial modelling”: floor prices, included requests/CPU, overage, KV/log prices come from the three official pricing pages/billing docs; the 10M/100M/500M/1B TCO is arithmetic for one account, 5–10 ms CPU/request and the stated CPU intensity, not a vendor quote. It does not compare actual cold starts, P95/P99, concurrency, runtime limits, log latency or support response.

Eight limitations: (1) only US public list prices are used, excluding tax, discounts, support and migration; (2) it assumes one account and 5–10 ms CPU/request, while CPU-heavy/light workloads change the result; (3) it excludes CDN bandwidth, KV/object storage, logs, builds and egress; (4) Fastly’s public Compute has a free allowance/usage price and an optional 500/month Starter, while 1B needs a higher-tier contract and cannot be extrapolated from 500; (5) Cloudflare’s 10M requests/30M ms are Paid-plan allowances, while Free limits differ; (6) Bunny’s CDN bandwidth is separate and only script fees are modelled; (7) real cold starts, P95/P99, concurrency, runtime limits and regional coverage were not tested; (8) enterprise contracts, commitments/discounts and self-hosted alternatives were not compared. Treat this as a unit-alignment template and replace assumptions with a 2–4 week real-traffic POC.

Sources and basis

  • Cloudflare, Workers Pricing: developers.cloudflare.com/workers/platform/pricing. Paid 5/month/account; 10M requests and 30M CPU ms included; requests 0.30/million, CPU 0.02/million ms; Free 100k requests/day; static assets free; no egress charge; KV 0.50/million reads, 5/million writes, 0.50/GB/month; Workers Logs 20M events/month, then 0.60/million. Accessed 5 November 2026.
  • Bunny, Edge Scripting Pricing: bunny.net/edge-scripting and bunny.net/docs/scripting/pricing. 0.20/million requests, 0.02/1,000 seconds CPU, 1 monthly minimum, 0.22 smallest charge; official examples 10M × 10 ms = 4.00 and 100M × 7 ms = 34.00; CDN bandwidth separate. Accessed 5 November 2026.
  • Fastly, Pricing: fastly.com/pricing. Compute 10M requests/100M vCPU ms free each month; requests 0.50/million (10M–500M), 0.49 (500M–5B); vCPU 0.05/million ms (100M–5B); optional Starter 500/month with 500M requests/5B vCPU ms, 20 services, 5 config stores, 1TB KV. Accessed 5 November 2026.

Data cut-off 5 November 2026; prices are public list prices excluding tax; all models are editorial calculations. This is not procurement advice.

Turn requests, CPU, free allowances and hidden costs into a checkable budget

Bring monthly requests, CPU ms, cold start/concurrency, KV/storage, CDN bandwidth, logs and contract terms; we turn the edge-function bill into a checkable list.

Book an edge compute cost review