Verified July 2026

OCR API Limits: Max File Size and Page Limits 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. Last updated July 2026.

  • 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.

SOC 2 Type II
256-bit encryption
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
50 MB
Mistral and Gemini file ceiling
// 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 the LLM based readers, Mistral Document AI and Gemini, 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 Mistral and Gemini 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 in July 2026, 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 in July 2026, 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 in July 2026. 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 Document AI 50 MB 1,000 pages Account rate limits apply 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. Google lists online and batch because the online 15-page cap is the limit most teams hit. 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 Document AI 1,000 pages 50 MB Generous pages, tight 50 MB file ceiling on large scans.
Gemini API 1,000 pages 50 MB Same 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 Document AI and the Gemini API cap PDFs 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. Mistral Document AI and Gemini both cap at 1,000 pages. So the answer depends heavily on whether you call the synchronous or the asynchronous endpoint.
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. The LLM based readers, Mistral Document AI and Gemini, are the most constrained 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.