Background Jobs & Cron pricing, compared

Pick a scale or set your usage. Each tool shows its cheapest plan for it, cheapest first, with the arithmetic and the vendor's pricing page. Price is one input — which one fits your situation matters as much.

Tools priced4checked since 2026-10-03
With a free plan3of 4
Side project$0 – $2.75a month
Growing$0 – $99a month
Scaling$50 – $299a month
4 of 4 tools fit this usageList prices, USD per month
Trigger.devFree$0/moWithin the free allowance23 makers' productsPricing page ↗
UpstashPay as you go$1.00/mo100k runs × $0.01 per 1,000 runs2 makers' productsPricing page ↗
TemporalDeveloper (pay as you go)$5.50/mo100k runs × $0.055 per 1,000 runs29 makers' productsPricing page ↗
InngestPro$99/mo$99 plan16 makers' productsPricing page ↗

Read from each vendor's pricing page (oldest check 2026-10-03). The model is plan fee + usage beyond what's included × the vendor's rate; volume discounts, annual billing, taxes and regional prices are left out — see each tool's notes. Always confirm on the vendor's page before you commit.

Cost as you grow

Each tool's cheapest usable plan as the product grows.

$0$20$100$200$50010501005001k5k10k
InngestTemporalUpstashTrigger.devx: job runs or steps per month (thousand runs), other usage scaled with it · cheapest usable plan at each point, list prices

At three scales

ToolSide projectjob runs or steps 50k runs, job compute time 5 hoursGrowingjob runs or steps 100k runs, job compute time 20 hoursScalingjob runs or steps 5 million runs, job compute time 100 hours
Trigger.dev$0Free$0Free$137Hobby
Upstash$0.50Pay as you go$1.00Pay as you go$50Pay as you go
Temporal$2.75Developer (pay as you go)$5.50Developer (pay as you go)$275Developer (pay as you go)
Inngest$0Free$99Pro$299Pro

Every plan

What each background jobs & cron plan costs, includes and caps, as modelled here.

Trigger.devA plan fee that comes back as the same amount of usage credit ($0, $10 or $50 a month), then $0.025 per thousand runs plus per-second compute by machine size.
PlanMonthly feeJob runs or steps per monthJob compute time per month
FreeFreeup to 200k runsup to 41.09 hours
Hobby$10/mo$0.025 per 1,000 runs82.18 hours includedthen $0.12168 per hour
Pro$50/mo$0.025 per 1,000 runs410.91 hours includedthen $0.12168 per hour

Compute is priced on the Small 1x machine (0.5 vCPU) at $0.0000338/s = $0.12168/hour; the Micro machine (0.25 vCPU) costs half that. The monthly credit (Free $5, Hobby $10, Pro $50) pays for both runs and compute, but the model spends it all on compute and charges runs from the first one, so paid plans are overstated by at most the run charges inside the credit. Free is modelled as two separate caps ($5 of compute alone = 41.09 hours, $5 of runs alone = 200k runs); really both draw on the same $5. Waits longer than 5 seconds are not charged compute, and runs in the DEV environment are free. Pro add-ons (extra concurrency $10 per 50, extra seats beyond 25 at $20 each) are left out.

Checked 2026-10-03 · pricing page ↗ · Trigger.dev pricing in full →
UpstashQStash is free for 1,000 messages a day, then $1 per 100K messages pay-as-you-go, or a fixed $180 or $420 a month for 1M or 10M messages a day.
PlanMonthly feeJob runs or steps per month
FreeFreeup to 30k runs
Pay as you goNone$0.01 per 1,000 runs
Fixed 1M$180/mo30 million runs includedup to 30 million runs
Fixed 10M$420/mo300 million runs includedup to 300 million runs

Messages are taken as runs (one delivery attempt = one run). The daily limits are converted to months as × 30: Free 1,000/day ≈ 30k/month, Fixed 1M/day ≈ 30M/month, Fixed 10M/day ≈ 300M/month — a bursty month can hit the daily cap sooner. QStash calls your own HTTP endpoint, so compute_hours is not charged here — it is paid to your host. Bandwidth is not modelled. Upstash's Redis and Workflow products are priced separately.

Checked 2026-10-03 · pricing page ↗ · Upstash pricing in full →
TemporalTemporal Cloud bills $50 per million actions with no base fee on the Developer plan, plus a support fee of 10% of usage.
PlanMonthly feeJob runs or steps per month
Developer (pay as you go)None$0.055 per 1,000 runs

Assumes one action per run or step: a simple workflow that starts and calls two activities with no retries, timers or signals ≈ 3 actions; heartbeats, retries and timers add more, so real usage is usually higher. Rate = $50 per million actions × 1.10 for the 10% Developer support fee = $0.055 per thousand. The docs say the Developer plan stays at $50 per million at any volume (the pricing page mentions self-service discounts down to $25 per million at higher volume, which the docs attach to Business and above). Business ($500/month minimum, 2.5M actions included, graduated rates from $50 to $25 per million) is left out — at solo volumes it costs more than Developer. Storage is not modelled. compute_hours is not charged (your own workers). New accounts get $150 of credits for 90 days, not modelled.

Checked 2026-10-03 · pricing page ↗ · Temporal pricing in full →
InngestFree up to 50k executions a month; Pro is $99 a month with 1M executions, then tiered overage from $0.05 down to $0.015 per thousand.
PlanMonthly feeJob runs or steps per month
FreeFreeup to 50k runs
Pro$99/mo1 million runs includedthen $0.05 per 1,000 runs
↳ next tier5 million runs includedthen $0.025 per 1,000 runs
↳ next tier15 million runs includedthen $0.02 per 1,000 runs
↳ next tier50 million runs includedthen $0.015 per 1,000 runsup to 100 million runs

runs_k is read as executions = runs × (steps + 1), Inngest's own formula. Overage tiers come from the pricing calculator on the vendor's page: $0.00005 per execution from 1M to 5M, $0.000025 to 15M, $0.00002 to 50M, $0.000015 to 100M; above 100M is not published, so the model stops there. Inngest calls your own functions (serverless or workers you host), so compute_hours is not charged here — it is paid to your host. Business ($499/month, 10M executions) is left out: at 10M executions Pro costs about $424. Event ingestion beyond the included amount (Pro 5M, then $0.50 per 1M) is not modelled.

Checked 2026-10-03 · pricing page ↗ · Inngest pricing in full →