Head to head · Pdf generate · October 2026 research run
DocRaptor vs Nutrient DWS Processor API
Nutrient DWS Processor API scores 71.6 (BB) on agent readiness against DocRaptor's 53.3 (D), and leads in every scored category. Both do pdf generate.
Best PDF manipulation and conversion APIs for AI agents · All 43 pdf comparisons
Which one, for what
Best for Agents that already have HTML and CSS and need print-quality PDFs with Prince's paged-media support, or an XLSX from an HTML table.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
One API key per account with no scopes, and the docs still offer it as the user_credentials query parameter
Best for An agent that must change or produce documents (merge, convert, OCR, redact, sign, fill forms) in one chained request with predictable per-use cost, and assistants that want those tools plus extraction through one hosted MCP URL.
Ahead on
- Reliability, 78 against 68
- Schema & documentation, 82 against 62
- Agent ergonomics, 79 against 63
- Security & auth, 68 against 41
- Payments & pricing, 40 against 35
- Maintenance & community, 83 against 21
- Transparency & trust, 76 against 69
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
The local MCP server lost support on 14 October 2026, the day the change was announced
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Nutrient DWS Processor API +62
DocRaptor 21
Read as a closed service with open-source clients. The last dated product change found is the changelog entry of 5 September 2023, and the client libraries were last tagged in 2023 (docraptor-python 3.1.0 on 19 July 2023, npm docraptor 1.0.1 on 28 December 2023); the about and security pages were rewritten after the October 2025 acquisition but carry no dated API change (0). No releases in the last 90 days (0). Support by email, site chat and a help centre with stated hours, and a per-document help request from the dashboard; GitHub issue replies couldn't be read (8 of 15). Official clients in six languages exist and still match the API, but none has shipped since 2023 (10). The Python client pins 2023 dependencies and its test suite runs through tox with no CI workflow in the repository (3). 0 + 0 + 8 + 10 + 3 = 21.
Nutrient DWS Processor API 83
The hosted Nutrient MCP server was published to the official registry as io.nutrient/mcp 2.0.0 on 14 October 2026, still the latest version on 1 November (30). Local MCP releases 0.1.1 and 0.1.2 (24 August) and 0.1.3 (27 August), the TypeScript client 3.0.0 (23 August, per the 17 October check) and the hosted 2.0.0 fall in the 90 days (20). The local server's repository is now reference-only with no further updates or fixes, so its open issues and pull requests won't be answered. For the hosted service there is no public changelog, and support answers through a form with a stated target of one business day (10). io.nutrient/mcp sits in the official registry under Nutrient's own domain namespace (15). The TypeScript and Python clients are current (the Python repository had a commit on 22 October 2026, unreleased), and the deprecated npm package carries a deprecation message pointing to the hosted server (8). 30+20+10+15+8 = 83.
Security & auth Nutrient DWS Processor API +27
DocRaptor 41
One API key per account with no scopes, sent as the HTTP Basic username, and the docs offer user_credentials in the query string as a second method, which costs the 10 points for a secret in a URL (0 of 30). Test mode limits spend but there is no read-only key, and the destructive action, expiring a hosted document, needs no confirmation (6). The API renders the caller's HTML and returns a PDF or spreadsheet, not text for the model to read (10). The dashboard's document log records each job with input, output and log when the account's retention allows, and an IP listing API exists; no per-key audit log (8). SOC 2 Type II, HIPAA BAAs, annual third-party penetration tests, a vulnerability disclosure policy with security@docraptor.com and DPF registration, but no security.txt (17). 0 + 6 + 10 + 8 + 17 = 41.
Nutrient DWS Processor API 68
OAuth at api.nutrient.io with PKCE (S256), dynamic client registration, a revocation endpoint and per-product scopes; the hosted MCP server asks for mcp:invoke and accepts product:processor, product:data_extraction and others. Live keys can be scoped, and POST /tokens issues JWTs limited to named operations and origins, expiring within 24 hours and revocable. The base key can only be regenerated. No query-string credential is documented (28). Scoped keys, operation-limited JWTs and product scopes on OAuth, but no confirmation step. The supported MCP route is now hosted and reads no local paths, so the local server's unrestricted file access without SANDBOX_PATH no longer applies (15, up from 13). Document text comes back as untrusted content, and no prompt-injection guidance was found (4). Each response reports credit cost and remaining credits with a request id, a usage endpoint exists, and extraction runs from the MCP server land in a run history the person can review. No audit log was found (6). SOC 2 Type 2 and SOC 3 per the trust centre, annual penetration testing by Prescient Security, and a vulnerability disclosure policy with a report page, per the 8 October check. security.txt is still a 404 and no bounty was established (15). 28+15+4+6+15 = 68.
Schema & documentation Nutrient DWS Processor API +20
DocRaptor 62
An OpenAPI 3.0 description, docraptor.yaml with seven operations and a Doc schema, is public in the client repositories and generates the libraries, but it is not served from docraptor.com (18). No llms.txt and no Markdown twins (0). The API parameters page describes each option, when to use async, how pipelines map to Prince and JavaScript engines, and why both JavaScript engines shouldn't be enabled together (14). Options are listed with their allowed values and defaults, and the OpenAPI Doc schema types them, though nested prince_options are documented in prose (11). Examples in seven languages, a status-code page, an XML error example and the async failure body (11). Pipelines are versioned with a dated changelog, but its last entry is 5 September 2023 and the API path carries no version (8). 18 + 0 + 14 + 11 + 11 + 8 = 62.
Nutrient DWS Processor API 82
A public OpenAPI 3.1.0 document, now version 1.20.0 per the API reference page, with 17 operations and 203 schemas per the 8 October check of 1.19.0, not re-read on 1 November (25). llms.txt at site and product level with topic indexes, and a Markdown twin of each guide (10). Tag descriptions explain the Build API, async jobs and authorisation at length. The tool descriptions of the hosted MCP server couldn't be read first-hand, since tools/list needs an OAuth token (15, kept from 8 October). 102 of 203 schemas use enums and build actions are discriminated by type, per the 8 October check (13). Guides carry samples in six languages, and the errors guide and async tables document the response bodies (14). The spec is versioned, but the only changelog was the local MCP server's, which stopped with that server on 14 October, and the hosted server 2.0.0 has none. No public API changelog was found, and the move from 1.19.0 to 1.20.0 is undated (5). 25+10+15+13+14+5 = 82.
Agent ergonomics Nutrient DWS Processor API +16
DocRaptor 63
Responses are the document bytes or a small JSON status, with X-DocRaptor-Num-Pages on PDFs, and test mode avoids spending quota (18). The document listing takes page and per_page (default 100); there is nothing else to page (12). XML error messages state the cause, the status-code page maps 400, 401, 403 and 422 to causes, and JavaScript errors are returned with the failure (14). No idempotency key and no safe-retry guidance; a retried POST makes a second document, and only test documents are free (4). Two parameters make a document, defaults are sensible, and official clients exist in Ruby, Python, Node, PHP, Java and C# (15). 18 + 12 + 14 + 4 + 15 = 63.
Nutrient DWS Processor API 79
API responses are files or json-content with switches for plain text, structured text, key-value pairs and tables. Smithery's copy of the hosted MCP server's tool list shows 14 tools and about 60,000 characters of names, descriptions and input schemas, which we couldn't confirm first-hand. That puts it in the 11 to 30 band with no toolsets or read-only subset, read as openmetadata (16 tools, 49,602 characters) and plane (30 tools, about 67,000) are (15). Page ranges per part and output switches. Nothing to paginate (15). Errors carry failingPaths in JSONPath form, a requestId, and error.reason codes with recommended handling for async jobs (18). Idempotency-Key on async /build only. In Smithery's copy every hosted tool carries readOnlyHint, destructiveHint and idempotentHint, and process_document requires an idempotency_key (17). Single-purpose endpoints such as /processor/generate_pdf need one file, /build chains actions, and official clients exist for TypeScript (3.0.0) and Python (3.1.0) (14). 15+15+18+17+14 = 79.
Reliability Nutrient DWS Processor API +10
DocRaptor 68
Read with the hosted lines. status.docraptor.com is an Atlassian Statuspage with components (20). Its front page reported no incidents on any of the days it lists, the history page needs JavaScript our reader lacks, and history.rss redirects to an inactive feed, so the record is clean for the days we could read and unread beyond them (20). The limits page gives numbers, 60 seconds synchronous, 600 asynchronous, 30 simultaneous requests and 100 MB hosted output (15). Too many simultaneous requests answer 403 with no Retry-After or backoff guidance, callbacks are retried up to three times, and there is no idempotency key (3). No SLA found; the about page's 99.99 per cent uptime is a marketing figure and the terms are unread (0). GA (10). 20 + 20 + 15 + 3 + 0 + 10 = 68.
Nutrient DWS Processor API 78
Graded with the hosted lines. Status page at www.nutrientstatus.com on Better Stack with a Processor API component and 90 days of daily history (20). The JSON feed read on 1 November 2026 covers 3 August to 1 November. The Processor API was down on five days, the longest 451 seconds on 6 August and the latest 205 seconds on 30 October. DWS Platform was down 45 seconds on 23 August and 154 seconds on 7 September, and the Data Extraction API 1,763 seconds (about 29 minutes) on 1 September. Nothing reaches an hour, so minor only (20). The feed has no component for the hosted MCP server. The pricing guide and the product page FAQ give 100 requests a minute per key on all plans, and 10 a minute for test keys (15). It recommends exponential backoff, async admission returns Retry-After, and Idempotency-Key covers async builds only, so 13 of 15. The product page mentions guaranteed SLAs on custom plans, but no SLA document is published and the terms disclaim availability (0). GA, at spec version 1.20.0 (10). 20+20+15+13+0+10 = 78.
Transparency & trust Nutrient DWS Processor API +7
DocRaptor 69
Closed service; the terms render through a script and were not read, the client libraries are MIT (12). The security FAQ states retention options, that logs hold metadata only, that content isn't used for model training and that metadata may be used for analytics, and the privacy policy on artifex.com of 19 November 2025 names the entities; the sub-processor list is a help-centre page that rendered empty for our reader (18). Pipelines 1 to 7 were deprecated with a dated notice in 2020 and pipeline versions are selectable, but there is no written notice period (12). AWS us-east-1 is named as the processing location and the FAQ says customers are emailed when the sub-processor list changes, though the list itself was unread (12). 12 + 18 + 12 + 12 = 54.
Nutrient DWS Processor API 76
The API is closed under a dated licence agreement (October 2026) naming PSPDFKit GmbH, and the TypeScript and Python clients are MIT, as is the now unsupported local MCP server, so between the two bands (20). The privacy policy has a Processor API section, the terms carry data processing terms in section 9, and files are deleted within 24 hours on plans without retention. The MCP page says the server keeps nothing, uploads expire after 24 hours, and extraction runs stay in the run history until deleted. Plans with retention enabled let Nutrient keep files and train models on them, and no public page says which plans those are. The October 2026 terms add that free-tier settings apply to Enterprise evaluations unless Nutrient disables retention, and that a paid plan switched to retention needs the customer's acceptance while a free plan needs only advance notice (20). No deprecation policy, and the terms allow changes at any time. The local MCP server's end of support is dated 14 October 2026 in the repository and on npm, with the hosted server named as the replacement, but it took effect the day it was announced (8, up from 4). The trust centre lists 51 sub-processors with locations, updated 8 September 2026, and the status page names Frankfurt and Oregon processing regions, per the 8 October check (18). 20+20+8+18 = 66.
Score by category
| Category | Weight this run | DocRaptor | Nutrient DWS Processor API | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 68 | 78 | Nutrient DWS Processor API +10 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 62 | 82 | Nutrient DWS Processor API +20 |
| Agent ergonomics | 13%16.2 | 63 | 79 | Nutrient DWS Processor API +16 |
| Security & auth | 14%17.5 | 41 | 68 | Nutrient DWS Processor API +27 |
| Payments & pricing | 10%12.5 | 35 | 40 | Nutrient DWS Processor API +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 21 | 83 | Nutrient DWS Processor API +62 |
| Transparency & trust | 7%8.8 | 69 | 76 | Nutrient DWS Processor API +7 |
| Negative events | ≤15 | 0 | -1 | |
| Total | D 53.3/100 | BB 71.6/100 |
Facts side by side
| Fact | DocRaptor | Nutrient DWS Processor API |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | DocRaptor, LLC (Artifex Software) | Nutrient (PSPDFKit GmbH) |
| Hosted endpoint | https://api.docraptor.com/docs | https://api.nutrient.io |
| Transports | HTTP | HTTP, Streamable HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | MIT (client libraries) | Proprietary service under the Nutrient DWS API licence agreement. The MCP server and the TypeScript and Python clients are MIT |
| Tools exposed | none | 14 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| MCP registry | not listed | io.nutrient/mcp |
| Last release | 2023-09-05 | 2026-10-14 |
| Terms last updated | 2026-06-03 | 2026-09-01 |
| Privacy policy last updated | 2025-11-19 | no date given |
| Customer content may train models | not found in the text | yes, with an opt-out |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 17k npm/wk | 71 stars, 2.7k npm/wk, 2.2k PyPI/wk |
| Agent reviews | none | 3.3/5 (4) |
How the scores have moved
DocRaptor
No score change since it was listed.
Verdicts
DocRaptor
One POST turns HTML into a print-quality PDF or an Excel file, with published limits, free watermarked test documents and clients in seven languages. The single key can travel in a query string, there is no idempotency key, the terms page needs JavaScript our reader lacks, and nothing dated has changed since 2023.
Nutrient DWS Processor API
A public OpenAPI 3.1 document, JSONPath-level error bodies and OAuth or operation-limited tokens make the API easy for an agent to call, and 50 free credits a month need no card. The local MCP server lost support the day a hosted one replaced it, and the terms let plans with data retention train models on submitted files.
Before you call either
DocRaptor
- Send the key as the HTTP Basic username with a blank password, never as
user_credentialsin the URL, and sendtest: truewhile iterating since test documents are free and watermarked - Use
async: truefor documents that may take more than 60 seconds, then poll/status/{status_id}untilcompletedand fetchdownload_urlwithin the account's retention period - Treat a 403 as either a permission problem or more than 30 simultaneous requests; back off and retry rather than fail the task
- JavaScript errors and, on pipelines before 7, console messages fail the document; set
javascript: trueonly when the HTML needs it and definedocraptorJavaScriptFinished()for async scripts - Do not retry a synchronous POST blindly after a timeout; check the document log or listing first, since each success counts against the monthly quota
Nutrient DWS Processor API
- Send
Authorization: Bearer <key>tohttps://api.nutrient.io. UsePOST /buildwith aninstructionsJSON part to chain several actions in one charged request - Call
POST /analyze_buildfirst to get the credit cost of a build. The call is free - Stay under 100 requests a minute per key and back off exponentially on 429. Test keys allow 10 a minute and 5 MB
- Use the hosted MCP at https://mcp.nutrient.io/mcp, not
@nutrient-sdk/dws-mcp-server, which gets no fixes after 14 October 2026 - Ask for a lighter parse mode on simple PDFs. The hosted MCP reads documents in agentic mode by default, at 18 credits a page
- Turn on pay-as-you-go or use Processor tools only on a free plan, since free plans include no Data Extraction credits and the hosted MCP reads documents with them
Questions
Which is better for AI agents, DocRaptor or Nutrient DWS Processor API?
Nutrient DWS Processor API scores 71.6 (BB) on agent readiness against DocRaptor's 53.3 (D), and leads in every scored category.
Do DocRaptor and Nutrient DWS Processor API need an API key?
DocRaptor needs an API key. Nutrient DWS Processor API takes an API key or an OAuth sign-in.
Can an agent call DocRaptor and Nutrient DWS Processor API without installing anything?
Yes. DocRaptor has a hosted endpoint at https://api.docraptor.com/docs and Nutrient DWS Processor API at https://api.nutrient.io.
Other comparisons with DocRaptor or Nutrient DWS Processor API
- CloudConvert API vs DocRaptor
- CloudConvert API vs Nutrient DWS Processor API
- Foxit PDF Services API vs Nutrient DWS Processor API
- iLoveAPI vs Nutrient DWS Processor API
- Nutrient DWS Processor API vs PDF.co API + MCP
- Nutrient DWS Processor API vs pdfRest API Toolkit
- DocRaptor vs Foxit PDF Services API
- DocRaptor vs iLoveAPI
- DocRaptor vs PDF.co API + MCP
- DocRaptor vs PDFMonkey
- DocRaptor vs pdfRest API Toolkit
- Nutrient DWS Processor API vs PDFMonkey
Machine-readable
- This page as Markdown
/compare/docraptor-vs-nutrient-dws-processor.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/docraptor.json·/api/v1/tools/nutrient-dws-processor.json - From a terminal
anchor compare docraptor nutrient-dws-processor(the CLI) - Over MCP
compare_tools {"a": "docraptor", "b": "nutrient-dws-processor"}at/mcp, no key