Get Started

Pricing

Pricing

Three products, one API, priced per page. See the pricing page for the full comparison.

ProductWhat you getStandard rate
ExtractThe document as Markdown with layout blocks and bounding boxes, plus the fields you ask for as JSON when you send a schema$15 per 1,000 pages
Deep ExtractTwo OCR engines, adjudicated disagreements, a verification pass on every value$35 per 1,000 pages
Deep Extract FastDeep Extract about twice as fast, same accuracy (Standard and Enterprise)$90 per 1,000 pages

Which product runs is decided per request: pipeline=extract is Extract and pipeline=deep-extract is Deep Extract, with or without a schema; pipeline=deep-extract with speed=fast is Deep Extract Fast. One API key can mix all three. speed=fast on pipeline=extract is charged at the Extract rate. (Until October 2026 a one-pass job without a schema was sold as Parse at $10; jobs from then still report product: "parse".)

How long each product takes, in seconds per document, is under How long it takes on the benchmarks page: a 1–2 page document is about 13 s on Extract, 1 min 26 s on Deep Extract and 38 s on Deep Extract Fast.

Plans

FreeStandardEnterprise
Price$0Pay as you go, per page, from prepaid creditsCustom
Pages per month2,000UnlimitedUnlimited
Pages per document501,0002,000 (the hard maximum)
File size15 MB50 MB500 MB
ProductsExtract, Deep ExtractAll threeAll three, volume rates
Playground (signed in, runs against your quota)YesYesYes
Review UIYesYesYes
Webhooks, blueprints, optimizerNoYesYes
PII redaction, form fill, retention controls, incognitoNoNoYes
SupportCommunityEmailPriority, dedicated

Free includes every product so you can test the accuracy tier you will actually buy. Standard has no allowance: every page draws from your credits at the rate of the product that ran it.

Credits and billing

Standard is prepaid: buy credits, and every page draws down at the rate of the product that ran it. The billing page does all of this: buy a pack ($50, $100, $500 or a custom amount from $20 to $5,000) through Stripe Checkout, see the balance and the recent activity, set auto-recharge, and manage the saved card and receipts in Stripe's own portal, so card details never pass through DeepRead. The same calls are open to your own tooling with a dashboard session (Authorization: Bearer <token>).

  • Balance — GET /dashboard/v1/billing/credits returns what is available, purchased, promotional, held for running jobs and frozen, plus the last fifty ledger entries.
  • Spend per key — GET /dashboard/v1/keys/ lists every key with what it has spent this month and in each of the last six (charged, plus held by its jobs still running), and its monthly limit if it has one. One key per project is one budget per project. Set a limit when creating a key or with PATCH /dashboard/v1/keys/{id} and {"monthly_limit_usd": 50} (null removes it); a job that would take the key past its limit is refused with 402 and key_limit_reached until the month turns (UTC) or the limit is raised. The account's balance still has the last word.
  • Packs — POST /dashboard/v1/billing/credits/checkout with {"pack": "50" | "100" | "500" | "custom", "custom_usd": N} returns a Stripe Checkout URL for a one-time pack; the card is saved for auto-recharge. Both calls answer 503 while credits are not enabled on the server.
  • Auto-recharge — GET /dashboard/v1/billing/credits/recharge returns the settings, the saved card (brand, last four, expiry) if there is one, the consent text and whether a recharge is in progress. PUT the same path with enabled, threshold_usd, amount_usd, monthly_cap_usd, cooldown_seconds and consent. Enabling needs consent: true and a saved card (buy a pack first); otherwise 400 says which. When a job's hold leaves the available balance under the threshold, one recharge of amount_usd is charged off-session to the saved card — one at a time, never past the monthly cap, never within the cooldown of the last one. The card is the one your last pack saved; change or remove it from the billing page's "Manage card and receipts", which opens Stripe's portal (POST /dashboard/v1/billing/portal). With no card on file the next recharge attempt fails and is not retried until a pack saves a new one.
  • Leaving Standard — POST /dashboard/v1/billing/downgrade (the billing page's Downgrade) moves a prepaid account back to Free straight away: Free's allowance and limits apply, auto-recharge is turned off, and the credits stay on the account until the next pack moves it back to Standard. A subscription from before credits cancels from the same page instead (it ends with its cycle), an invoice account changes plans through its account manager, and a frozen account answers 409 until its dispute closes.
  • Enterprise — GET /dashboard/v1/billing/enterprise returns the account's purchase orders, what is granted and what remains of the line, what is held for running jobs, the contract rates per product, the month to date by product and the last twelve invoices. A purchase order is a credit line: jobs hold and settle against it at the contract rate, the month is invoiced through Stripe (net 30), and a job past the line is refused with 402 until a new purchase order is recorded. Enterprise accounts can also buy credit packs by card on the billing page and use auto-recharge.

File types

PlanAccepted uploads
FreePDF, PNG, JPEG
StandardPDF, PNG, JPEG, TIFF (multi-page), WebP, BMP, GIF, DOCX, TXT
EnterpriseThe Standard list, plus APNG, PSD, PCX, PPM, CUR, DCX, FTEX, PIXAR, DOC, DOTX, ODT, RTF, WPD, PPT, PPTX, ODP, HTML, CSV, XLSX, XLSM, XLS, XLTX, XLTM, ODS

A type the plan does not accept is refused with 415 and a body naming the plan that has it. Everything that is not a PDF, PNG or JPEG is converted to PDF before the page count, and the converted page count is what is charged; spreadsheets paginate sheet by sheet, so wide sheets produce many pages. A file that cannot be converted is 400 with the reason. The job then runs on the PDF and reports it as such.

What counts as a page

Billing counts pages processed, not API calls. A 10-page PDF sent to POST /v1/process is 10 pages whichever product runs it. One image is one page. A file that is converted to PDF first (an Office document, a spreadsheet, a multi-frame image) is charged for the pages the conversion produced.

When you hit the Free limit

Requests return 429 once the monthly allowance is used, and keep returning 429 until your cycle resets. Your cycle resets every month on the day you signed up, and unused pages do not carry over. Nothing is charged unless you move to Standard.

Authenticated responses carry your current standing:

HeaderMeaning
X-RateLimit-LimitYour monthly page allowance
X-RateLimit-RemainingPages left this cycle
X-RateLimit-UsedPages used this cycle
X-RateLimit-ResetUnix timestamp when the cycle resets

Enterprise

Enterprise plans are priced per product against your volume and can include your own model keys (OpenAI, Google or OpenRouter), so model spend stays on your account. DeepRead processes the document; the model calls run on your key. See Bring Your Own Key.

Next steps