{
  "data": {
    "a": {
      "slug": "docraptor",
      "name": "DocRaptor",
      "vendor": "DocRaptor, LLC (Artifex Software)",
      "vendorUrl": "https://docraptor.com",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "DocRaptor is a hosted HTML-to-PDF and HTML-to-Excel API built on the Prince rendering engine, run by DocRaptor, LLC of Indianapolis, part of Artifex Software since October 2025. One POST returns the document; async, hosted and test modes exist.",
      "url": "https://www.anchorterminal.com/tools/docraptor",
      "markdownUrl": "https://www.anchorterminal.com/tools/docraptor.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/docraptor.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docraptor.json",
      "dns": "docraptor.grade.anchorterminal.com",
      "repo": "https://github.com/DocRaptor/docraptor-python",
      "license": "MIT (client libraries)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.docraptor.com/docs",
      "packages": [
        {
          "registry": "pypi",
          "name": "docraptor"
        },
        {
          "registry": "npm",
          "name": "docraptor"
        },
        {
          "registry": "rubygems",
          "name": "docraptor"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key per account from the dashboard, sent as the username of HTTP Basic auth with a blank password (preferred) or as the `user_credentials` query parameter, which the docs still offer. No scopes, no second key and no rotation guide found. Test documents are free with `test: true`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 5 documents a month and unlimited watermarked test documents. Basic $15 a month for 125 documents, Professional $29 for 325, Premium $75 for 1,250, Max $149 for 5,000, Bronze $399 for 15,000, Silver $1,000 for 40,000, Enterprise on request. Overage per document by plan. Hosted documents cost extra (https://docraptor.com/plans).",
      "priceSummary": "$15 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, plans page or client libraries (checked 2026-11-03). Overage is billed to the plan's card.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 16960,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docraptor.com/documentation",
      "openapi": "https://github.com/DocRaptor/docraptor-python/blob/master/docraptor.yaml",
      "capabilities": [
        "pdf.generate",
        "pdf.convert"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "async-jobs",
        "webhooks",
        "soc2",
        "python",
        "ruby",
        "javascript",
        "php",
        "java",
        "dotnet",
        "mit",
        "closed-source"
      ],
      "lastRelease": "2023-09-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.3,
        "grade": "D",
        "agentReady": false,
        "rank": 841,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 21,
          "payments": 35,
          "reliability": 68,
          "schema": 62,
          "security": 41,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Synchronous `POST /docs` returns the document bytes in one call, with `async` and `callback_url` for jobs up to 600 seconds",
          "Generation time, concurrency and hosted output limits are published with numbers, and there is no cap on pages or input size",
          "Unlimited watermarked test documents on every plan, including Free, so an agent can check layout without spending quota",
          "SOC 2 Type II, HIPAA BAAs, a vulnerability disclosure policy and retention configurable down to deletion on download",
          "Official client libraries in Ruby, Python, Node, PHP, Java and C# generated from an OpenAPI description"
        ],
        "weaknesses": [
          "One API key per account with no scopes, and the docs still offer it as the `user_credentials` query parameter",
          "No idempotency key; a retried request after a timeout makes and bills a second document",
          "The terms of service and the privacy link render through a script our reader can't run; DocRaptor's privacy policy was read on artifex.com instead",
          "No llms.txt, no public OpenAPI URL on docraptor.com, and no 429 or Retry-After guidance, concurrency overruns answer 403",
          "The changelog and client libraries have no dated change since 2023; the status page's incident history needs JavaScript and its feed is empty"
        ],
        "agentNotes": [
          "Send the key as the HTTP Basic username with a blank password, never as `user_credentials` in the URL, and send `test: true` while iterating since test documents are free and watermarked",
          "Use `async: true` for documents that may take more than 60 seconds, then poll `/status/{status_id}` until `completed` and fetch `download_url` within 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: true` only when the HTML needs it and define `docraptorJavaScriptFinished()` 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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.3
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 21,
          "payments": 35,
          "reliability": 68,
          "schema": 62,
          "security": 41,
          "transparency": 54
        },
        "provenanceScore": 84,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install docraptor",
        "http": "curl https://api.docraptor.com/docs -u \"$DOCRAPTOR_API_KEY:\" -H 'Content-Type: application/json' -d '{\"test\":true,\"type\":\"pdf\",\"document_content\":\"\u003chtml\u003e\u003cbody\u003eHello World\u003c/body\u003e\u003c/html\u003e\"}' -o hello.pdf"
      },
      "letme": {
        "capability": "https://letme.dev/pdf.generate",
        "tool": "https://letme.dev/docraptor"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 15,
          "note": "125 documents a month"
        },
        {
          "item": "Professional",
          "unit": "month",
          "usd": 29,
          "note": "325 documents a month"
        },
        {
          "item": "Premium",
          "unit": "month",
          "usd": 75,
          "note": "1,250 documents a month"
        },
        {
          "item": "Max",
          "unit": "month",
          "usd": 149,
          "note": "5,000 documents a month"
        },
        {
          "item": "Bronze",
          "unit": "month",
          "usd": 399,
          "note": "15,000 documents a month"
        },
        {
          "item": "Silver",
          "unit": "month",
          "usd": 1000,
          "note": "40,000 documents a month"
        }
      ],
      "provenance": {
        "legalEntity": "DocRaptor, LLC",
        "domain": "docraptor.com",
        "domainRegistered": "2010-05-17",
        "endpointOnVendorDomain": true,
        "terms": "https://docraptor.com/tos",
        "privacy": "https://artifex.com/legal/docraptor-privacy-policy",
        "statusPage": "https://status.docraptor.com",
        "changelog": "https://docraptor.com/documentation/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The security FAQ names DocRaptor, LLC, an Indiana limited liability company, as the contracting entity and data processor, part of the Artifex Software group. Artifex announced the acquisition on 7 October 2025.",
          "docraptor.com/tos and the privacy link (legal.docraptor.com/legal.html) render through a script, so the terms are unread. The DocRaptor privacy policy on artifex.com, effective 19 November 2025, names Artifex Software Inc. and its wholly owned subsidiary DocRaptor LLC.",
          "docraptor.com/robots.txt disallows /examples, /getting_started_examples, /samples, /templates and /tutorials, none of which were read. help.docraptor.com asks for a 1-second crawl delay, honoured.",
          "status.docraptor.com is an Atlassian Statuspage. Its front page showed no incidents on any of the days it lists on 3 November 2026; the history page needs JavaScript and history.rss redirects to an inactive feed.",
          "RDAP gives docraptor.com a registration date of 17 May 2010, used for firstReleased since the about page dates the product to 2010. /.well-known/security.txt returns 404; the disclosure policy is a help-centre article."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/docraptor.json",
      "live": {
        "slug": "docraptor",
        "probe": {
          "target": "https://api.docraptor.com/docs",
          "method": "get",
          "lastAt": "2026-11-04T20:46:41.958458278Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 486,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 418,
          "p95ms24h": 851,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.docraptor.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:06.361202533Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "docraptor",
            "version": "1.0.1",
            "seenAt": "2026-11-04T20:12:43.66746188Z"
          },
          {
            "registry": "pypi",
            "name": "docraptor",
            "version": "3.1.0",
            "released": "2023-09-27",
            "seenAt": "2026-11-04T20:12:43.422464704Z"
          }
        ],
        "githubStars": 11,
        "npmWeekly": 16866,
        "pypiWeekly": 22552,
        "securityTxt": {
          "url": "https://docraptor.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:15.43638567Z"
        },
        "updatedAt": "2026-11-04T20:46:41.958458278Z"
      }
    },
    "answer": "DocRaptor scores 53.3 (D) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in 5 of 7 scored categories. PDF.co API + MCP leads on schema \u0026 documentation and maintenance \u0026 community.",
    "b": {
      "slug": "pdf-co",
      "name": "PDF.co API + MCP",
      "vendor": "PDF.co (Artifex Software)",
      "vendorUrl": "https://pdf.co",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "Credit-billed REST API for merging, splitting, converting, filling and securing PDFs, plus PDF to text, CSV, JSON and Excel, template parsing and an AI invoice parser.",
      "url": "https://www.anchorterminal.com/tools/pdf-co",
      "markdownUrl": "https://www.anchorterminal.com/tools/pdf-co.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pdf-co.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pdf-co.json",
      "dns": "pdf-co.grade.anchorterminal.com",
      "repo": "https://github.com/pdfdotco/pdfco-mcp",
      "license": "MIT (MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.pdf.co/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "pdfco-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "`x-api-key` header. The MCP server reads the key from X_API_KEY.",
      "pricing": "paid",
      "pricingNotes": "Credit subscriptions. Basic $9.99 a month ($8.99 billed yearly) for 16,500 credits, Personal $24.99 ($22.49) for 37,000, Business 1 $49.99 ($44.99) for 80,500, Business 2 $99.99 ($89.99) for 159,850, Business 3 $300 ($270) for 483,000, Enterprise above 500,000. Monthly prices worked out from the yearly totals. Credits per page or per call vary by endpoint, e.g. merge 2 a page, PDF to text 21, Document Parser 42, AI invoice parser 100. A free trial exists but its size isn't on the page (https://pdf.co/pricing).",
      "priceSummary": "$9.99 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, MCP README or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 38,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": null,
        "pypiWeekly": 20,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.pdf.co",
      "llmsTxt": "https://developer.pdf.co/llms.txt",
      "openapi": "https://developer.pdf.co/openapi.json",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.forms",
        "pdf.generate",
        "pdf.extract",
        "docs.ocr",
        "docs.tables",
        "docs.extract"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "async-jobs",
        "webhooks",
        "python"
      ],
      "lastRelease": "2026-07-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 38.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1234,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 34,
          "payments": 20,
          "reliability": 20,
          "schema": 74,
          "security": 23,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OpenAPI 3.0.1 document with structured error bodies for 400 to 454, plus llms.txt and Markdown docs. No status page. status.pdf.co redirects to betterstack.com/uptime.",
        "bestFor": "An agent that needs many PDF operations from one vendor and can handle files by URL.",
        "strengths": [
          "OpenAPI 3.0.1 document with structured error bodies for 400 to 454, plus llms.txt and Markdown docs",
          "Credit cost of each endpoint published per page or per call, from 2 for merge to 100 for the AI invoice parser",
          "Manipulation and extraction in one API, with 38 MCP tools covering both",
          "Output links expire after one hour by default and can be cut to one minute"
        ],
        "weaknesses": [
          "No status page. status.pdf.co redirects to betterstack.com/uptime",
          "Rate limits moved to per-minute windows in June 2026 but the numbers aren't published, and 429 carries no documented Retry-After",
          "No SLA, no security.txt, and terms that allow changes without notice",
          "MCP server has no tool annotations, no read-only mode and no tests, and `upload_file` reads any absolute path",
          "Trial size and card requirement aren't stated anywhere we looked"
        ],
        "agentNotes": [
          "Upload local files with `upload_file` or the presigned upload first, then pass the returned URL",
          "Read the `content` field, not `status`. The MCP server says `working` even when the API returned an error",
          "Call `wait_job_completion` after each job. Every MCP call runs async and returns a job id",
          "Download results within the hour. Output links expire after 60 minutes by default",
          "Keep the key in `X_API_KEY` and leave the `api_key` argument empty"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.1
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 34,
          "payments": 20,
          "reliability": 20,
          "schema": 74,
          "security": 23,
          "transparency": 42
        },
        "provenanceScore": 63,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.pdf.co/v1/pdf/convert/to/text-simple \\\n  -H \"x-api-key: $PDFCO_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"url\":\"https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-csv/sample.pdf\",\"inline\":true}'",
        "claudeCode": "claude mcp add pdfco -e X_API_KEY=$PDFCO_API_KEY -- uvx pdfco-mcp",
        "config": {
          "mcpServers": {
            "pdfco": {
              "args": [
                "pdfco-mcp"
              ],
              "command": "uvx",
              "env": {
                "X_API_KEY": "${PDFCO_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/pdf.convert",
        "tool": "https://letme.dev/pdf-co"
      },
      "alsoIn": [
        "document-extraction"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 9.99,
          "note": "16,500 credits. $8.99 a month billed yearly"
        },
        {
          "item": "Personal",
          "unit": "month",
          "usd": 24.99,
          "note": "37,000 credits. $22.49 a month billed yearly"
        },
        {
          "item": "Business 1",
          "unit": "month",
          "usd": 49.99,
          "note": "80,500 credits. $44.99 a month billed yearly"
        },
        {
          "item": "Business 3",
          "unit": "month",
          "usd": 300,
          "note": "483,000 credits. $270 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Artifex Software, Inc.",
        "domain": "pdf.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://pdf.co/resources/legal/terms",
        "privacy": "https://pdf.co/resources/legal/privacy",
        "statusPage": "",
        "changelog": "https://developer.pdf.co/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "RDAP has no service for .co, so the registration date is unread",
          "status.pdf.co redirects to betterstack.com/uptime rather than a status page"
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pdf-co.json",
      "live": {
        "slug": "pdf-co",
        "probe": {
          "target": "https://api.pdf.co/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:47:06.889174469Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 475,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 460,
          "p95ms24h": 574,
          "samples24h": 246,
          "samples30d": 8081,
          "days": [
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 214,
              "ok": 214
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "pdfdotco/pdfco-mcp",
            "version": "0.0.11",
            "released": "2026-10-22",
            "seenAt": "2026-11-04T20:45:05.598166226Z"
          },
          {
            "registry": "pypi",
            "name": "pdfco-mcp",
            "version": "0.0.11",
            "released": "2026-10-22",
            "seenAt": "2026-11-04T20:45:05.231508961Z"
          }
        ],
        "githubStars": 9,
        "pypiWeekly": 60,
        "securityTxt": {
          "url": "https://pdf.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:11.43818148Z"
        },
        "llmsTxt": {
          "url": "https://developer.pdf.co/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:23:54.349300002Z"
        },
        "domain": {
          "domain": "pdf.co",
          "checkedAt": "2026-11-01T14:16:18.464894721Z"
        },
        "pages": [
          {
            "url": "https://developer.pdf.co/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:18:22.667509978Z",
            "changedAt": "2026-11-04T08:18:22.667509978Z",
            "fingerprint": "861f2ce6d833"
          },
          {
            "url": "https://pdf.co/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:29:30.61071082Z",
            "changedAt": "2026-10-21T00:31:36.004400882Z",
            "fingerprint": "21789544a16b"
          },
          {
            "url": "https://pdf.co/resources/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:29:32.772650613Z",
            "changedAt": "2026-10-21T00:31:38.267568996Z",
            "fingerprint": "135207656672"
          },
          {
            "url": "https://pdf.co/resources/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:29:34.816538225Z",
            "changedAt": "2026-10-21T00:31:40.235648787Z",
            "fingerprint": "6af634bd15fd"
          }
        ],
        "github": {
          "repo": "pdfdotco/pdfco-mcp",
          "checkedAt": "2026-11-02T09:15:22.868377701Z",
          "stars": 9,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-23T05:40:34Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 8,
          "ci": {
            "branch": "main",
            "runs": 8,
            "success": 8,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T05:40:49Z"
          }
        },
        "updatedAt": "2026-11-04T20:47:06.889174469Z"
      }
    },
    "edges": [
      {
        "by": 48,
        "category": "reliability",
        "leads": "docraptor",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "status.pdf.co answers 302 to betterstack.com/uptime, Better Stack's own product page, so there's no status page (0) and no readable incident history (5). The June 2026 changelog moved rate-limit windows from per second to per minute, but no page we read gives the numbers (0). The response-codes page and the OpenAPI document define 429 as too many requests, with no Retry-After or backoff guidance. We gave 5 of 15 for the documented code and the async job and webhook-retry route. No SLA in the terms of 24 March 2026, which reserve the right to change or stop the service without notice (0). GA (10)."
        },
        "scores": {
          "a": 68,
          "b": 20
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "docraptor",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "One API key per account in the `x-api-key` header, header only per the OpenAPI document. We found no scopes, no multiple keys and no rotation guide (10). Every MCP tool also takes `api_key` as an argument, which invites the key into the model's context. No read-only mode, no annotations, and `upload_file` reads any absolute local path and uploads it to PDF.co. The SSE and HTTP transports bind 0.0.0.0 with no authentication (0). PDF text, tables and invoice fields come back as untrusted content with no injection guidance (0). Each response reports credits used and remaining, which is a per-call cost trail. We found no audit log (5). The security page claims SOC 2 Type II and cites AWS's ISO 27001, PCI and FISMA, which are the data centre's. security.txt is a 404 and we found no disclosure policy or bounty (8)."
        },
        "scores": {
          "a": 41,
          "b": 23
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "docraptor",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "The MCP server is MIT. The API is closed with dated terms, so between the two bands (20). The privacy policy (25 August 2026) names Artifex Software, Inc. and says processing happens in the US, but states no document retention. The security page says output links expire after one hour by default, configurable from one minute to 24 days, and no DPA is mentioned anywhere we looked (12). No deprecation policy, and the terms allow changes without notice (0). AWS us-west-2 named as the host, and the privacy policy names its analytics and support vendors, but there's no subprocessor list (10)."
        },
        "scores": {
          "a": 69,
          "b": 53
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "docraptor",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public and the plans page says overage is a per-document price by plan, with the per-document figures shown through a plan selector that our reader saw only for the Free plan (15). The Free plan has 5 documents a month and unlimited watermarked test documents, but the signup form shows card fields and no page says whether the Free plan needs a card (10). A person signs up in a browser (0). 0 + 15 + 10 + 0 = 35.",
          "b": "No x402, MPP or L402 (0). Plan prices are public and the credit cost of each endpoint is published per page or per call, so per-unit cost is readable without a login (20). A sign-up trial exists per the 30 September check, but neither the pricing page nor the terms state its size or whether a card is needed, so we scored it absent (0). A person signs up in a browser to get a key (0)."
        },
        "scores": {
          "a": 35,
          "b": 20
        }
      },
      {
        "by": 14,
        "category": "ergonomics",
        "leads": "docraptor",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "38 MCP tools from about 78 KB of source with no toolset switch, which is the more-than-30 band (5). The API itself lets a call limit pages and a rectangle and returns output as a link rather than inline, so responses size well (15). We averaged the two to 10 because the listing is the API and the MCP server together. Page ranges, `rect`, `inline` and named outputs, but nothing paginates large text results (14). Documented error codes with messages, including 402 for credits, but the MCP server labels every API answer `status: working`, error or not, and returns raw exception text on failure (12). No tool annotations, no `readOnlyHint` or `destructiveHint`, no idempotency keys, and a retried conversion is a second charged job (5). Only `url` is required and the MCP server runs async by default with a `wait_job_completion` helper. We didn't confirm official SDK packages beyond code samples (8)."
        },
        "scores": {
          "a": 63,
          "b": 49
        }
      },
      {
        "by": 13,
        "category": "maintenance",
        "leads": "pdf-co",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "MCP server 0.0.9 on 2026-07-28, 65 days before this check (20). Two releases in the last 90 days, 0.0.8 on 2026-07-08 and 0.0.9, and both only repoint documentation links. The API changelog's last entry is June 2026, outside the window (0). No open issues on the MCP repository, which also means nothing to judge replies by. Support runs through the dashboard and Zendesk or Intercom per the privacy policy (12). Not in the official MCP registry. The only `pdfco` entry there is a third-party wrapper from mcparmory (0). The only CI workflow publishes releases. No tests, and the lock file dates from June 2025 (2)."
        },
        "scores": {
          "a": 21,
          "b": 34
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DocRaptor, LLC (Artifex Software)",
        "b": "PDF.co (Artifex Software)",
        "name": "Vendor"
      },
      {
        "a": "https://api.docraptor.com/docs",
        "b": "https://api.pdf.co/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (client libraries)",
        "b": "MIT (MCP server)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "38",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2023-09-05",
        "b": "2026-07-28",
        "name": "Last release"
      },
      {
        "a": "2026-06-03",
        "b": "2026-03-24",
        "name": "Terms last updated"
      },
      {
        "a": "2025-11-19",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "17k npm/wk",
        "b": "9 stars, 20 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "DocRaptor scores 53.3 (D) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in 5 of 7 scored categories. PDF.co API + MCP leads on schema \u0026 documentation and maintenance \u0026 community.",
        "question": "Which is better for AI agents, DocRaptor or PDF.co API + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do DocRaptor and PDF.co API + MCP need an API key?"
      },
      {
        "answer": "Yes. DocRaptor has a hosted endpoint at https://api.docraptor.com/docs and PDF.co API + MCP at https://api.pdf.co/v1.",
        "question": "Can an agent call DocRaptor and PDF.co API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 20",
          "Agent ergonomics, 63 against 49",
          "Security \u0026 auth, 41 against 23",
          "Payments \u0026 pricing, 35 against 20",
          "Transparency \u0026 trust, 69 against 53"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "docraptor",
        "watchFor": "One API key per account with no scopes, and the docs still offer it as the `user_credentials` query parameter"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 74 against 62",
          "Maintenance \u0026 community, 34 against 21"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "An agent that needs many PDF operations from one vendor and can handle files by URL.",
        "slug": "pdf-co",
        "watchFor": "No status page. status.pdf.co redirects to betterstack.com/uptime"
      }
    ],
    "history": {
      "docraptor": null,
      "pdf-co": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 37.9,
          "fromGrade": "F",
          "to": 38.1,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 38.2,
          "fromGrade": "E",
          "to": 37.9,
          "toGrade": "F"
        }
      ]
    },
    "job": {
      "capability": "pdf.generate",
      "name": "Pdf generate"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-docraptor.json",
        "title": "CloudConvert API vs DocRaptor",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-docraptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdf-co.json",
        "title": "CloudConvert API vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdf-co"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdf-co.json",
        "title": "Foxit PDF Services API vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdf-co"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co.json",
        "title": "iLoveAPI vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdf-co.json",
        "title": "Nutrient DWS Processor API vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdf-co"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest.json",
        "title": "PDF.co API + MCP vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-foxit-pdf-services.json",
        "title": "DocRaptor vs Foxit PDF Services API",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-foxit-pdf-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-iloveapi.json",
        "title": "DocRaptor vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-nutrient-dws-processor.json",
        "title": "DocRaptor vs Nutrient DWS Processor API",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-nutrient-dws-processor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-pdfmonkey.json",
        "title": "DocRaptor vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-pdfmonkey"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-pdfrest.json",
        "title": "DocRaptor vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-pdfrest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfmonkey.json",
        "title": "PDF.co API + MCP vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/pdf-co-vs-pdfmonkey"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 48,
        "docraptor": 68,
        "edge": "docraptor",
        "key": "reliability",
        "name": "Reliability",
        "pdf-co": 20,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "docraptor": 62,
        "edge": "pdf-co",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pdf-co": 74,
        "weight": 13
      },
      {
        "by": 14,
        "docraptor": 63,
        "edge": "docraptor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pdf-co": 49,
        "weight": 13
      },
      {
        "by": 18,
        "docraptor": 41,
        "edge": "docraptor",
        "key": "security",
        "name": "Security \u0026 auth",
        "pdf-co": 23,
        "weight": 14
      },
      {
        "by": 15,
        "docraptor": 35,
        "edge": "docraptor",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pdf-co": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "docraptor": 21,
        "edge": "pdf-co",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pdf-co": 34,
        "weight": 7
      },
      {
        "by": 16,
        "docraptor": 69,
        "edge": "docraptor",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pdf-co": 53,
        "weight": 7
      }
    ],
    "summary": "DocRaptor scores 53.3 (D) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in 5 of 7 scored categories. PDF.co API + MCP leads on schema \u0026 documentation and maintenance \u0026 community. Both do pdf generate.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "pdf-co": "OpenAPI 3.0.1 document with structured error bodies for 400 to 454, plus llms.txt and Markdown docs. No status page. status.pdf.co redirects to betterstack.com/uptime."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co",
    "json": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.min.md"
  },
  "markdown": "DocRaptor scores 53.3 (D) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in 5 of 7 scored categories. PDF.co API + MCP leads on schema \u0026 documentation and maintenance \u0026 community. Both do pdf generate.\n\n- DocRaptor: grade D, 53.3/100, rank #841 of 1349. Markdown https://www.anchorterminal.com/tools/docraptor.md · JSON https://www.anchorterminal.com/api/v1/tools/docraptor.json\n- PDF.co API + MCP: grade E, 38.1/100, rank #1234 of 1349. Markdown https://www.anchorterminal.com/tools/pdf-co.md · JSON https://www.anchorterminal.com/api/v1/tools/pdf-co.json\n- Best PDF manipulation and conversion APIs for AI agents: https://www.anchorterminal.com/best/pdf-tools/index.md\n- All 43 pdf comparisons: https://www.anchorterminal.com/compare/pdf-tools/index.md\n- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md\n- All 148 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md\n\n## Which one, for what\n\n### DocRaptor (D)\n\nGood 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.\n\nAhead on:\n- Reliability, 68 against 20\n- Agent ergonomics, 63 against 49\n- Security \u0026 auth, 41 against 23\n- Payments \u0026 pricing, 35 against 20\n- Transparency \u0026 trust, 69 against 53\n\nWatch for: One API key per account with no scopes, and the docs still offer it as the `user_credentials` query parameter\n\n### PDF.co API + MCP (E)\n\nGood for: An agent that needs many PDF operations from one vendor and can handle files by URL.\n\nAhead on:\n- Schema \u0026 documentation, 74 against 62\n- Maintenance \u0026 community, 34 against 21\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No status page. status.pdf.co redirects to betterstack.com/uptime\n\n\n## Why the edge\n\n### Reliability: DocRaptor +48\n\n- 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.\n- PDF.co API + MCP (20): status.pdf.co answers 302 to betterstack.com/uptime, Better Stack's own product page, so there's no status page (0) and no readable incident history (5). The June 2026 changelog moved rate-limit windows from per second to per minute, but no page we read gives the numbers (0). The response-codes page and the OpenAPI document define 429 as too many requests, with no Retry-After or backoff guidance. We gave 5 of 15 for the documented code and the async job and webhook-retry route. No SLA in the terms of 24 March 2026, which reserve the right to change or stop the service without notice (0). GA (10).\n\n### Security \u0026 auth: DocRaptor +18\n\n- 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.\n- PDF.co API + MCP (23): One API key per account in the `x-api-key` header, header only per the OpenAPI document. We found no scopes, no multiple keys and no rotation guide (10). Every MCP tool also takes `api_key` as an argument, which invites the key into the model's context. No read-only mode, no annotations, and `upload_file` reads any absolute local path and uploads it to PDF.co. The SSE and HTTP transports bind 0.0.0.0 with no authentication (0). PDF text, tables and invoice fields come back as untrusted content with no injection guidance (0). Each response reports credits used and remaining, which is a per-call cost trail. We found no audit log (5). The security page claims SOC 2 Type II and cites AWS's ISO 27001, PCI and FISMA, which are the data centre's. security.txt is a 404 and we found no disclosure policy or bounty (8).\n\n### Transparency \u0026 trust: DocRaptor +16\n\n- 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.\n- PDF.co API + MCP (53): The MCP server is MIT. The API is closed with dated terms, so between the two bands (20). The privacy policy (25 August 2026) names Artifex Software, Inc. and says processing happens in the US, but states no document retention. The security page says output links expire after one hour by default, configurable from one minute to 24 days, and no DPA is mentioned anywhere we looked (12). No deprecation policy, and the terms allow changes without notice (0). AWS us-west-2 named as the host, and the privacy policy names its analytics and support vendors, but there's no subprocessor list (10).\n\n### Payments \u0026 pricing: DocRaptor +15\n\n- DocRaptor (35): No x402, MPP or L402 (0). Plan prices are public and the plans page says overage is a per-document price by plan, with the per-document figures shown through a plan selector that our reader saw only for the Free plan (15). The Free plan has 5 documents a month and unlimited watermarked test documents, but the signup form shows card fields and no page says whether the Free plan needs a card (10). A person signs up in a browser (0). 0 + 15 + 10 + 0 = 35.\n- PDF.co API + MCP (20): No x402, MPP or L402 (0). Plan prices are public and the credit cost of each endpoint is published per page or per call, so per-unit cost is readable without a login (20). A sign-up trial exists per the 30 September check, but neither the pricing page nor the terms state its size or whether a card is needed, so we scored it absent (0). A person signs up in a browser to get a key (0).\n\n### Agent ergonomics: DocRaptor +14\n\n- 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.\n- PDF.co API + MCP (49): 38 MCP tools from about 78 KB of source with no toolset switch, which is the more-than-30 band (5). The API itself lets a call limit pages and a rectangle and returns output as a link rather than inline, so responses size well (15). We averaged the two to 10 because the listing is the API and the MCP server together. Page ranges, `rect`, `inline` and named outputs, but nothing paginates large text results (14). Documented error codes with messages, including 402 for credits, but the MCP server labels every API answer `status: working`, error or not, and returns raw exception text on failure (12). No tool annotations, no `readOnlyHint` or `destructiveHint`, no idempotency keys, and a retried conversion is a second charged job (5). Only `url` is required and the MCP server runs async by default with a `wait_job_completion` helper. We didn't confirm official SDK packages beyond code samples (8).\n\n### Maintenance \u0026 community: PDF.co API + MCP +13\n\n- 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.\n- PDF.co API + MCP (34): MCP server 0.0.9 on 2026-07-28, 65 days before this check (20). Two releases in the last 90 days, 0.0.8 on 2026-07-08 and 0.0.9, and both only repoint documentation links. The API changelog's last entry is June 2026, outside the window (0). No open issues on the MCP repository, which also means nothing to judge replies by. Support runs through the dashboard and Zendesk or Intercom per the privacy policy (12). Not in the official MCP registry. The only `pdfco` entry there is a third-party wrapper from mcparmory (0). The only CI workflow publishes releases. No tests, and the lock file dates from June 2025 (2).\n\n## Score by category\n\n| Category | Weight | DocRaptor | PDF.co API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 20 | DocRaptor +48 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 74 | PDF.co API + MCP +12 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 49 | DocRaptor +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 23 | DocRaptor +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 20 | DocRaptor +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 21 | 34 | PDF.co API + MCP +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 53 | DocRaptor +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **53.3 · D** | **38.1 · E** | |\n\n## Facts side by side\n\n| Fact | DocRaptor | PDF.co API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DocRaptor, LLC (Artifex Software) | PDF.co (Artifex Software) |\n| Hosted endpoint | `https://api.docraptor.com/docs` | `https://api.pdf.co/v1` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT (client libraries) | MIT (MCP server) |\n| Tools exposed | none | 38 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2023-09-05 | 2026-07-28 |\n| Terms last updated | 2026-06-03 | 2026-03-24 |\n| Privacy policy last updated | 2025-11-19 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 17k npm/wk | 9 stars, 20 PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### DocRaptor\n\nNo score change since it was listed.\n\n### PDF.co API + MCP\n\n- +0.2 on 27 October 2026 (F to E): checklist\n- -0.3 on 8 October 2026 (E to F): checklist\n\n## Verdicts\n\n**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.\n\n**PDF.co API + MCP.** OpenAPI 3.0.1 document with structured error bodies for 400 to 454, plus llms.txt and Markdown docs. No status page. status.pdf.co redirects to betterstack.com/uptime.\n\n## Before you call either\n\n### DocRaptor\n\n1. Send the key as the HTTP Basic username with a blank password, never as `user_credentials` in the URL, and send `test: true` while iterating since test documents are free and watermarked\n2. Use `async: true` for documents that may take more than 60 seconds, then poll `/status/{status_id}` until `completed` and fetch `download_url` within the account's retention period\n3. Treat a 403 as either a permission problem or more than 30 simultaneous requests; back off and retry rather than fail the task\n4. JavaScript errors and, on pipelines before 7, console messages fail the document; set `javascript: true` only when the HTML needs it and define `docraptorJavaScriptFinished()` for async scripts\n5. 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\n\n### PDF.co API + MCP\n\n1. Upload local files with `upload_file` or the presigned upload first, then pass the returned URL\n2. Read the `content` field, not `status`. The MCP server says `working` even when the API returned an error\n3. Call `wait_job_completion` after each job. Every MCP call runs async and returns a job id\n4. Download results within the hour. Output links expire after 60 minutes by default\n5. Keep the key in `X_API_KEY` and leave the `api_key` argument empty\n\n## Questions\n\n### Which is better for AI agents, DocRaptor or PDF.co API + MCP?\n\nDocRaptor scores 53.3 (D) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in 5 of 7 scored categories. PDF.co API + MCP leads on schema \u0026 documentation and maintenance \u0026 community.\n\n### Do DocRaptor and PDF.co API + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call DocRaptor and PDF.co API + MCP without installing anything?\n\nYes. DocRaptor has a hosted endpoint at https://api.docraptor.com/docs and PDF.co API + MCP at https://api.pdf.co/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docraptor\", \"b\": \"pdf-co\"}`. From a terminal: `anchor compare docraptor pdf-co`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docraptor.json and https://www.anchorterminal.com/api/v1/tools/pdf-co.json\n\n## Other comparisons with DocRaptor or PDF.co API + MCP\n\n- [CloudConvert API vs DocRaptor](https://www.anchorterminal.com/compare/cloudconvert-vs-docraptor.md)\n- [CloudConvert API vs PDF.co API + MCP](https://www.anchorterminal.com/compare/cloudconvert-vs-pdf-co.md)\n- [Foxit PDF Services API vs PDF.co API + MCP](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdf-co.md)\n- [iLoveAPI vs PDF.co API + MCP](https://www.anchorterminal.com/compare/iloveapi-vs-pdf-co.md)\n- [Nutrient DWS Processor API vs PDF.co API + MCP](https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdf-co.md)\n- [PDF.co API + MCP vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/pdf-co-vs-pdfrest.md)\n- [DocRaptor vs Foxit PDF Services API](https://www.anchorterminal.com/compare/docraptor-vs-foxit-pdf-services.md)\n- [DocRaptor vs iLoveAPI](https://www.anchorterminal.com/compare/docraptor-vs-iloveapi.md)\n- [DocRaptor vs Nutrient DWS Processor API](https://www.anchorterminal.com/compare/docraptor-vs-nutrient-dws-processor.md)\n- [DocRaptor vs PDFMonkey](https://www.anchorterminal.com/compare/docraptor-vs-pdfmonkey.md)\n- [DocRaptor vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/docraptor-vs-pdfrest.md)\n- [PDF.co API + MCP vs PDFMonkey](https://www.anchorterminal.com/compare/pdf-co-vs-pdfmonkey.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DocRaptor vs PDF.co API + MCP",
        "url": ""
      }
    ],
    "description": "DocRaptor scores 53.3 (D) to PDF.co's 38.1 (E) for pdf generate. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DocRaptor D 53.3",
      "PDF.co API + MCP E 38.1",
      "scores"
    ],
    "h1": "DocRaptor vs PDF.co API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/docraptor-vs-pdf-co",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DocRaptor vs PDF.co for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co"
  },
  "tokens": {
    "markdown": 4450,
    "slim": 2830
  },
  "version": 1
}
