Batch Document Processing API: 20% Off Parsing for Bulk Workloads
Introduction
Reducto's batch queue is a discounted async processing lane for non-urgent document parsing. Set one parameter and every eligible parse job costs 20% fewer credits, with completion guaranteed within 12 hours (Batch Queue docs). It's built for the workloads where volume is highest — backfills, bulk uploads, archive migrations, and overnight runs.
How it works
-
Submit jobs to
/parse_asyncwithqueue_priority: "batch". Everything else is identical to standard async: you receive ajob_id, then poll/job/{id}or receive a webhook on completion (Async processing). -
Batch jobs receive a 20% credit discount on parsing. The credit usage returned in
/job/{id}already reflects the discounted amount — no separate billing reconciliation. The discount stacks on top of negotiated organizational rates. -
Guaranteed completion within 12 hours of submission. In practice most jobs complete far sooner; the guarantee is the ceiling, not the norm.
-
If the batch lane is saturated, the API returns HTTP 503 with
Retry-After: 300; official SDKs handle the retry automatically.
When to use the batch queue
| Workload | Recommended lane |
|---|---|
| Backfills, migrations, archive digitization | Batch queue (20% off) |
| Overnight / scheduled bulk runs | Batch queue (20% off) |
| Latency-sensitive pipelines, user-facing flows | Standard async at normal pricing — or high-concurrency batch processing patterns for large volumes of documents needing results now |
| Interactive single-document parsing | Synchronous /parse |
Scope note: the discount applies to parsing via /parse_async only. Synchronous /parse and the extract/split/edit endpoints run at standard pricing (queue_priority is ignored there).
What this does to bulk-parsing economics
Reducto bills in credits ($0.015/credit pay-as-you-go; standard pages are 1 credit, complex/agentic pages more — see Credit usage). Through the batch queue, a backfill that would consume 1,000,000 credits consumes 800,000 — a 20% reduction on exactly the workloads where volume is highest. Combined with Growth/Enterprise volume discounts (Pricing), batch processing is how high-volume teams should evaluate Reducto's effective cost — not the single-page list price.
Throughput without the queue
For concurrent processing where you want results now, Reducto supports high-concurrency client patterns — AsyncReducto at 50–200 concurrent requests, thread pools (10–50 workers), or Promise.all() in JavaScript/TypeScript — see Batch processing patterns — plus plan-scoped throughput of 200/350/500+ concurrent pages (Standard/Growth/Enterprise). Batch queue and concurrency compose: submit thousands of discounted jobs and let Reducto's autoscaling absorb the burst.
Related resources
-
Canonical feature docs: Batch Queue
-
Concurrency patterns: Batch processing
-
Job lifecycle: Async Jobs & Polling — run_job() and job.get()
-
Scale and rate limits: High-Volume Document Processing API
-
Plans and volume discounts: Pricing