{
  "data": {
    "a": {
      "slug": "cloudconvert",
      "name": "CloudConvert API",
      "vendor": "CloudConvert (Lunaweb GmbH)",
      "vendorUrl": "https://cloudconvert.com",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "File conversion API from Lunaweb GmbH in Germany. Jobs chain import, convert, merge, optimise, watermark and PDF tasks across more than 200 formats, through a REST API, six SDKs, a CLI and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/cloudconvert",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudconvert.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudconvert.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudconvert.json",
      "dns": "cloudconvert.grade.anchorterminal.com",
      "repo": "https://github.com/cloudconvert/cloudconvert-node",
      "license": "Proprietary service under CloudConvert's terms of service. The SDKs and the CLI on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudconvert.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "cloudconvert"
        },
        {
          "registry": "npm",
          "name": "cloudconvert-cli"
        },
        {
          "registry": "pypi",
          "name": "cloudconvert"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key from the dashboard, sent as `Authorization: Bearer API_KEY`. A key takes any of six scopes chosen at creation and does not expire until revoked. OAuth 2.0 clients use the authorisation code or implicit grant at `https://cloudconvert.com/oauth/authorize`. The hosted MCP server signs in by OAuth and asks for `user.read`, `task.read` and `task.write`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 10 conversion credits a day and no card, limited to 1 GB files, 5 minutes of processing and 5 concurrent tasks. Paid credits come as prepaid packages that never expire or as monthly subscriptions, from 500 to 1,000,000 credits. A conversion costs a base of 1 credit (2 for Office or iWork to PDF, 4 for PDF to Office) plus 1 a minute after the first, and only successful conversions are charged. The price per credit is drawn by a script and was not readable. The API page says prices start at $0.008 a file at 10,000 files. A sandbox API runs test files without credits (https://cloudconvert.com/pricing, checked 2026-10-09).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the terms (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 34,
      "popularity": {
        "githubStars": 192,
        "npmWeekly": 103789,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://cloudconvert.com/docs/getting-started/introduction",
      "llmsTxt": "https://cloudconvert.com/docs/llms.txt",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.generate",
        "docs.ocr"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "llms-txt",
        "async-jobs",
        "webhooks",
        "sandbox",
        "cli",
        "php",
        "node",
        "python",
        "ruby",
        "java",
        "dotnet",
        "status-page",
        "iso27001",
        "eu-hosted"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.9,
        "grade": "B",
        "agentReady": false,
        "rank": 445,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 58,
          "payments": 35,
          "reliability": 80,
          "schema": 59,
          "security": 71,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "API keys and OAuth tokens carry six scopes, the terms promise 99.9 per cent monthly uptime with refunds, and uploaded files are deleted within 24 hours. No OpenAPI document or changelog was found, the per-credit price is drawn by a script, and the MCP server now lists 34 tools with no subsets.",
        "bestFor": "An agent that converts between many file formats, merges to PDF, or needs OCR, PDF/A, encryption and page operations in one job, with storage on S3, Azure or Google Cloud.",
        "strengths": [
          "API keys are created with any of six scopes (`user.read`, `user.write`, `task.read`, `task.write`, `webhook.read`, `webhook.write`) and can be revoked",
          "The terms of service promise 99.9 per cent monthly uptime, with 1 per cent of the last invoice refunded per 10 minutes of unavailability",
          "Hosted MCP server at `https://mcp.cloudconvert.com` since 3 September 2026, with OAuth sign-in instead of a pasted key",
          "Files are deleted after 24 hours at the latest, and regional endpoints keep processing in Germany or in Virginia",
          "A 429 answer carries `Retry-After`, and the rate-limited endpoints return `X-RateLimit-Limit` and `X-RateLimit-Remaining`"
        ],
        "weaknesses": [
          "No OpenAPI document and no API changelog were found. The blog has one post since August 2024",
          "The price per credit is drawn by a script on the pricing page, so no price table is readable without a browser",
          "Rate limits on the main endpoints are described as dynamic, with no fixed number per plan",
          "No idempotency key. The docs ask callers not to retry failed tasks automatically",
          "The MCP server lists 34 tools with no toolsets or read-only subset",
          "AI task requests and results are kept 180 days and used to train AI models unless the AI log is turned off"
        ],
        "agentNotes": [
          "Build each job from an import task, one or more processing tasks and an `export/url` task, then read the download links from the export task's `result.files`",
          "Call `GET /v2/operations` with `include=options` to find the options a format pair accepts before creating a `convert` task",
          "Do not retry a failed task automatically. CloudConvert retries retryable errors itself, and a retry endpoint creates a new task",
          "Download output within 24 hours. Tasks, files and export URLs are deleted after that",
          "Use `https://sandbox.api.cloudconvert.com/v2` for tests. It consumes no credits and accepts only a fixed set of approved test files",
          "Turn off the AI log in the dashboard's AI settings before sending prompts or file names that shouldn't be kept for 180 days"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.9
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 58,
          "payments": 35,
          "reliability": 80,
          "schema": 59,
          "security": 71,
          "transparency": 64
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g cloudconvert-cli",
        "http": "curl -X POST \"https://api.cloudconvert.com/v2/jobs\" \\\n  -H \"Authorization: Bearer API_KEY\" \\\n  -H \"Content-type: application/json\" \\\n  -d '{\"tasks\":{\"import-my-file\":{\"operation\":\"import/url\",\"url\":\"https://my.url/file.docx\"},\"convert-my-file\":{\"operation\":\"convert\",\"input\":\"import-my-file\",\"output_format\":\"pdf\"},\"export-my-file\":{\"operation\":\"export/url\",\"input\":\"convert-my-file\"}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/pdf.convert",
        "tool": "https://letme.dev/cloudconvert"
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "Lunaweb GmbH",
        "domain": "cloudconvert.com",
        "domainRegistered": "2008-10-02",
        "endpointOnVendorDomain": true,
        "terms": "https://cloudconvert.com/terms",
        "privacy": "https://cloudconvert.com/privacy",
        "statusPage": "https://status.cloudconvert.com",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-11-01",
        "notes": [
          "The imprint names Lunaweb GmbH, Nördliche Münchner Straße 47, 82031 Grünwald, Germany, commercial register Amtsgericht München HRB 238086.",
          "The terms of service are dated 12 April 2022 and say they apply to the entire website and any API usage. They incorporate the privacy policy, dated 19 October 2026.",
          "security.txt names a contact address, expires on 1 May 2027 and says there is no formal bug bounty, with rewards at CloudConvert's discretion (re-read on 1 November 2026).",
          "RDAP for cloudconvert.com gives a registration date of 2008-10-02.",
          "No API changelog was found. The blog carries product announcements, one of them since August 2024.",
          "The status page runs on Better Stack."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudconvert.json",
      "live": {
        "slug": "cloudconvert",
        "probe": {
          "target": "https://api.cloudconvert.com/v2",
          "method": "get",
          "lastAt": "2026-11-04T20:46:38.957126641Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 48,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 63,
          "p95ms24h": 160,
          "samples24h": 246,
          "samples30d": 6560,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "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
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cloudconvert.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T17:13:15.178797781Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudconvert/cloudconvert-node",
            "version": "3.0.0",
            "released": "2025-04-24",
            "seenAt": "2026-11-04T20:06:56.171481296Z"
          },
          {
            "registry": "npm",
            "name": "cloudconvert",
            "version": "3.0.0",
            "seenAt": "2026-11-04T20:06:53.706644371Z"
          },
          {
            "registry": "npm",
            "name": "cloudconvert-cli",
            "version": "3.0.2",
            "seenAt": "2026-11-04T20:06:54.602587039Z"
          },
          {
            "registry": "pypi",
            "name": "cloudconvert",
            "version": "2.1.0",
            "released": "2022-03-30",
            "seenAt": "2026-11-04T20:06:55.972694768Z"
          }
        ],
        "githubStars": 190,
        "npmWeekly": 117089,
        "pypiWeekly": 67581,
        "securityTxt": {
          "url": "https://cloudconvert.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-04T00:00:00Z",
          "checkedAt": "2026-11-04T15:54:21.483437987Z"
        },
        "llmsTxt": {
          "url": "https://cloudconvert.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:22:20.881537693Z"
        },
        "domain": {
          "domain": "cloudconvert.com",
          "registered": "2008-10-02",
          "source": "https://rdap.verisign.com/com/v1/domain/cloudconvert.com",
          "checkedAt": "2026-11-01T14:13:34.581586676Z"
        },
        "pages": [
          {
            "url": "https://cloudconvert.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:16:44.739403024Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "05f0d28019ec"
          },
          {
            "url": "https://cloudconvert.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:16:46.820305224Z",
            "changedAt": "2026-10-22T01:11:57.302001938Z",
            "fingerprint": "ee988ae06c21"
          },
          {
            "url": "https://cloudconvert.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:16:48.770892258Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ef7bfd5d6f7a"
          }
        ],
        "github": {
          "repo": "cloudconvert/cloudconvert-node",
          "checkedAt": "2026-11-02T08:39:32.439747571Z",
          "stars": 190,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-23T14:15:00Z",
          "openIssues": 7,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "master",
            "runs": 1,
            "success": 1,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T14:16:22Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 6,
            "medianDays": 0.2
          }
        },
        "updatedAt": "2026-11-04T20:46:38.957126641Z"
      }
    },
    "answer": "CloudConvert API scores 63.9 (B) on agent readiness against PDFMonkey's 59.3 (C), and leads in 2 of 7 scored categories. PDFMonkey leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "pdfmonkey",
      "name": "PDFMonkey",
      "vendor": "PDFMonkey",
      "vendorUrl": "https://pdfmonkey.io",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "PDFMonkey is a hosted service from a Paris company that generates PDFs and images from Liquid or Builder templates and JSON data, through a REST API, a CLI, Ruby and Node.js SDKs, and a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/pdfmonkey",
      "markdownUrl": "https://www.anchorterminal.com/tools/pdfmonkey.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pdfmonkey.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pdfmonkey.json",
      "dns": "pdfmonkey.grade.anchorterminal.com",
      "repo": "https://github.com/pdfmonkey/pdfmonkey-mcp",
      "license": "MIT (MCP server, CLI and SDKs)",
      "transports": [
        "stdio"
      ],
      "remoteUrl": "https://api.pdfmonkey.io/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "pdfmonkey-mcp-server"
        },
        {
          "registry": "npm",
          "name": "@pdfmonkey/cli"
        },
        {
          "registry": "npm",
          "name": "pdfmonkey"
        },
        {
          "registry": "rubygems",
          "name": "pdfmonkey"
        }
      ],
      "auth": "api-key",
      "authNotes": "One secret API key per account, sent as `Authorization: Bearer`, found on the dashboard's API Key page after a browser signup. The key carries the whole account's privileges. Rotate API key issues a new key while the old one keeps working for 2 days, or is revoked at once. The MCP server and CLI read PDFMONKEY_API_KEY.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 20 documents a month and a 30-day Pro trial with 300 documents, no card. Starter €5 a month for 300 documents, Pro €15 for 3,000, Pro+ €60 for 5,000, Premium €300 for 60,000, 10 per cent off yearly. Pay-as-you-go overage from €0.008 to €0.005 a document, Boost Packs €5 per 1,000 documents (https://pdfmonkey.io/pricing/).",
      "priceSummary": "$5.59 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms-full.txt, pricing page or MCP server source (checked 2026-11-03). Quota overruns are billed to the plan's card through the dashboard.",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 97,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://pdfmonkey.io/docs/",
      "llmsTxt": "https://pdfmonkey.io/llms.txt",
      "registryName": "io.github.pdfmonkey/pdfmonkey-mcp",
      "capabilities": [
        "pdf.generate",
        "pdf.forms"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "mcp",
        "mcp-registry",
        "llms-txt",
        "cli",
        "webhooks",
        "async-jobs",
        "typescript",
        "ruby",
        "eu",
        "mit",
        "closed-source"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.3,
        "grade": "C",
        "agentReady": false,
        "rank": 637,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 40,
          "reliability": 60,
          "schema": 61,
          "security": 36,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "An agent gets 11 compact MCP tools, a scriptable CLI and a sync endpoint, with public euro prices and a free plan. The one account-wide key has no scopes, document creation has no idempotency key, and there is no OpenAPI document, SLA or security disclosure policy.",
        "bestFor": "Agents that fill known templates with JSON to produce invoices, reports, forms and images, and teams that want an agent to author templates through the CLI.",
        "strengths": [
          "11 compact MCP tools with typed inputs, and a CLI whose management commands all take `--json` and exit non-zero on error",
          "`POST /api/v1/documents/sync` returns the finished document in one request, waiting up to 6 minutes",
          "Plan prices, per-document overage rates and Boost Pack prices are public in euros, with a Free plan and a 30-day trial that need no card",
          "Key rotation keeps the old key alive for 2 days, and payloads are stored encrypted in EU data centres with a published DPA",
          "MCP server, CLI, Node.js SDK and Ruby gem are MIT and in the official MCP registry under a verified namespace"
        ],
        "weaknesses": [
          "One secret key with the whole account's privileges, no scopes and no read-only key",
          "No OpenAPI document, no changelog page and no written rate limits beyond the monthly quota",
          "No idempotency key on document creation, so a retried create queues and bills a second document",
          "No SLA, no security.txt, no disclosure policy and no SOC 2 or ISO 27001, which the docs state plainly",
          "The MCP server has no tool annotations and includes a permanent `delete_document`"
        ],
        "agentNotes": [
          "Use `POST /api/v1/documents/sync` or the MCP `generate_document` tool for one document; for batches create with `status: pending` and poll `document_cards` or take the webhook",
          "Fetch the template first (`get_template` or `pdfmonkey template get --json`) to learn the payload shape; a mismatched payload generates a blank or wrong document, not an error",
          "Download within the hour; `download_url` returns 403 after 60 minutes, and fetching the document again gives a fresh link",
          "Do not retry a create on a timeout without checking `list_documents` first; there is no idempotency key and each generation counts against the quota",
          "Expect a 422 with field names when a required field is missing, and a rejected create at 100 per cent of the monthly quota unless pay-as-you-go is on"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.3
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 40,
          "reliability": 60,
          "schema": 61,
          "security": 36,
          "transparency": 70
        },
        "provenanceScore": 86,
        "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": "npm install -g @pdfmonkey/cli",
        "http": "curl https://api.pdfmonkey.io/api/v1/current_user -H \"Authorization: Bearer $PDFMONKEY_API_KEY\"",
        "claudeCode": "claude mcp add pdfmonkey -e PDFMONKEY_API_KEY=your-api-key -- npx -y pdfmonkey-mcp-server",
        "config": {
          "mcpServers": {
            "pdfmonkey": {
              "args": [
                "-y",
                "pdfmonkey-mcp-server"
              ],
              "command": "npx",
              "env": {
                "PDFMONKEY_API_KEY": "your-api-key"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/pdf.generate",
        "tool": "https://letme.dev/pdfmonkey"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 5.59,
          "note": "€5, 300 documents a month, converted at the ECB rate of 3 November 2026 (1.1179). €4.50 billed yearly"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 16.77,
          "note": "€15, 3,000 documents a month. €13.50 billed yearly"
        },
        {
          "item": "Pro+",
          "unit": "month",
          "usd": 67.07,
          "note": "€60, 5,000 documents a month. €54 billed yearly"
        },
        {
          "item": "Premium",
          "unit": "month",
          "usd": 335.37,
          "note": "€300, 60,000 documents a month. €270 billed yearly"
        },
        {
          "item": "Pay-as-you-go document on Starter",
          "unit": "tx",
          "usd": 0.0089,
          "note": "€0.008 a document beyond the quota. Pro €0.007, Pro+ €0.006, Premium €0.005"
        },
        {
          "item": "Boost Pack",
          "unit": "tx",
          "usd": 5.59,
          "note": "€5 for 1,000 extra documents, expiring at the monthly quota reset"
        }
      ],
      "provenance": {
        "legalEntity": "PDFMonkey",
        "domain": "pdfmonkey.io",
        "domainRegistered": "2016-05-07",
        "endpointOnVendorDomain": true,
        "terms": "https://pdfmonkey.io/terms-and-conditions",
        "privacy": "https://pdfmonkey.io/privacy-policy",
        "statusPage": "https://status.pdfmonkey.io",
        "changelog": "https://pdfmonkey.io/blog/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms and privacy policy are iubenda documents embedded on pdfmonkey.io (iubenda ids 72376615). They name the owner as PDFMonkey at 49 rue de Ponthieu, Lot 41, 75008 Paris, with no company form or registration number. The privacy policy was last updated 16 September 2026.",
          "The terms forbid accounts registered by bots or automated methods and contain no clause on automated reading of the website. pdfmonkey.io/robots.txt allows all crawlers.",
          "status.pdfmonkey.io is an updown.io page with six checks (API, dashboard, preview, website, generation latency, queue size) showing one month of rolling uptime per check and no incident write-ups.",
          "RDAP gives pdfmonkey.io a registration date of 7 May 2016. The oldest blog post is dated 9 December 2019, used for firstReleased.",
          "/.well-known/security.txt and /security.txt return 404. There is no changelog page; product changes are announced on the blog."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pdfmonkey.json",
      "live": {
        "slug": "pdfmonkey",
        "probe": {
          "target": "https://api.pdfmonkey.io/api/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:47:06.90801329Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 543,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 159,
          "p95ms24h": 714,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pdfmonkey.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:28.217450512Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.pdfmonkey/pdfmonkey-mcp",
            "version": "1.0.1",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "npm",
            "name": "@pdfmonkey/cli",
            "version": "2.1.0",
            "seenAt": "2026-11-04T20:45:09.966897237Z"
          },
          {
            "registry": "npm",
            "name": "pdfmonkey",
            "version": "1.4.0",
            "seenAt": "2026-11-04T20:45:11.419031923Z"
          },
          {
            "registry": "npm",
            "name": "pdfmonkey-mcp-server",
            "version": "1.0.1",
            "seenAt": "2026-11-04T20:45:09.158965958Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 83,
        "securityTxt": {
          "url": "https://pdfmonkey.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:14.692797875Z"
        },
        "updatedAt": "2026-11-04T20:47:06.90801329Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "security",
        "leads": "cloudconvert",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "API keys are created with any of six scopes and can be revoked, and OAuth 2.0 issues tokens for third-party clients, though the implicit grant is still supported and no key rotation is documented. Signed URLs carry an HMAC signature, not the key (27). A key limited to `task.read` is read-only, and the MCP server asks for three scopes, one of them `task.write`, plus the two webhook scopes for its webhook tools. No confirmation step for deletes (12). Results come back as download links, and the `metadata` and `capture-website` operations handle untrusted content. The MCP page tells users to connect only the official URL, with no prompt-injection guidance (6). The security page says all access is logged and reviewable by the customer in activity logs, and jobs can be filtered by API key (11). ISO 27001 from TÜV Süd, and a valid security.txt (re-read on 1 November, Expires 2027-05-01) with a disclosure policy and rewards only at CloudConvert's discretion, so no formal bounty. No public advisories and nothing on OSV for the SDK packages. That's above ahasend's 12 (ISO 27001 and a disclosure route, no security.txt) (15). 27 + 12 + 6 + 11 + 15 = 71.",
          "b": "One secret key per account with the whole account's privileges, sent as a Bearer header; it can be rotated with a 2-day overlap and the old key revoked at once, but there are no scopes, no second key and no read-only key (12). No least-privilege mode; the MCP server exposes `delete_document`, the CLI asks before deletions unless `-y`, and the MCP docs say most clients ask before running a delete (6). The tools return the account's own templates, documents and quota, not third-party content (10). Each document carries generation logs and the dashboard shows usage, but no audit log or per-key activity view was found (3). No security.txt (404), no disclosure policy and no bug bounty; the compliance page says there is no SOC 2 or ISO 27001, and sets against that EU hosting, encrypted payloads and a DPA dated 15 October 2026 (5). 12 + 6 + 10 + 3 + 5 = 36."
        },
        "scores": {
          "a": 71,
          "b": 36
        }
      },
      {
        "by": 23,
        "category": "maintenance",
        "leads": "pdfmonkey",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "cloudconvert-cli 3.0.2 was published to npm on 21 October 2026 and adds an `ai/agent` command for the new AI tasks, which the privacy policy's dated entry of 19 October also records (30). In the 90 days from 3 August, the MCP server launch post (3 September), and Java 1.2.5, Ruby 1.2.0 (both 24 August) and CLI 3.0.2, the package tags counted half, so 2.5. The privacy policy's dated entry of 19 October records a policy text, not a release, and the `ai/agent` launch it describes is already counted through CLI 3.0.2 (0). No changelog. Support is a contact form and email, and dependency pull requests on the Java and CLI repositories were merged on 5 October and 23 October 2026. Issue replies were not read (8 of 15). Six official SDKs, four released in 2026. The Node.js SDK's last tag is still April 2025 (3.0.0) and the Python SDK's March 2022, and the MCP server is not in the official registry, searched on 1 November (12). Every SDK repository has a test workflow (8). 30 + 0 + 8 + 12 + 8 = 58.",
          "b": "Read as a closed service with open-source clients. pdfmonkey-mcp-server 1.0.1 on 26 October 2026, @pdfmonkey/cli 2.1.0 on 15 October and docs pages updated 2 November (30). Node SDK 1.1.0 to 1.4.0 between 2 and 5 October, CLI 2.0.0 and 2.1.0 on 13 and 15 October, MCP 1.0.1 on 26 October (20). Blog posts announce changes, and support answers by in-app chat and email within a few hours in CET business hours per the docs; GitHub issue replies couldn't be read (10 of 15). io.github.pdfmonkey/pdfmonkey-mcp in the official registry, 1.0.1 latest (15). The MCP server has unit tests, a release workflow on tags and a prepublish test step, but no CI on pull requests and a loose `^1.0.4` pin on the MCP SDK (6). 30 + 20 + 10 + 15 + 6 = 81."
        },
        "scores": {
          "a": 58,
          "b": 81
        }
      },
      {
        "by": 20,
        "category": "reliability",
        "leads": "cloudconvert",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service. Status page at status.cloudconvert.com (Better Stack) with nine components and 90-day bars (20). The incident list and RSS feed, re-read on 1 November, add one incident since 9 October, \"iWork and Web are down\" on 12 October. iWork recovered within two minutes and Web, the web interface rather than the API, recovered at 11:51 UTC on 13 October. With the EU Central slowdown on 8 October (from about 15:25 to 16:45 UTC), the US East, iWork and EU Central alert on 14 September and the other short incidents since 3 August, each touched one region, one conversion type or one component, so minor incidents only (20). Limits on creating jobs and tasks are described as dynamic, with `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers and a free-plan cap of 5 concurrent tasks. The new `ai/agent` tasks have a fixed 6 requests a minute and 60 an hour, but the main endpoints have no fixed number per plan (8). A 429 carries `Retry-After` in seconds and the docs say CloudConvert retries retryable errors itself. No idempotency key (12). The terms promise 99.9 per cent monthly uptime with refunds on paid plans, re-read on 1 November (10). API v2 is generally available and the MCP server carries no beta label. Only the new `ai/agent` task is marked beta (10). 20 + 20 + 8 + 12 + 10 + 10 = 80.",
          "b": "Read with the hosted lines. status.pdfmonkey.io is an updown.io page with six checks (API, dashboard, preview, website, generation latency, queue size) and one month of rolling uptime per check, but no incident write-ups (15). The readable record is the uptime figures (API 99.98 per cent and queue 99.97 per cent since 3 October 2026) and the one incident the vendor wrote up, a slowdown of a little under an hour on 29 September 2026 with a post-mortem on 1 October; the 90-day list itself isn't published, so minor incidents only (20). The docs say there is no hard rate limit, only the monthly quota, so no request-rate numbers (5 for the quota numbers). The Node.js SDK retries 408, 429 and 5xx with backoff and honours Retry-After, and the webhook docs say delivery is at least once and to make handlers idempotent, but document creation has no idempotency key (10). No SLA found in the terms or pricing (0). GA (10). 15 + 20 + 5 + 10 + 0 + 10 = 60."
        },
        "scores": {
          "a": 80,
          "b": 60
        }
      },
      {
        "by": 14,
        "category": "ergonomics",
        "leads": "pdfmonkey",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP docs, re-read on 1 November, list 34 tools, up from 24, adding docs lookup, task cancel, retry and delete, job and task deletion, metadata writing and three webhook tools. That's above 30 and the tools have no toolsets or read-only subset, and the API returns links and status objects with an `include` parameter for the larger parts (6). List endpoints take `per_page` (100 by default, 1,000 at most), `page`, and filters by status, tag, operation and API key (17). Errors carry a `code` and a `message`, validation errors name the field, and failed tasks report codes such as `OPEN_FAILED` and, for AI tasks, `AGENT_DECLINED` and `AI_RATE_LIMIT_EXCEEDED` (15). No idempotency key. Jobs take a `tag`, a retry endpoint creates a new task, only successful conversions are charged, and the docs ask callers not to retry automatically. MCP annotations were not read (8). A job needs three short tasks, and there are official SDKs in six languages and a CLI (15). 6 + 17 + 15 + 8 + 15 = 61.",
          "b": "11 compact MCP tools from a 17 KB tools.ts, and API responses are cards without payload or logs on list and sync endpoints, while a full template fetch is large and the SDK docs warn about it (22). `page[number]`, `q[status]`, `q[document_template_id]`, `q[updated_since]` and `q[search]` on document cards, `q[folders]` on templates and snippets, a `meta` block with pagination, and the CLI's `--json` (18). 401 and 422 bodies name the problem, 403 on an expired download URL is explained, and a quota overrun rejects the create rather than making a draft; the MCP server returns the API's error text (14). No idempotency key on create, so a retried create queues and bills a second document; webhooks are at least once with idempotency guidance; the MCP server sets no readOnlyHint or destructiveHint and `delete_document` is permanent, which the docs leave to the client to confirm (6). Only `document_template_id` and `payload` are needed, and official SDKs exist in two languages (Node.js and Ruby) plus the CLI (15). 22 + 18 + 14 + 6 + 15 = 75."
        },
        "scores": {
          "a": 61,
          "b": 75
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "pdfmonkey",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). The credit cost of each conversion type is published (1, 2 or 4 credits, plus 1 a minute), and the API page says prices start at $0.008 a file at 10,000 files, but the price per credit is drawn by a script and was not read, per the 9 October check, so 15 of 20. Free plan of 10 credits a day with no card (20). A person signs up in a browser to create a key or approve OAuth (0). 0 + 15 + 20 + 0 = 35.",
          "b": "No x402, MPP or L402 (0). Plan prices in euros, per-document pay-as-you-go rates and the Boost Pack price are on the public pricing page and in the docs (20). A Free plan of 20 documents a month and a 30-day Pro trial of 300 documents, no card (20). Signup is a browser flow and the key is minted in the dashboard (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 35,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "CloudConvert (Lunaweb GmbH)",
        "b": "PDFMonkey",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudconvert.com/v2",
        "b": "https://api.pdfmonkey.io/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under CloudConvert's terms of service. The SDKs and the CLI on GitHub are MIT",
        "b": "MIT (MCP server, CLI and SDKs)",
        "name": "Licence"
      },
      {
        "a": "34",
        "b": "11",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.pdfmonkey/pdfmonkey-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-21",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "192 stars, 104k npm/wk",
        "b": "97 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "CloudConvert API scores 63.9 (B) on agent readiness against PDFMonkey's 59.3 (C), and leads in 2 of 7 scored categories. PDFMonkey leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, CloudConvert API or PDFMonkey?"
      },
      {
        "answer": "CloudConvert API takes an API key or an OAuth sign-in. PDFMonkey needs an API key.",
        "question": "Do CloudConvert API and PDFMonkey need an API key?"
      },
      {
        "answer": "Yes. CloudConvert API has a hosted endpoint at https://api.cloudconvert.com/v2 and PDFMonkey at https://api.pdfmonkey.io/api/v1.",
        "question": "Can an agent call CloudConvert API and PDFMonkey without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 60",
          "Security \u0026 auth, 71 against 36"
        ],
        "also": null,
        "goodFor": "An agent that converts between many file formats, merges to PDF, or needs OCR, PDF/A, encryption and page operations in one job, with storage on S3, Azure or Google Cloud.",
        "slug": "cloudconvert",
        "watchFor": "No OpenAPI document and no API changelog were found. The blog has one post since August 2024"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 61",
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 81 against 58"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agents that fill known templates with JSON to produce invoices, reports, forms and images, and teams that want an agent to author templates through the CLI.",
        "slug": "pdfmonkey",
        "watchFor": "One secret key with the whole account's privileges, no scopes and no read-only key"
      }
    ],
    "history": {
      "cloudconvert": [
        {
          "causes": [
            "product",
            "time"
          ],
          "date": "2026-11-01",
          "delta": -2.5,
          "from": 66.4,
          "fromGrade": "B",
          "to": 63.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 66.5,
          "fromGrade": "B",
          "to": 66.4,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 66.4,
          "fromGrade": "B",
          "to": 66.5,
          "toGrade": "B"
        }
      ],
      "pdfmonkey": null
    },
    "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-foxit-pdf-services.json",
        "title": "CloudConvert API vs Foxit PDF Services API",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-foxit-pdf-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi.json",
        "title": "CloudConvert API vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-nutrient-dws-processor.json",
        "title": "CloudConvert API vs Nutrient DWS Processor API",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-nutrient-dws-processor"
      },
      {
        "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/cloudconvert-vs-pdfrest.json",
        "title": "CloudConvert API vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfrest"
      },
      {
        "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/foxit-pdf-services-vs-pdfmonkey.json",
        "title": "Foxit PDF Services API vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfmonkey"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey.json",
        "title": "iLoveAPI vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfmonkey.json",
        "title": "Nutrient DWS Processor API vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfmonkey"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest.json",
        "title": "PDFMonkey vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 20,
        "cloudconvert": 80,
        "edge": "cloudconvert",
        "key": "reliability",
        "name": "Reliability",
        "pdfmonkey": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "cloudconvert": 59,
        "edge": "pdfmonkey",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pdfmonkey": 61,
        "weight": 13
      },
      {
        "by": 14,
        "cloudconvert": 61,
        "edge": "pdfmonkey",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pdfmonkey": 75,
        "weight": 13
      },
      {
        "by": 35,
        "cloudconvert": 71,
        "edge": "cloudconvert",
        "key": "security",
        "name": "Security \u0026 auth",
        "pdfmonkey": 36,
        "weight": 14
      },
      {
        "by": 5,
        "cloudconvert": 35,
        "edge": "pdfmonkey",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pdfmonkey": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "cloudconvert": 58,
        "edge": "pdfmonkey",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pdfmonkey": 81,
        "weight": 7
      },
      {
        "by": 3,
        "cloudconvert": 75,
        "edge": "pdfmonkey",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pdfmonkey": 78,
        "weight": 7
      }
    ],
    "summary": "CloudConvert API scores 63.9 (B) on agent readiness against PDFMonkey's 59.3 (C), and leads in 2 of 7 scored categories. PDFMonkey leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do pdf generate.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "cloudconvert": "API keys and OAuth tokens carry six scopes, the terms promise 99.9 per cent monthly uptime with refunds, and uploaded files are deleted within 24 hours. No OpenAPI document or changelog was found, the per-credit price is drawn by a script, and the MCP server now lists 34 tools with no subsets.",
      "pdfmonkey": "An agent gets 11 compact MCP tools, a scriptable CLI and a sync endpoint, with public euro prices and a free plan. The one account-wide key has no scopes, document creation has no idempotency key, and there is no OpenAPI document, SLA or security disclosure policy."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey",
    "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.min.md"
  },
  "markdown": "CloudConvert API scores 63.9 (B) on agent readiness against PDFMonkey's 59.3 (C), and leads in 2 of 7 scored categories. PDFMonkey leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do pdf generate.\n\n- CloudConvert API: grade B, 63.9/100, rank #445 of 1349. Markdown https://www.anchorterminal.com/tools/cloudconvert.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudconvert.json\n- PDFMonkey: grade C, 59.3/100, rank #637 of 1349. Markdown https://www.anchorterminal.com/tools/pdfmonkey.md · JSON https://www.anchorterminal.com/api/v1/tools/pdfmonkey.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\n## Which one, for what\n\n### CloudConvert API (B)\n\nGood for: An agent that converts between many file formats, merges to PDF, or needs OCR, PDF/A, encryption and page operations in one job, with storage on S3, Azure or Google Cloud.\n\nAhead on:\n- Reliability, 80 against 60\n- Security \u0026 auth, 71 against 36\n\nWatch for: No OpenAPI document and no API changelog were found. The blog has one post since August 2024\n\n### PDFMonkey (C)\n\nGood for: Agents that fill known templates with JSON to produce invoices, reports, forms and images, and teams that want an agent to author templates through the CLI.\n\nAhead on:\n- Agent ergonomics, 75 against 61\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 81 against 58\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: One secret key with the whole account's privileges, no scopes and no read-only key\n\n\n## Why the edge\n\n### Security \u0026 auth: CloudConvert API +35\n\n- CloudConvert API (71): API keys are created with any of six scopes and can be revoked, and OAuth 2.0 issues tokens for third-party clients, though the implicit grant is still supported and no key rotation is documented. Signed URLs carry an HMAC signature, not the key (27). A key limited to `task.read` is read-only, and the MCP server asks for three scopes, one of them `task.write`, plus the two webhook scopes for its webhook tools. No confirmation step for deletes (12). Results come back as download links, and the `metadata` and `capture-website` operations handle untrusted content. The MCP page tells users to connect only the official URL, with no prompt-injection guidance (6). The security page says all access is logged and reviewable by the customer in activity logs, and jobs can be filtered by API key (11). ISO 27001 from TÜV Süd, and a valid security.txt (re-read on 1 November, Expires 2027-05-01) with a disclosure policy and rewards only at CloudConvert's discretion, so no formal bounty. No public advisories and nothing on OSV for the SDK packages. That's above ahasend's 12 (ISO 27001 and a disclosure route, no security.txt) (15). 27 + 12 + 6 + 11 + 15 = 71.\n- PDFMonkey (36): One secret key per account with the whole account's privileges, sent as a Bearer header; it can be rotated with a 2-day overlap and the old key revoked at once, but there are no scopes, no second key and no read-only key (12). No least-privilege mode; the MCP server exposes `delete_document`, the CLI asks before deletions unless `-y`, and the MCP docs say most clients ask before running a delete (6). The tools return the account's own templates, documents and quota, not third-party content (10). Each document carries generation logs and the dashboard shows usage, but no audit log or per-key activity view was found (3). No security.txt (404), no disclosure policy and no bug bounty; the compliance page says there is no SOC 2 or ISO 27001, and sets against that EU hosting, encrypted payloads and a DPA dated 15 October 2026 (5). 12 + 6 + 10 + 3 + 5 = 36.\n\n### Maintenance \u0026 community: PDFMonkey +23\n\n- CloudConvert API (58): cloudconvert-cli 3.0.2 was published to npm on 21 October 2026 and adds an `ai/agent` command for the new AI tasks, which the privacy policy's dated entry of 19 October also records (30). In the 90 days from 3 August, the MCP server launch post (3 September), and Java 1.2.5, Ruby 1.2.0 (both 24 August) and CLI 3.0.2, the package tags counted half, so 2.5. The privacy policy's dated entry of 19 October records a policy text, not a release, and the `ai/agent` launch it describes is already counted through CLI 3.0.2 (0). No changelog. Support is a contact form and email, and dependency pull requests on the Java and CLI repositories were merged on 5 October and 23 October 2026. Issue replies were not read (8 of 15). Six official SDKs, four released in 2026. The Node.js SDK's last tag is still April 2025 (3.0.0) and the Python SDK's March 2022, and the MCP server is not in the official registry, searched on 1 November (12). Every SDK repository has a test workflow (8). 30 + 0 + 8 + 12 + 8 = 58.\n- PDFMonkey (81): Read as a closed service with open-source clients. pdfmonkey-mcp-server 1.0.1 on 26 October 2026, @pdfmonkey/cli 2.1.0 on 15 October and docs pages updated 2 November (30). Node SDK 1.1.0 to 1.4.0 between 2 and 5 October, CLI 2.0.0 and 2.1.0 on 13 and 15 October, MCP 1.0.1 on 26 October (20). Blog posts announce changes, and support answers by in-app chat and email within a few hours in CET business hours per the docs; GitHub issue replies couldn't be read (10 of 15). io.github.pdfmonkey/pdfmonkey-mcp in the official registry, 1.0.1 latest (15). The MCP server has unit tests, a release workflow on tags and a prepublish test step, but no CI on pull requests and a loose `^1.0.4` pin on the MCP SDK (6). 30 + 20 + 10 + 15 + 6 = 81.\n\n### Reliability: CloudConvert API +20\n\n- CloudConvert API (80): Graded as a hosted service. Status page at status.cloudconvert.com (Better Stack) with nine components and 90-day bars (20). The incident list and RSS feed, re-read on 1 November, add one incident since 9 October, \"iWork and Web are down\" on 12 October. iWork recovered within two minutes and Web, the web interface rather than the API, recovered at 11:51 UTC on 13 October. With the EU Central slowdown on 8 October (from about 15:25 to 16:45 UTC), the US East, iWork and EU Central alert on 14 September and the other short incidents since 3 August, each touched one region, one conversion type or one component, so minor incidents only (20). Limits on creating jobs and tasks are described as dynamic, with `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers and a free-plan cap of 5 concurrent tasks. The new `ai/agent` tasks have a fixed 6 requests a minute and 60 an hour, but the main endpoints have no fixed number per plan (8). A 429 carries `Retry-After` in seconds and the docs say CloudConvert retries retryable errors itself. No idempotency key (12). The terms promise 99.9 per cent monthly uptime with refunds on paid plans, re-read on 1 November (10). API v2 is generally available and the MCP server carries no beta label. Only the new `ai/agent` task is marked beta (10). 20 + 20 + 8 + 12 + 10 + 10 = 80.\n- PDFMonkey (60): Read with the hosted lines. status.pdfmonkey.io is an updown.io page with six checks (API, dashboard, preview, website, generation latency, queue size) and one month of rolling uptime per check, but no incident write-ups (15). The readable record is the uptime figures (API 99.98 per cent and queue 99.97 per cent since 3 October 2026) and the one incident the vendor wrote up, a slowdown of a little under an hour on 29 September 2026 with a post-mortem on 1 October; the 90-day list itself isn't published, so minor incidents only (20). The docs say there is no hard rate limit, only the monthly quota, so no request-rate numbers (5 for the quota numbers). The Node.js SDK retries 408, 429 and 5xx with backoff and honours Retry-After, and the webhook docs say delivery is at least once and to make handlers idempotent, but document creation has no idempotency key (10). No SLA found in the terms or pricing (0). GA (10). 15 + 20 + 5 + 10 + 0 + 10 = 60.\n\n### Agent ergonomics: PDFMonkey +14\n\n- CloudConvert API (61): The MCP docs, re-read on 1 November, list 34 tools, up from 24, adding docs lookup, task cancel, retry and delete, job and task deletion, metadata writing and three webhook tools. That's above 30 and the tools have no toolsets or read-only subset, and the API returns links and status objects with an `include` parameter for the larger parts (6). List endpoints take `per_page` (100 by default, 1,000 at most), `page`, and filters by status, tag, operation and API key (17). Errors carry a `code` and a `message`, validation errors name the field, and failed tasks report codes such as `OPEN_FAILED` and, for AI tasks, `AGENT_DECLINED` and `AI_RATE_LIMIT_EXCEEDED` (15). No idempotency key. Jobs take a `tag`, a retry endpoint creates a new task, only successful conversions are charged, and the docs ask callers not to retry automatically. MCP annotations were not read (8). A job needs three short tasks, and there are official SDKs in six languages and a CLI (15). 6 + 17 + 15 + 8 + 15 = 61.\n- PDFMonkey (75): 11 compact MCP tools from a 17 KB tools.ts, and API responses are cards without payload or logs on list and sync endpoints, while a full template fetch is large and the SDK docs warn about it (22). `page[number]`, `q[status]`, `q[document_template_id]`, `q[updated_since]` and `q[search]` on document cards, `q[folders]` on templates and snippets, a `meta` block with pagination, and the CLI's `--json` (18). 401 and 422 bodies name the problem, 403 on an expired download URL is explained, and a quota overrun rejects the create rather than making a draft; the MCP server returns the API's error text (14). No idempotency key on create, so a retried create queues and bills a second document; webhooks are at least once with idempotency guidance; the MCP server sets no readOnlyHint or destructiveHint and `delete_document` is permanent, which the docs leave to the client to confirm (6). Only `document_template_id` and `payload` are needed, and official SDKs exist in two languages (Node.js and Ruby) plus the CLI (15). 22 + 18 + 14 + 6 + 15 = 75.\n\n### Payments \u0026 pricing: PDFMonkey +5\n\n- CloudConvert API (35): No x402, MPP or L402 (0). The credit cost of each conversion type is published (1, 2 or 4 credits, plus 1 a minute), and the API page says prices start at $0.008 a file at 10,000 files, but the price per credit is drawn by a script and was not read, per the 9 October check, so 15 of 20. Free plan of 10 credits a day with no card (20). A person signs up in a browser to create a key or approve OAuth (0). 0 + 15 + 20 + 0 = 35.\n- PDFMonkey (40): No x402, MPP or L402 (0). Plan prices in euros, per-document pay-as-you-go rates and the Boost Pack price are on the public pricing page and in the docs (20). A Free plan of 20 documents a month and a 30-day Pro trial of 300 documents, no card (20). Signup is a browser flow and the key is minted in the dashboard (0). 0 + 20 + 20 + 0 = 40.\n\n## Score by category\n\n| Category | Weight | CloudConvert API | PDFMonkey | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 60 | CloudConvert API +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 59 | 61 | PDFMonkey +2 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 75 | PDFMonkey +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 36 | CloudConvert API +35 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | PDFMonkey +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 58 | 81 | PDFMonkey +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 78 | PDFMonkey +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.9 · B** | **59.3 · C** | |\n\n## Facts side by side\n\n| Fact | CloudConvert API | PDFMonkey |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | CloudConvert (Lunaweb GmbH) | PDFMonkey |\n| Hosted endpoint | `https://api.cloudconvert.com/v2` | `https://api.pdfmonkey.io/api/v1` |\n| Transports | HTTP | stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under CloudConvert's terms of service. The SDKs and the CLI on GitHub are MIT | MIT (MCP server, CLI and SDKs) |\n| Tools exposed | 34 | 11 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.pdfmonkey/pdfmonkey-mcp` |\n| Last release | 2026-10-21 | 2026-10-26 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 192 stars, 104k npm/wk | 97 npm/wk |\n| Agent reviews | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### CloudConvert API\n\n- -2.5 on 1 November 2026: product, time\n- -0.1 on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n\n### PDFMonkey\n\nNo score change since it was listed.\n\n## Verdicts\n\n**CloudConvert API.** API keys and OAuth tokens carry six scopes, the terms promise 99.9 per cent monthly uptime with refunds, and uploaded files are deleted within 24 hours. No OpenAPI document or changelog was found, the per-credit price is drawn by a script, and the MCP server now lists 34 tools with no subsets.\n\n**PDFMonkey.** An agent gets 11 compact MCP tools, a scriptable CLI and a sync endpoint, with public euro prices and a free plan. The one account-wide key has no scopes, document creation has no idempotency key, and there is no OpenAPI document, SLA or security disclosure policy.\n\n## Before you call either\n\n### CloudConvert API\n\n1. Build each job from an import task, one or more processing tasks and an `export/url` task, then read the download links from the export task's `result.files`\n2. Call `GET /v2/operations` with `include=options` to find the options a format pair accepts before creating a `convert` task\n3. Do not retry a failed task automatically. CloudConvert retries retryable errors itself, and a retry endpoint creates a new task\n4. Download output within 24 hours. Tasks, files and export URLs are deleted after that\n5. Use `https://sandbox.api.cloudconvert.com/v2` for tests. It consumes no credits and accepts only a fixed set of approved test files\n6. Turn off the AI log in the dashboard's AI settings before sending prompts or file names that shouldn't be kept for 180 days\n\n### PDFMonkey\n\n1. Use `POST /api/v1/documents/sync` or the MCP `generate_document` tool for one document; for batches create with `status: pending` and poll `document_cards` or take the webhook\n2. Fetch the template first (`get_template` or `pdfmonkey template get --json`) to learn the payload shape; a mismatched payload generates a blank or wrong document, not an error\n3. Download within the hour; `download_url` returns 403 after 60 minutes, and fetching the document again gives a fresh link\n4. Do not retry a create on a timeout without checking `list_documents` first; there is no idempotency key and each generation counts against the quota\n5. Expect a 422 with field names when a required field is missing, and a rejected create at 100 per cent of the monthly quota unless pay-as-you-go is on\n\n## Questions\n\n### Which is better for AI agents, CloudConvert API or PDFMonkey?\n\nCloudConvert API scores 63.9 (B) on agent readiness against PDFMonkey's 59.3 (C), and leads in 2 of 7 scored categories. PDFMonkey leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do CloudConvert API and PDFMonkey need an API key?\n\nCloudConvert API takes an API key or an OAuth sign-in. PDFMonkey needs an API key.\n\n### Can an agent call CloudConvert API and PDFMonkey without installing anything?\n\nYes. CloudConvert API has a hosted endpoint at https://api.cloudconvert.com/v2 and PDFMonkey at https://api.pdfmonkey.io/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudconvert\", \"b\": \"pdfmonkey\"}`. From a terminal: `anchor compare cloudconvert pdfmonkey`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudconvert.json and https://www.anchorterminal.com/api/v1/tools/pdfmonkey.json\n\n## Other comparisons with CloudConvert API or PDFMonkey\n\n- [CloudConvert API vs DocRaptor](https://www.anchorterminal.com/compare/cloudconvert-vs-docraptor.md)\n- [CloudConvert API vs Foxit PDF Services API](https://www.anchorterminal.com/compare/cloudconvert-vs-foxit-pdf-services.md)\n- [CloudConvert API vs iLoveAPI](https://www.anchorterminal.com/compare/cloudconvert-vs-iloveapi.md)\n- [CloudConvert API vs Nutrient DWS Processor API](https://www.anchorterminal.com/compare/cloudconvert-vs-nutrient-dws-processor.md)\n- [CloudConvert API vs PDF.co API + MCP](https://www.anchorterminal.com/compare/cloudconvert-vs-pdf-co.md)\n- [CloudConvert API vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/cloudconvert-vs-pdfrest.md)\n- [DocRaptor vs PDFMonkey](https://www.anchorterminal.com/compare/docraptor-vs-pdfmonkey.md)\n- [Foxit PDF Services API vs PDFMonkey](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfmonkey.md)\n- [iLoveAPI vs PDFMonkey](https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey.md)\n- [Nutrient DWS Processor API vs PDFMonkey](https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfmonkey.md)\n- [PDF.co API + MCP vs PDFMonkey](https://www.anchorterminal.com/compare/pdf-co-vs-pdfmonkey.md)\n- [PDFMonkey vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest.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": "CloudConvert API vs PDFMonkey",
        "url": ""
      }
    ],
    "description": "CloudConvert scores 63.9 (B) to PDFMonkey's 59.3 (C) for pdf generate. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "CloudConvert API B 63.9",
      "PDFMonkey C 59.3",
      "scores"
    ],
    "h1": "CloudConvert API vs PDFMonkey",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/cloudconvert-vs-pdfmonkey",
    "published": "2026-10-01",
    "section": "tools",
    "title": "CloudConvert vs PDFMonkey for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 3080
  },
  "version": 1
}
