# Temporal vs Inngest

Canonical: https://inetgeek.com/compare/temporal-vs-inngest/

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

## At a glance

| Criterion | Temporal | Inngest |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Entry paid plan | $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions. | $99/month for Pro, described as a starting price with usage above the included allowance billed on top. |
| Pricing model | Per Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure. | Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count. |
| Included per month | 1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category. | 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three. |
| Message retention | Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks. | Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise. |

## Where they differ

### Entry paid plan

- Temporal: $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions. ([source](https://temporal.io/pricing))
- Inngest: $99/month for Pro, described as a starting price with usage above the included allowance billed on top. ([source](https://www.inngest.com/pricing))

### Pricing model

- Temporal: Per Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure. ([source](https://temporal.io/pricing))
- Inngest: Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count. ([source](https://www.inngest.com/pricing))

### Included per month

- Temporal: 1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category. ([source](https://temporal.io/pricing))
- Inngest: 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three. ([source](https://www.inngest.com/pricing))

### Message retention

- Temporal: Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks. ([source](https://temporal.io/pricing))
- Inngest: Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise. ([source](https://www.inngest.com/pricing))

## Which should you choose?

Pick Temporal if Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.

Pick Inngest if Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.

Consider something else: Temporal — Entry is $100 a month before any usage, and the unit is an Action, which does not map onto messages or task runs — budgeting requires modelling your workflows, not counting jobs.

Consider something else: Inngest — Every step is a billable execution, so a three-step workflow costs three times what the run count implies, and the free plan allows five concurrent steps.

## Documented by only one

- Concurrency: Inngest: 5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.

## Questions this comparison answers

**Entry paid plan: Temporal or Inngest?**

Temporal: $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions.
Inngest: $99/month for Pro, described as a starting price with usage above the included allowance billed on top.

**Should I choose Temporal or Inngest?**

Pick Temporal if Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.
Pick Inngest if Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.
