Skip to content

Pricing and limits

What online OCR costs per page, which pages count, and the quotas and limits that apply.

Updated View as Markdown

Pricing

Model Processing Region Price
unlimited-ocr Online us-west-1 $1.25 per 1,000 pages

Pages are charged from 2026-09-30 12:00 UTC. You’re charged for the pages that succeed. In a response, usage.pages is the number of pages charged for that request.

  • Each PDF page and each TIFF frame is a page. A PNG, JPEG or WebP image is one page.
  • Only the pages you process count: with a page selection, the pages you selected.
  • Failed pages aren’t charged, and requests that return an error aren’t charged.
  • Every request is charged separately. Sending the same document again is charged again.

Creating, reading and changing processors and reading the model catalog are free.

Online limits

Limit Value
Document size 10 MiB
Pages per document 1 to 5
Time per request 60 seconds
Document types PDF, PNG, JPEG, TIFF, WebP

These limits apply to every model, even when a model’s own limits in the catalog are higher.

Quotas

Quota ID Name Scope Default Adjustable
ocr.pages.perPeriod Pages per billing period Organization 10,000 pages Yes
ocr.online.requestsPerSecond Online requests per second Project 2 per second, bursts of up to 5 Yes
ocr.online.concurrentRequests Concurrent online requests Organization 2 Yes
ocr.processors.count Processors per project Project 50 Yes
ocr.processors.createsPerMinute Processor creates per minute Project 10 per minute, bursts of up to 10 Yes
  • ocr.pages.perPeriod counts the pages a request selects when the request is accepted, before processing. Pages that then fail still count toward the quota, although they aren’t charged. It resets at the start of each billing period.
  • ocr.processors.count counts active and disabled processors.

See Service quotas to view your quotas and their current values.

When a quota refuses a request

A refused processing request or processor create is 429 quota_exceeded. A processor create over ocr.processors.count is 409 quota_exceeded. Quota refusals have no Retry-After header. The error’s quota object names the quota:

{
  "error": {
    "code": "quota_exceeded",
    "message": "This organization has used 9998 of its 10000 pages for the billing period, which resets at 2026-11-01T00:00:00.000Z (ocr.pages.perPeriod)",
    "quota": {
      "id": "ocr.pages.perPeriod",
      "kind": "usage",
      "scope": "organization",
      "limit": 10000,
      "used": 9998,
      "periodStart": "2026-10-01T00:00:00.000Z",
      "resetsAt": "2026-11-01T00:00:00.000Z",
      "scopeResourceName": "ezgh::org_k3f9a0x2m7qp"
    }
  }
}
quota field Description
id The quota ID
kind usage, rate, concurrency or allocation
scope organization or project
scopeResourceName The organization’s or project’s resource name
limit The quota’s value
used For usage quotas, what’s used this period; for allocation quotas, what exists now
periodStart, resetsAt For usage quotas, the current period
window For rate quotas, the window, such as PT1S
inFlight For concurrency quotas, the requests in progress
Navigation

Type to search…

↑↓ navigate↵ selectEsc close