NewWhy every AI app needs a reliable job queue

The managed job queue for AI and API-heavy backends.

Production-grade background jobs without building or running a queue. Publish over REST or the TypeScript SDK; SimpleQ delivers each job to your webhook — with retries, ack mode for long-running work, and backpressure that defers on 429s instead of burning your retry budget. No polling workers, no broker — your worker is a plain HTTP endpoint.

No credit card requiredFree during early access — all features includedREST API + official TypeScript SDK today — more language SDKs coming
app.simpleq.io / queues
Queued24
Running8
Ready2
ID
Type
Status
Job Count
q_8a3f
openai
Running
1,240
q_9b21
claude
Running
8,500
q_71c9
stripe
Running
4,120
q_44de
agent
Ready
q_22a0
embedding
Ready
320
Throughput
2,418/min
Success rate
99.94%
P95 latency
412ms

Built for teams shipping AI, SaaS, automation, and async-heavy products

AI Startups
SaaS Companies
Agencies
Internal Tools
Enterprises
The problem

Every team rebuilds the same fragile async infrastructure.

Async work is the duct tape of every modern app — and it breaks in the same ways everywhere. SimpleQ replaces the bespoke retry, rate-limit, and dead-letter code your team keeps rebuilding with one managed queue.

Delivery fails silently

Your downstream LLM or third-party API times out, 429s, or goes down — and without retries, the job is lost with no record it ever ran.

Rate limits break delivery

Bursty traffic overwhelms a downstream API — OpenAI, Stripe, an internal service — and your jobs start 429ing or dropping.

Background jobs disappear

Process restarts, deploys, or memory pressure quietly delete in-flight work.

Retry logic becomes messy

Every team rebuilds backoff, idempotency, and dead-letter queues the hard way.

No acknowledgment guarantees

You publish a job and hope it ran. No ack protocol, no timeout handling, no way to know if the work actually completed.

Teams lack visibility

No dashboards, no per-job logs, no attempt history — debugging is grep and prayer.

The solution

SimpleQ handles delivery so your team can build product.

One REST API (or the TypeScript SDK) for queuing, retries, per-queue rate limiting, ack mode, and dead-letter replay. Drop it in, ship the next feature, sleep through the night.

Drop in — no new infrastructure

Publish over REST or the official TypeScript SDK. SimpleQ POSTs each job to a route in the app you already run — no polling workers, no broker, no framework to adopt.

Backpressure that never burns a retry

429, 503, and 529 with Retry-After auto-defer — a rate-limited job rides out the limit and still completes, without spending an attempt. Built for AI APIs.

Ack mode for long-running work

Return 200 fast, then report the real outcome with ack, nack, or defer — for LLM calls, video, and slow APIs that outlast a synchronous response.

Retries + dead-letter queue

Exponential or fixed backoff, configurable max attempts, and a DLQ with one-click replay — single or bulk, from the dashboard or API.

Per-queue rate limiting

One shared rate budget per queue controls delivery speed across every worker — never overwhelm a downstream API.

Observability + HMAC signing

Per-job logs, full attempt history, and payloads — plus HMAC-SHA256 signing and idempotency keys so every delivery is verifiable and safe to retry.

Who it's for

Does this sound like your team?

SimpleQ is built for teams that need reliable async delivery without managing queue infrastructure.

You're building with LLMs and tired of dropped jobs.

Queue OpenAI, Anthropic, or Bedrock calls with per-queue rate limiting, 429/529 backpressure handling, and idempotent retries. Use ack mode for calls that run longer than 15 seconds.

You need a flaky downstream to degrade gracefully, not cascade.

defer rides out 429/503/529 on the downstream's Retry-After — no attempt burned — so a rate-limited API can't blow through your retry budget or stall the queue.

See the comparison →

You're migrating off self-hosted Redis + BullMQ.

Drop the infra, keep the model. SimpleQ is a managed replacement with push delivery to your endpoint, built-in rate limiting, and a dashboard.

See the comparison →

You need rate-limited fan-out to a third-party API.

Per-queue rate limiting with defer-on-backpressure so you never overwhelm a downstream — without burning retries.

Developer-first

One API to run reliable background work.

A single REST API call publishes a job. SimpleQ handles queuing, retries, rate limiting, and delivery to your webhook — no infrastructure to manage.

  • Idempotency keys to prevent duplicate jobs
  • Per-queue rate limits for downstream APIs
  • Delayed jobs up to 24h (one-shot)
  • Dead-letter queues with one-click replay
  • Ack mode with nack and defer for long-running async work
  • Queue templates for AI workloads (Anthropic + OpenAI)
  • HMAC webhook signing for security
  • 429/503/529 backpressure handled without burning retries
publish-a-job.sh
bash
1// Publish a job — SimpleQ queues it, retries on failure,
2// and POSTs the job to your webhook when ready.
3 
4curl -X POST https://api.simpleq.io/v1/queues/ai-jobs/jobs \
5 -H "Authorization: Bearer sq_live_abc123..." \
6 -H "Content-Type: application/json" \
7 -d '{
8 "payload": {
9 "model": "gpt-4o-mini",
10 "messages": [
11 { "role": "user", "content": "Summarize this request" }
12 ]
13 },
14 "idempotencyKey": "summary_req_456",
15 "delay": 5
16 }'
17 
18// Response
19{
20 "id": "job_abc123",
21 "status": "pending",
22 "createdAt": "2025-01-15T10:30:00Z"
23}
Dashboard

Know exactly what is happening.

Inspect every job, every attempt, every payload. Filter by queue, status, or error. Replay dead-lettered jobs from the dashboard with one click.

app.simpleq.io / overview
Total jobs
0
Pending
0
Running
0
Dead
0
Completed
0
Success rate
0.00%
Attempts this month
0
Queues
ai-jobs
892,113
agent-steps
241,902
embeddings
48,118
billing-sync
14,209
Recent failures
Dead-letterFilter
JobTypeErrorAttemptsWhenAction
job_3f12openai500 server_error5/52m ago
job_a91danthropictimeout after 15s5/56m ago
job_7c44stripe502 bad_gateway5/511m ago
Pricing

Start free. Scale when you do.

The free tier covers 30,000 attempts a month across 5 queues, with every feature and no credit card. Paid plans are usage-based — you pay per outbound attempt; backpressure holds are free and never burn your retry budget. Paid numbers below are preview pricing and may change before general availability.

PlanPriceAttempts / moQueues
Free$030,0005
Standard (preview)$19/mo500,000 then $0.50/100KUnlimited
EnterpriseCustomCommittedUnlimited
Vision

Managed queues for every async workflow.

Every team rebuilds the same fragile queue infrastructure — retries, rate limits, dead-letter handling, backpressure. SimpleQ replaces all of it with a managed service. You handle the business logic, we handle the transport. One REST API, zero infrastructure to maintain.

Questions

Frequently asked questions.

Still have a question? Reach out on the contact page and we'll get back within a day.

You publish a job via our REST API. SimpleQ queues it, handles retries and rate limits, and when the job is ready, POSTs the job to your webhook URL — your payload inside a small JSON envelope. Your app handles the business logic.

Stop rebuilding async infrastructure.

Publish your first job, point it at your webhook, and let SimpleQ handle the rest.