Products · Developer platform

K2

A durable event stream

Pricing and limits

Pricing

as of Nov 3, 2026

As of Nov 3, 2026, from Cloudflare's docs, last updated there Oct 6, 2026. Licensed CC BY 4.0; navigation removed.

Pricing availability

K2 is in public beta and billing is not enabled at this time. We will provide at least 30 days notice before billing begins. Pricing may change and is shared in advance so that you can estimate what your costs will be once Cloudflare starts billing for usage.

K2 is available on the Workers Paid plan. K2 charges based on three dimensions:

  • Data produced: The volume of data written to streams.
  • Data consumed: The volume of data read from streams by consumers.
  • Data retained: The volume of data stored in streams.

All three dimensions are measured in uncompressed bytes: the size of your records before any compression, such as gzip compression of an HTTP request body.

K2 pricing

Workers Paid 1
Data produced $0.04 / GB
Data consumed $0.04 / GB
Data retained $0.02 / GB / month

Data produced

Data produced is the volume of records written to a stream, through the HTTP API or a Workers binding.

Data consumed

Data consumed is the volume of records read from a stream through subscriptions. Each subscription reads every record independently, so a stream with more subscriptions consumes more data.

Data retained

Data retained is the volume of records stored in a stream, billed per GB per month. How much data a stream stores depends on how much you produce and on the stream's retention period.

Billing examples

Example: one consumer

An application produces 100 GB of events per month to a stream. One subscription consumes every record, and the stream stores an average of 25 GB over the month.

Dimension Usage Rate Cost
Data produced 100 GB $0.04 / GB $4.00
Data consumed 100 GB $0.04 / GB $4.00
Data retained 25 GB $0.02 / GB / month $0.50
Total $8.50

Example: fan-out to three consumers

The same stream is read by three subscriptions, for example an alerting system, an archiver, and an analytics pipeline. Each subscription consumes every record.

Dimension Usage Rate Cost
Data produced 100 GB $0.04 / GB $4.00
Data consumed 300 GB (3 × 100 GB) $0.04 / GB $12.00
Data retained 25 GB $0.02 / GB / month $0.50
Total $16.50

Cloudflare billing policy

To learn more about how usage is billed, refer to Cloudflare Billing Policy.

Footnotes

  1. K2 both bills and measures usage based on a gigabyte
    (1 GB = 1,000,000,000 bytes) and not a gibibyte (GiB).
    ↩

Limits

as of Nov 3, 2026

As of Nov 3, 2026, from Cloudflare's docs, last updated there Oct 6, 2026. Licensed CC BY 4.0; navigation removed.

Need a higher limit?

To request an adjustment to a limit, complete the Limit Increase Request Form ↗︎. If the limit can be increased, Cloudflare will contact you with next steps.

Account limits

During the public beta, each account can store up to 10 GB across all streams.

Streams

Feature Limit
Maximum streams per account 20
Minimum retention period 1 hour (3600 seconds)
Maximum retention period 30 days (2592000 seconds)
Default retention period 7 days (604800 seconds)

Higher retention limits are available by request.

Produce records

Feature Limit
Maximum produce throughput per stream 30 MB/s
Maximum request size 5 MB (5,000,000 bytes)
Maximum record size ~1 MB (1,000,000 bytes)
Maximum headers per record 32
Maximum header name size 256 bytes
Maximum header value size 8 KiB (8,192 bytes)
Maximum total header size per record 64 KiB (65,536 bytes)

The maximum request size applies to the HTTP request body both before and after gzip decompression + a small amount of internal metadata. For the Workers binding, it applies to the total size of the records in a single send() call.

The maximum record size applies to the decoded record content, and to the record content and headers combined. Header sizes are measured in UTF-8 bytes.

There is no limit on the number of records in a request, other than the maximum request size.

The maximum produce throughput applies to the total data produced to a stream across all producers. To request a higher limit, refer to limit increases.

Subscriptions and consuming records

Feature Limit
Maximum max_records per consume request 10,000
Maximum data per consume response 10 MB
worker_id length 1 to 256 characters
Maximum active leases per subscription 128
Maximum subscriptions per stream 100

Timeline

No changelog entries or incidents name K2 yet.