QStash and Queuey can look surprisingly similar from 30,000 feet.

Your application sends a message to an intermediary. The intermediary stores it, delivers it to an HTTP endpoint, retries failures and gives you operational controls around the delivery.

But the products are optimized for different jobs.

QStash is serverless messaging and scheduling infrastructure. It is designed to make HTTP-based background work reliable without requiring you to operate queues or workers.

Queuey is an event delivery platform built around the operational meaning of delivery failures.

The cleanest way to describe the difference is:

QStash asks: how do we make sure this request gets another chance?

Queuey asks: should this request get another chance — and if not, what should happen instead?

That distinction is not absolute. QStash has mechanisms for marking errors non-retryable, custom retry delays, flow control, callbacks and a DLQ. It is a capable product.

The difference is where the intelligence lives.

The short version

QStashQueuey
Primary focusServerless messaging and schedulingOperational event delivery
HTTP deliveryCore capabilityCore capability
Automatic retriesYesYes
Retry controlRetry count, delay expressions, non-retryable signalingFailure classification and recovery decisions
QueuesYesYes
Flow controlRate + parallelism controlsDestination protection + delivery controls
DLQYesYes
SchedulingMajor strengthNot the primary use case
Failure modelReliable asynchronous request executionInterpret receiver failure and choose next action

Where QStash is genuinely strong

QStash is an elegant answer to a common serverless problem.

Instead of your application calling an endpoint directly, you publish a message to QStash. QStash handles delivery, retries, delay, scheduling, callbacks and flow control.

That makes it useful for background jobs, long-running API calls, scheduled tasks and serverless architectures where managing a traditional message broker feels excessive.

Its flow-control model is especially practical. You can limit rate, parallelism or both. Messages wait until capacity becomes available, which protects downstream endpoints from bursts.

QStash also supports failure callbacks and DLQ retention.

For a developer who wants a simple HTTP-native queue without standing up infrastructure, it is compelling.

The retry behavior reveals the product philosophy

By default, QStash retries a request when the destination does not return a successful 2xx response.

There is an escape hatch: a receiver can return status 489 with the Upstash-NonRetryable-Error: true header to tell QStash that the message should immediately stop retrying and move to the DLQ.

That is a useful feature.

It also shows where the semantic decision sits.

The receiver or application logic has to tell QStash that this particular failure is permanent.

Queuey is designed to make more of that interpretation a property of the delivery layer itself.

Consider a `422`

Imagine you send this event:

customer.updated

The destination returns:

422 Unprocessable Entity

The receiver is online. The network is fine. The endpoint exists.

But the payload cannot be processed.

Sending the same event again in thirty seconds is unlikely to change that.

In a generic message-delivery model, failure means the message was not accepted, so retry is a reasonable default until application logic says otherwise.

In Queuey's model, the response itself is evidence about the failure class.

A 422 should enter a different operational path from a 503.

Similarly:

  • 429 → respect the receiver's capacity signal
  • 401 / 403 → investigate credentials or access
  • 503 → likely transient destination availability issue
  • repeated timeouts → possible destination-health incident

That is Failure Intelligence: not just whether delivery failed, but what that failure suggests should happen next.

Message durability vs delivery semantics

QStash is very good at durability.

It takes responsibility for holding the message, waiting and making the HTTP request at the right time.

Queuey also provides durable event storage and retries, but its differentiation is the semantic layer around delivery.

Think of the two models like this:

QStash

publish → wait → deliver → retry / callback / DLQ

Queuey

ingest → deliver → observe → classify → decide → recover

Both are useful.

They optimize a different step in the system.

Flow control vs destination health

QStash gives developers explicit rate and parallelism limits.

That is excellent when you know the capacity you want to enforce. If an API allows ten requests per second, configure the flow-control key accordingly.

Queuey adds another dimension: the capacity of a destination may change because the destination is unhealthy.

A receiver that normally handles 1,000 requests per second but suddenly starts timing out should not necessarily continue receiving traffic at yesterday's configured limit.

Queuey ties destination health, circuit breaking and failure evidence into the delivery process.

The difference is between:

"Do not exceed this configured rate."

and:

"The receiver appears unhealthy; protect it while the incident persists."

Those mechanisms can coexist, but they solve different operational problems.

DLQ is not recovery

QStash's DLQ is useful because it prevents exhausted messages from disappearing.

But a DLQ is fundamentally a holding area.

Once a message lands there, someone or something still needs to answer:

  • Why did it fail?
  • Has the underlying problem been fixed?
  • Is replay safe?
  • Should the event be changed first?
  • Is the issue event-specific or destination-wide?

Queuey's focus is that recovery workflow.

The event should not become less intelligent just because automated retries have ended.

Pricing

QStash is exceptionally inexpensive for raw messaging.

As of August 19, 2026, QStash pricing includes:

  • Free: $0, up to 1,000 messages/day
  • Pay as you go: $1 per 100,000 messages
  • Fixed 1M: $180/month, up to 1 million messages/day
  • Fixed 10M: $420/month, up to 10 million messages/day
  • Enterprise: custom

A key pricing detail: each delivery attempt counts as a billable message, so retries add usage. Production SLA/observability features are available through the optional Prod Pack listed at $200/month.

Queuey currently offers:

  • Free: €0/month, 5,000 events included
  • Team: €49/month, 100,000 events included
  • Growth: €249/month, 1 million events included
  • Enterprise: custom

These are not apples-to-apples economics.

If you need a cheap HTTP-native message scheduler, QStash has a major price advantage.

Queuey is making a different bet: that operational recovery, destination protection and failure interpretation justify a broader delivery layer.

Choose QStash when

QStash is likely the better fit when you primarily need:

  • Serverless background messaging
  • Scheduled HTTP calls
  • Delays and cron-style execution
  • Simple queues without workers
  • Explicit rate and parallelism controls
  • Very low usage-based pricing
  • Long-running HTTP callbacks

It is especially attractive when your application already knows what is retryable and simply needs durable infrastructure to execute that policy.

Choose Queuey when

Queuey becomes more interesting when:

  • Receiver responses should drive different recovery paths
  • You do not want every integration to reimplement HTTP failure semantics
  • Destination health should affect delivery behavior
  • Operators need an explanation, not only a DLQ entry
  • Replaying a failed event should be a recovery decision rather than a mechanical action
  • Delivery is part of an integration or business process, not just a background job

The verdict

QStash is excellent serverless message-delivery infrastructure.

Queuey is trying to solve a harder operational question around the same HTTP boundary.

QStash makes retries easy to execute.

Queuey is built to decide whether retry is the right action in the first place.

Because eventual delivery is useful.

Knowing when eventual delivery will never succeed is useful too.


Sources checked August 19, 2026: QStash overview · QStash retries · QStash flow control · QStash pricing · Queuey product · Queuey pricing

Related: Queuey vs the alternatives · Queuey vs Hookdeck · Queuey vs AWS EventBridge