# Cloudflare Queues vs Zeplo

Canonical: https://inetgeek.com/compare/cloudflare-queues-vs-zeplo/

Every value below is read from Cloudflare Queues's and Zeplo's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Cloudflare Queues | Zeplo |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Pricing model | Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day. | Per HTTP request rather than per message or per execution, with unlimited jobs on every tier and team size as a separate axis — three members included on Company, $15 for each beyond. |
| Included per month | 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day. | 500 requests free, then $20 per 100,000. The Company plan includes 1,000,000 requests and charges $10 per million beyond — five times cheaper per request than the free plan's overage rate. |
| Maximum message size | 128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations. | 256 KB inline request body (unlimited via S3 offload); plan payload caps are 64 KB on Developer and 1 MB on Company. |
| Message retention | 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours. | 30 days of log retention on every plan — free, Company and Enterprise alike. The longest window in this category by a wide margin. |
| Maximum delay | 24 hours, set with delaySeconds when sending or retrying. | 30 days (2,592,000 seconds) maximum delay_seconds per request. |
| Concurrency | 250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second and a 25 GB backlog. | API rate limit rather than a concurrency figure: 100 requests/min on Developer (Free) and 2,000 requests/min on Company ($39/mo). |

## Where they differ

### Pricing model

- Cloudflare Queues: Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day. ([source](https://developers.cloudflare.com/queues/platform/pricing/))
- Zeplo: Per HTTP request rather than per message or per execution, with unlimited jobs on every tier and team size as a separate axis — three members included on Company, $15 for each beyond. ([source](https://www.zeplo.io/pricing))

### Included per month

- Cloudflare Queues: 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day. ([source](https://developers.cloudflare.com/queues/platform/pricing/))
- Zeplo: 500 requests free, then $20 per 100,000. The Company plan includes 1,000,000 requests and charges $10 per million beyond — five times cheaper per request than the free plan's overage rate. ([source](https://www.zeplo.io/pricing))

### Maximum message size

- Cloudflare Queues: 128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations. ([source](https://developers.cloudflare.com/queues/platform/limits/))
- Zeplo: 256 KB inline request body (unlimited via S3 offload); plan payload caps are 64 KB on Developer and 1 MB on Company. ([source](https://zeplo.io/docs/limits/))

### Message retention

- Cloudflare Queues: 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours. ([source](https://developers.cloudflare.com/queues/platform/pricing/))
- Zeplo: 30 days of log retention on every plan — free, Company and Enterprise alike. The longest window in this category by a wide margin. ([source](https://www.zeplo.io/pricing))

### Maximum delay

- Cloudflare Queues: 24 hours, set with delaySeconds when sending or retrying. ([source](https://developers.cloudflare.com/queues/platform/limits/))
- Zeplo: 30 days (2,592,000 seconds) maximum delay_seconds per request. ([source](https://zeplo.io/docs/limits/))

### Concurrency

- Cloudflare Queues: 250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second and a 25 GB backlog. ([source](https://developers.cloudflare.com/queues/platform/limits/))
- Zeplo: API rate limit rather than a concurrency figure: 100 requests/min on Developer (Free) and 2,000 requests/min on Company ($39/mo). ([source](https://zeplo.io/docs/limits/))

## Which should you choose?

Pick Cloudflare Queues if Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.

Pick Zeplo if Turning an HTTP endpoint into a queued, retried job without running a consumer — and keeping a month of logs while doing it, which nothing else here offers on a free plan.

Consider something else: Cloudflare Queues — Billing is per 64 KB operation rather than per message, so a large payload or a chatty retry loop costs several times what the message count suggests.

Consider something else: Zeplo — The free tier's overage is $20 per 100,000 requests, twenty times the Company plan's rate, so staying free past 500 requests is the most expensive way to use it.

## Documented by only one

- Entry paid plan: Zeplo: $39/month for Company, including 1,000,000 requests and three team members. Additional members are $15 each.
- Regions: Zeplo: Hosted on Google Cloud Platform; no selectable region is offered and data may be transferred between countries.
- Dead letter queue: Cloudflare Queues: Supported

## Questions this comparison answers

**Should I choose Cloudflare Queues or Zeplo?**

Pick Cloudflare Queues if Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
Pick Zeplo if Turning an HTTP endpoint into a queued, retried job without running a consumer — and keeping a month of logs while doing it, which nothing else here offers on a free plan.
