The Nutrient DWS Data Extraction API charges credits per page processed. The cost depends on the endpoint and processing mode.
Parse endpoint
The parse endpoint charges per page based on the processing mode. For request details, refer to the parse endpoint guide.
| Mode | Cost per page | Description |
|---|---|---|
text | 1 credit | Markdown extraction via Document Engine. No OCR or AI. |
structure | 1.5 credits | OCR-based structured extraction with spatial element output. |
understand | 9 credits | Full extraction pipeline with AI-augmented layout analysis. |
agentic | 18 credits | VLM-augmented extraction for complex documents. |
For example, processing a 10-page PDF in structure mode costs 15 credits. The same document costs 10 credits in text mode and 90 credits in understand mode.
Extract endpoint
The extract endpoint bills two components per page. For request details, refer to the extract endpoint guide.
- Parse component — Charged at the rate of the
parseConfig.modeused. - Extract component — Charged at a fixed rate of 6 credits per page.
The total per-page cost is the sum of both components.
parseConfig.mode | Parse component | Extract component | Total per page |
|---|---|---|---|
text | 1 credit | 6 credits | 7 credits |
structure | 1.5 credits | 6 credits | 7.5 credits |
understand | 9 credits | 6 credits | 15 credits |
agentic | 18 credits | 6 credits | 24 credits |
The response breaks the total down in usage.price_composition so you can review how the request was billed:
{ "usage": { "data_extraction_credits": { "cost": 15, "remainingCredits": 835 }, "price_composition": { "parse": { "units": 1, "unit_cost": 9, "cost": 9, "currency": "data_extraction_credits" }, "extract": { "units": 1, "unit_cost": 6, "cost": 6, "currency": "data_extraction_credits" } } }}In this example, one page processed with parseConfig.mode: "understand" costs 15 credits: 9 credits for parsing, plus 6 credits for extraction.
Classify endpoint
The classify endpoint charges a flat rate per page, independent of the parse mode. For request details, refer to the classify endpoint guide.
| Endpoint | Cost per page | Description |
|---|---|---|
classify | 1 credit | Document classification into categories. |
For example, classifying a 10-page document costs 10 credits.
Form API
The Form API has two routes. /form detects form fields and optionally labels them with AI, and /form/fill writes values into fields. Both bill per output page for only the components that run.
- Detection — Charged at 0.5 credits per page. Runs on every scan, and on any fill doesn’t echo back a complete field schema.
- AI labeling — Charged at 4.5 credits per page. Added to detection when
enableAiLabelingis on. - Fill — Charged at 2 credits per page on every fill request.
| Component | Cost per page | When it applies |
|---|---|---|
detection | 0.5 credits | Every scan, and any fill without a complete echoed schema |
aiLabeling | 4.5 credits | Added to detection when enableAiLabeling is on |
fill | 2 credits | Every fill request |
A scan (a /form call) always runs the detection component, optionally with AI labeling on top; a fill runs the fill component, plus detection, unless it echoes back a complete field schema. Because a request pays only for the components that run, common flows cost:
| Scenario | Components | Cost per page |
|---|---|---|
| Scan, no AI labeling | detection | 0.5 credits |
| Scan + AI labeling | detection + AI labeling | 5 credits |
| Fill with the scan’s fields echoed | fill | 2 credits |
| Direct fill, no AI labeling | detection + fill | 2.5 credits |
| Full flow (detect, label, and fill) | detection + AI labeling + fill | 7 credits |
For example, a full-flow request on a 10-page form costs 70 credits.
FAQs
These questions cover credits, modes, rate limits, and insufficient credit responses.
How do credits work?
Each API request consumes credits based on the number of pages processed and the mode used. The response includes a usage field that shows the credits consumed and the remaining balance:
{ "usage": { "data_extraction_credits": { "cost": 9, "remainingCredits": 850 } }}Which mode should I choose?
Choose the mode based on the output your application needs:
- Use
textmode for Markdown pipelines where you only need text content. - Use
structuremode when you need spatial element data, such as bounding boxes, table cells, or key-value pairs, at moderate cost. - Use
understandmode for complex documents with tables, forms, and multicolumn layouts, or when you need the highest extraction accuracy. - Use
agenticmode for the most complex documents that benefit from VLM-augmented visual understanding.
For a detailed comparison, refer to the processing modes guide.
How is the extract endpoint priced?
The extract endpoint bills a parse component at the parseConfig.mode rate, plus a fixed 6-credit extract component per page. A page processed with understand parsing costs 15 credits: 9 credits for parsing plus 6 credits for extraction.
Use the usage.price_composition field in the response to review the parse and extract components for any request. For endpoint details, refer to the extract endpoint guide.
How is the classify endpoint priced?
The classify endpoint charges a flat 1 credit per page, regardless of parse mode. Classifying a 10-page document costs 10 credits.
How is the Form API priced?
The Form API bills per page for only the components that run. Detection costs 0.5 credits, AI labeling costs 4.5 credits when enabled, and fill costs 2 credits. A scan with no AI labeling costs 0.5 credits per page. A scan with AI labeling costs 5 credits per page. The full flow of detect, label, and fill costs 7 credits per page. A fill that echoes back the scan’s fields runs no detection and is charged only the 2 fill credits.
How do I check my remaining credits?
Every API response includes a usage field with your remaining credit balance. You can also check your balance in the Data Extraction API dashboard(opens in a new tab).
What happens when I run out of credits?
With pay-as-you-go enabled, running out of monthly credits doesn’t stop your production. Once you exceed your credits, overage usage is billed in configurable increments, up to a spending cap you control. On the free plan, the default monthly cap is $50 (maximum $250); on paid plans, the default cap is half your monthly subscription value. We never charge beyond the cap.
Your included quota — free or paid — is always used first. Enabling pay-as-you-go on a paid subscription costs nothing to turn on; on a free plan, enabling it starts with a $25 wallet load, charged to your credit card. Once you reach the cap, requests return a 402 status code indicating insufficient credits. This continues until your next billing cycle starts, you raise the cap, or you upgrade. You can adjust your cap and manage pay-as-you-go in the Data Extraction API dashboard(opens in a new tab).
What’s the difference between pay-as-you-go on a free plan and on a paid plan?
On a paid subscription, turning on pay-as-you-go costs nothing — you only pay when usage exceeds your included credits. On the free plan, enabling pay-as-you-go starts with a $25 wallet load, charged to your credit card. Free credits refresh every month and are always consumed before the wallet. Wallet funds don’t expire. You can change your monthly cap, top-up increment, and reload threshold (the balance level that triggers an automatic wallet top-up), or disable pay-as-you-go at any time.
Is there a rate limit?
Yes. Rate limits depend on your subscription plan. Requests that exceed the limit receive a 429 status code. Contact the Sales team for higher rate limits.