Does 1 million API requests a day fit on the Free plan?

Scenario · workers

Reviewed 2026-10-25 · against the official Cloudflare pricing pages listed under Sources

Try this scenarioLoads these inputs into the calculator so you can change them.

The JSON API preset's traffic on Free. One million requests a day is ten times the cap. CPU at 5 ms would have fit. The failure mode is error 1027, not an overage invoice.

On the Free plan this model comes to $0.00. The other plan, with the same inputs, comes to $13.40. The 30-day month is the same length R2 uses in its storage example. Daily free caps are not monthly pools.

The Free plan fails closed

Workers, KV, D1, Queues, and Durable Objects do not publish Free overage prices. Past the daily cap, the call fails. R2 is the exception in this calculator: its monthly free tier is published next to Standard rates, so storage and operations above that tier are billed even without the $5 plan.

Read this before you trust the total

Free plan lines at $0 can still be an outage: error 1027, error 1102, or a D1 quota error. R2 above its monthly free tier is billed on both plans. Durable Object requests round up to the next million, as in Cloudflare's own Example 1, which bills 500,000 requests as 1 million.

This model

$0.00 · Free

Free quotas for Workers, KV, D1, Queues, and Durable Objects reset at 00:00 UTC. A month that averages under the cap can still fail on one busy day. R2 is different: its free tier is monthly, and usage above it is billed on both plans.

A typical day is over the 100,000 request cap, so expect error 1027. 1,000,000 versus a cap of 100,000.

Worker requests
$0.00

Free cap 100,000 per day. This monthly total averages 1,000,000 per day across 30 days. The line is $0.00. The Free plan has no request overage price. Above 100,000 requests in a UTC day, Cloudflare returns error 1027. Requests served as static assets are free and unlimited, so they should not be included in this request count.

Worker CPU time
$0.00

Published cap 10. The line is $0.00 because this Free meter is not billed as overage. Each Free plan invocation may use 10 ms of CPU. This line is not a monthly pool, and it is not billed.

D1 rows read
$0.00

Free cap 5,000,000 per day. This monthly total averages 1,000,000 per day across 30 days. The line is $0.00. D1 bills rows scanned, not rows returned. A SELECT * on a 5,000-row table with no useful index counts as 5,000 rows read. Free D1 quotas reset at 00:00 UTC. Past the daily cap, queries fail until the next reset instead of being billed.

D1 rows written
$0.00

Free cap 100,000 per day. This monthly total averages 10,000 per day across 30 days. The line is $0.00. INSERT, UPDATE, and DELETE count as rows written. An index write adds another written row. Free D1 quotas reset at 00:00 UTC. Past the daily cap, queries fail until the next reset instead of being billed.

D1 storage
$0.00

Published cap 5. The line is $0.00 because this Free meter is not billed as overage. Free D1 storage is 5 GB total. There is a separate 500 MB maximum per database on the Free plan.

Assumptions

  • A 30-day month and steady traffic across it.
  • Rates as published on 2026-10-25; taxes excluded.
  • The Free plan does not bill Workers, KV, D1, Durable Objects or Queues. When a daily cap is reached, requests fail until 00:00 UTC instead of costing more.

Try this scenario

Sources