Batch API 2026: The Easiest 50% Cut You Can Make to Your AI Bill
Most companies pay full price for AI they did not need in real time. If a job can wait an hour — classifying last night's support tickets, tagging a product catalogue, enriching a CRM, summarising a document backlog — you are almost certainly overpaying. In 2026, Anthropic, OpenAI and Mistral all offer a Batch API: submit a large set of requests at once, get the results back within a defined window, and pay roughly half. No new model, no quality trade-off, no clever prompting — just the same calls, run asynchronously. This is a plain-English guide to how batch inference works, which workloads fit, and how to build a pipeline that captures the saving without breaking anything.
What a Batch API actually is
A normal ("synchronous") API call is a conversation: you send a request, you wait, you get an answer back in seconds because something on the other side is holding a slot open for you. That responsiveness is what you pay a premium for. A batch call is a drop-box instead: you hand the provider a file of thousands of requests, they process them whenever they have spare capacity, and they notify you when the whole job is done. Because the provider can fit that work into the gaps of the day rather than reserving capacity for it, they pass the saving back to you — typically a 50% discount on both input and output tokens.
The trade you are making is explicit and simple: you give up instant response in exchange for half the cost and much higher throughput. For anything a human is not sitting and waiting on, that is an easy trade.
The three providers, one pattern
The mechanics are near-identical across vendors, which makes batch one of the most portable cost levers you have:
| Provider | What it's called | Discount | Turnaround target |
|---|---|---|---|
| Anthropic (Claude) | Message Batches API | 50% | Within 24h (usually much less) |
| OpenAI | Batch API | 50% | Within 24h |
| Mistral | Batch API | ~50% | Within 24h |
In all three you submit a set of requests — each one just a normal model call with its own ID — poll the job until it reports complete, then download a results file where each answer is keyed back to the request that produced it. Combine batch with prompt caching for repeated context and the savings stack: caching cuts the cost of the shared prefix, batch halves what remains.
Which workloads are a perfect fit
The question to ask is never "is this important?" but "does a human need the answer this second?" If the answer is no, it probably belongs in a batch. The classic candidates:
- Bulk classification and tagging — routing tickets, labelling content, categorising transactions, moderating a backlog. High volume, no user waiting.
- Data enrichment — cleaning and standardising a CRM, extracting fields from a pile of documents, generating product attributes for a catalogue.
- Summarisation at scale — condensing yesterday's calls, meetings, reviews or news into digests delivered each morning.
- Synthetic data and evals — generating training or test cases, and running an LLM-as-a-Judge pass over thousands of outputs overnight.
- Embeddings and back-catalogue processing — one-off jobs to index an archive for search or RAG.
Where batch is the wrong tool
Batch is not free of trade-offs, and using it in the wrong place creates a worse product, not a cheaper one. Keep these on the synchronous endpoint:
- Anything interactive — chatbots, copilots, live search, an agent taking a next step. The user is waiting; latency is the product.
- Anything with a hard deadline shorter than the window — if you need the answer in five minutes, a 24-hour target is a gamble even when most jobs finish fast.
- Tiny, one-off calls — the operational overhead of building and polling a batch is not worth it for a handful of requests.
Building a batch pipeline that holds up
The saving is real, but it only lands if the pipeline around it is boring and reliable. A few practices separate a robust batch workflow from a fragile one:
- Give every request a stable ID. Results come back unordered; you match them to inputs by the ID you assigned. Get this wrong and you silently attach the right answer to the wrong record.
- Handle partial failures. Individual requests inside a batch can fail while the job as a whole succeeds. Inspect per-request status and re-queue the failures rather than assuming all-or-nothing.
- Design for the window, not the average. Most jobs finish in minutes, but you must build as if it could take the full window. Never put a batch call on a path a user is blocking on.
- Make it idempotent. If a job is resubmitted after a crash, re-processing the same inputs should not create duplicates downstream.
- Track cost per job. The whole point is the saving — measure it, so a workload that quietly migrated back to the real-time endpoint gets noticed.
What this is worth in practice
For a business running meaningful AI volume, the batch discount is rarely a rounding error. A company classifying a few hundred thousand documents a month, or enriching a large CRM, or generating nightly summaries across the organisation, can cut the marginal cost of that work roughly in half by moving it off the real-time endpoint — with no change to the model or the output quality. It is the least glamorous optimisation in AI and one of the most reliable. Alongside model routing and prompt caching, it is one of the three levers we reach for first whenever a client's inference bill starts to hurt.
The bottom line
The Batch API is the closest thing AI has to a free lunch: the same calls, the same models, half the price — you just agree to wait. The engineering is modest and the discipline is ordinary: separate the work that a human is waiting on from the work that a schedule triggers, and push the second kind through batch. Most companies have far more of the second kind than they realise. Auditing where your tokens actually go, and moving the patient work to the patient endpoint, is often the single fastest way to make an AI budget stretch twice as far.
Paying real-time prices for work that could wait?
We audit where your AI spend actually goes and move the batchable work — classification, enrichment, summarisation, evals — onto asynchronous pipelines across Anthropic, OpenAI and Mistral. Half the cost, same output, no drama.
Talk to an AI consultant