Official quotas, sourced

OCR API Limits on Max File Size and Page Count Compared

OCR API limits swing from 15 pages to 3,000 per request and 20 MB to 1 GB per file. AWS Textract reads one page synchronously but 3,000 async, Azure takes 2,000 pages in a single call, and Google Document AI online caps at 15.

The limit that trips people up is not the biggest number, it is the synchronous one. Here is every ceiling, read from the vendor docs.

  • Max file size, per vendor
  • Max pages per request
  • Sync versus async ceilings
  • Rate limits and free-tier caps
Upload a multi-page PDF, no signup

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload a document to extract

Drop in a long PDF and see the fields come back, without wiring up an async job or worrying about a 15-page cap.

Encrypted in transit
US data handling
Multi-page batching
3,000
Textract async page ceiling
2,000
Azure pages in one call
15
Google Document AI online page cap
1 GB
Google Document AI batch file, the largest here
The short answer

What the OCR API limits actually are

OCR API limits fall into three buckets: file size, pages per request, and rate. On file size, AWS Textract and Azure AI Document Intelligence accept up to 500 MB, Google Document AI batch goes to 1 GB, and Mistral OCR and the Gemini API both stop at 50 MB. On pages, Textract reads up to 3,000 in an async job, Azure takes 2,000 in one call, Google allows 15 online or 1,000 in batch, and Gemini and Mistral OCR both cap at 1,000. The number that surprises people is Textract's synchronous limit of a single page, and Google's online limit of 15 pages, because both force you onto an asynchronous or batch path for anything longer. On rate, expect a per-second transaction quota and a 429 response when you exceed it, so build retry logic. Every figure here was read from the vendor's own documentation, and because limits change, the honest move is to confirm each one on the current doc before you design around it.

The three limits that matter

  • File size: 20 MB (Vision image) to 1 GB (Google batch).
  • Pages per request: 1 (Textract sync) to 3,000 (Textract async).
  • Rate: a per-second quota; a 429 means slow down, not rejected.
The real gotcha

The limit that bites is the synchronous one

Read the headline numbers and Textract looks the most generous at 3,000 pages and Azure strong at 2,000. In practice the ceiling you hit first is the synchronous one. AWS Textract's synchronous operations, DetectDocumentText and AnalyzeDocument, accept a single-page PDF or TIFF up to 10 MB. Send a five-page PDF to that call and it fails. To read the whole thing you use the asynchronous operations, StartDocumentTextDetection or StartDocumentAnalysis, which take up to 3,000 pages and 500 MB from Amazon S3, and then you poll the JobId for the result.

Google Document AI has the same shape at a different number. Online processing caps at 15 pages and 40 MB, or 30 pages in imageless mode. A sixteen-page contract sent to the online endpoint returns the "page limit exceeded" error. The fix is batch processing, which raises the ceiling to 1,000 pages per file and 1 GB, at the cost of an asynchronous call and a Cloud Storage bucket. Azure avoids the split entirely: one analyze call takes the full 2,000 pages and 500 MB, and you poll for the result the same way regardless of length.

So the practical rule is to design for your longest document, not your average one. If most of your PDFs are short but a few run to hundreds of pages, you still need the asynchronous or batch path, plus the polling and reassembly that comes with it. That plumbing, not the raw ceiling, is the real cost of the limit.

Check these before you build

  1. 1. Does the synchronous call accept your page count, or is it one page like Textract?
  2. 2. What is the online page cap, and does your longest document exceed it?
  3. 3. Is your largest file under the size ceiling, 50 MB for LLM readers, 500 MB to 1 GB for cloud OCR?
  4. 4. What is the per-second rate limit, and does your batch burst past it?

Limits and quotas change. Everything on this page was read from each vendor's own documentation, and we would rather you confirm it there than trust us.

The limits card

OCR API limits, side by side

Read from each vendor's own documentation. Synchronous and asynchronous ceilings are listed separately where they differ, because that difference is the one that shapes your integration.

Service Max file size Max pages per request Rate limit Formats
Azure AI Document Intelligence (S0) 500 MB 2,000 pages (one analyze call) 15 analyze TPS (adjustable) PDF, JPEG, PNG, BMP, TIFF, HEIF; Office on Read/Layout
Azure AI Document Intelligence (F0 free) 4 MB First 2 pages only 1 analyze TPS Same, truncated to 2 pages
AWS Textract (synchronous) 10 MB 1 page (PDF/TIFF) Per-second quota, Region-specific JPEG, PNG, PDF, TIFF (no XFA)
AWS Textract (asynchronous) 500 MB 3,000 pages (PDF/TIFF) Per-second quota, Region-specific JPEG, PNG, PDF, TIFF from S3
Google Document AI (online) 40 MB 15 pages (30 imageless) 120 pages/min (provisioned base) PDF, TIFF, GIF, images
Google Document AI (batch) 1 GB Up to 1,000 pages/file 5 concurrent batch requests 5,000 files per batch request
Mistral OCR and Document AI 50 MB per document 1,000 pages per document Account rate limits apply, 429 on excess PDF, PPTX, DOCX, PNG, JPEG, AVIF
Gemini API 50 MB (PDF inline) 1,000 pages Model rate limits apply 258 tokens per page
Google Cloud Vision 20 MB per image PDF/TIFF async from storage Per-project quota Text only, no key-value fields

Textract splits sync and async, so it appears twice: one page synchronously, 3,000 pages asynchronously. Azure lists free and paid tiers separately because the free F0 tier returns only the first 2 pages (see the Azure Document Intelligence limits in depth). Google lists online and batch because the online 15-page cap is the limit most teams hit (see the Google Document AI limits). For the AWS numbers in depth, see the AWS Textract limits page, and for what each of these costs, the OCR API pricing comparison.

Most headroom

Who handles the biggest documents

Ranked by the largest single document each service accepts, with the catch that comes with each ceiling.

Service Max pages Max file The catch
AWS Textract (async) 3,000 pages 500 MB Highest page count, but multi-page PDF must be an async S3 job.
Azure AI Document Intelligence 2,000 pages 500 MB Highest single-call ceiling; one analyze request, you poll for the result.
Google Document AI (batch) 1,000 pages/file 1 GB Largest single file; needs batch, online caps at 15 pages.
Mistral OCR and Document AI 1,000 pages 50 MB Same ceiling as Gemini. The 512 MB Files API limit does not lift the 50 MB OCR cap.
Gemini API 1,000 pages 50 MB Tight 50 MB ceiling; each page is 258 tokens, so cost scales with output.

No single service wins every axis. Textract has the most pages but forces an async job for any multi-page PDF. Azure has the cleanest single-call path but a 500 MB file ceiling. Google batch takes the largest file at 1 GB but caps online at 15 pages. If you would rather not pick a limit to design around, a product that batches, splits and polls for you removes the ceiling from your code. See how each option is priced on the best OCR API roundup.

Frequently asked

OCR API limits FAQ

What is the maximum file size for an OCR API?
It ranges from 20 MB to 1 GB depending on the vendor. AWS Textract accepts 10 MB synchronously and 500 MB asynchronously. Azure AI Document Intelligence takes 500 MB per request on the paid tier. Google Document AI allows 40 MB online and 1 GB in batch. Mistral OCR and the Gemini API both cap a PDF at 50 MB, and Google Cloud Vision limits an image to 20 MB. Always confirm the current figure on the vendor doc, since these change.
How many pages can an OCR API process in one request?
The single-request ceiling runs from 15 pages to 3,000. AWS Textract reads up to 3,000 pages in an asynchronous PDF job but only 1 page synchronously. Azure AI Document Intelligence takes 2,000 pages in one analyze call. Google Document AI allows 15 pages online, or up to 1,000 pages per file in batch. Gemini and Mistral OCR both cap a document at 1,000 pages. So the answer depends heavily on whether you call the synchronous or the asynchronous endpoint.
What is the file size limit for Mistral OCR?
50 MB and 1,000 pages per document. Mistral's OCR processor documentation says uploaded documents "must be 50 MB or less and contain 1,000 pages or fewer." The 512 MB on Mistral's platform limits page is the general Files API ceiling and does not lift the OCR cap. Images are limited to 20 MB, and Mistral retains uploaded files for 30 days unless you delete them earlier.
Why does AWS Textract only read one page?
Because the synchronous Textract operations, DetectDocumentText and AnalyzeDocument, accept a single-page PDF or TIFF, or one image, up to 10 MB. To read a multi-page PDF you call the asynchronous operations, StartDocumentTextDetection or StartDocumentAnalysis, which accept up to 3,000 pages and 500 MB from Amazon S3, then you poll the JobId for the result. Sending a multi-page PDF to the synchronous call is the most common Textract error, and the fix is to switch to the async job.
What is the Google Document AI page limit?
Google Document AI processes up to 15 pages per document with online (synchronous) processing, or 30 pages if you enable imageless mode. The maximum online file size is 40 MB. For anything larger you use batch (asynchronous) processing, which handles up to 1,000 pages per file depending on the processor, files up to 1 GB, and up to 5,000 files per batch request. The 15-page online cap is what triggers the "page limit exceeded" error most teams hit first.
Which OCR API handles the largest documents?
For raw page count, AWS Textract wins with a 3,000-page asynchronous limit, ahead of Azure AI Document Intelligence at 2,000 pages in a single call. For file size, Google Document AI batch accepts the largest single file at 1 GB, ahead of Azure and Textract at 500 MB. Mistral OCR and the Gemini API are the most constrained of the group at 50 MB and 1,000 pages, which matters when your scanned PDFs are large.
Do OCR APIs have rate limits?
Yes. Azure AI Document Intelligence defaults to 15 analyze transactions per second on the paid S0 tier and 1 on the free F0 tier, both raised by support request for S0. Google Document AI meters pages per minute and allows 5 concurrent batch requests per project. AWS Textract publishes per-second transaction quotas in the Service Quotas console that vary by operation and Region. Build retry logic with exponential backoff, because a 429 response means you crossed a per-second limit, not that your document was rejected.
What file formats do OCR APIs accept?
The common set is PDF, JPEG, PNG and TIFF. Azure AI Document Intelligence adds BMP and HEIF, and reads DOCX, PPTX and XLSX with its Read and Layout models but not with prebuilt or custom models. AWS Textract accepts JPEG, PNG, PDF and TIFF but rejects XFA-based and password-protected PDFs. Mistral Document AI also reads PPTX, DOCX and AVIF. Confirm format support per model, because a prebuilt or custom model often accepts fewer types than plain OCR.
What is the free tier page limit?
Free tiers are built for testing, not volume. Azure AI Document Intelligence free F0 returns only the first 2 pages of any request and caps files at 4 MB. Google and AWS give a monthly free allowance or a new-customer credit on their OCR engines rather than a page-per-request cap. Because the free tiers truncate or meter so tightly, run your real multi-page documents on a paid key before you judge accuracy at length.
Does the page limit change accuracy or just capacity?
It changes capacity, not accuracy. The page and file-size limits govern how much you can send in one request, not how well the model reads a page. That said, hitting a limit forces an architecture choice, synchronous versus asynchronous, that affects latency and complexity. A 12-page PDF is fine for Azure in one call, needs batch on Google, and needs an async job on Textract, so the limit shapes your integration even though the per-page result is the same.
How do I process a PDF larger than the API limit?
Split it or go asynchronous. If your PDF exceeds the online page cap, most commonly Google Document AI at 15 pages, switch to the batch or async endpoint, which raises the ceiling to 1,000 to 3,000 pages. If it exceeds the file-size cap, split the PDF into chunks under the limit, process each, and stitch the results by page number. A product with built-in batching and a review queue does this splitting and reassembly for you.
Which OCR API should I choose based on limits?
Match the limit to your documents. For long PDFs of hundreds of pages, Azure in one call or Textract async are the least fiddly. For very large files near a gigabyte, Google Document AI batch has the most headroom. For short documents where you want a synchronous answer, any of them works, but remember Textract sync is one page. If you would rather not manage sync-versus-async, page splitting and polling yourself, a ready-to-use product handles the limits and hands you clean fields.

Process long PDFs without minding the limits

A page cap and a file-size ceiling are your problem only if you are calling the API directly. DocuOCR batches, splits and polls behind the scenes, so a 400-page PDF is one upload. Drop in your longest document and see the fields come back clean.