{
  "data": {
    "a": {
      "slug": "convertapi",
      "name": "ConvertAPI",
      "vendor": "ConvertAPI, UAB",
      "vendorUrl": "https://www.convertapi.com",
      "kind": "http-api",
      "category": "pdf-tools",
      "summary": "ConvertAPI is a REST API from ConvertAPI, UAB in Lithuania for file conversion and PDF work, with 300+ converters across Office, PDF, image, HTML and email formats, SDKs in nine languages and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/convertapi",
      "markdownUrl": "https://www.anchorterminal.com/tools/convertapi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/convertapi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/convertapi.json",
      "dns": "convertapi.grade.anchorterminal.com",
      "repo": "https://github.com/ConvertAPI",
      "license": "Proprietary service. SDKs on GitHub; the npm SDK is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.convertapi.io",
      "packages": [
        {
          "registry": "npm",
          "name": "convertapi"
        },
        {
          "registry": "pypi",
          "name": "convertapi"
        }
      ],
      "auth": "mixed",
      "authNotes": "API tokens in `Authorization: Bearer`, separated by environment (Production or Development) with usage limits. JWTs with expiry and IP restriction, minted by `POST /token/jwt` or self-signed with HS256. One Master Token per account for admin endpoints, refreshable at once. The hosted MCP server signs in with OAuth. A `Token` query parameter is documented for links, with legacy `Secret` and `Auth` aliases.",
      "pricing": "paid",
      "pricingNotes": "Free trial of 250 conversions with no card, per llms.txt. Plans by conversion count (Developer 1,000 a month, Startup 5,000, Growth 15,000, Business 50,000, Enterprise 100K+), two months free yearly, overage billed per conversion. The pricing page draws prices by script and they were not readable on 6 November 2026 (https://www.convertapi.com/prices, https://www.convertapi.com/llms.txt).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs read or the OpenAPI document (checked 2026-11-06). Payments go through Paddle.",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 177344,
        "pypiWeekly": 81556,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.convertapi.com/docs",
      "llmsTxt": "https://www.convertapi.com/llms.txt",
      "openapi": "https://v2.convertapi.com/info/openapi",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.extract",
        "pdf.generate",
        "docs.ocr"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "oauth",
        "python",
        "typescript",
        "java",
        "dotnet",
        "php",
        "ruby",
        "go",
        "no-card",
        "free-trial",
        "iso27001",
        "soc2",
        "hipaa",
        "eu-region",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64,
        "grade": "B",
        "agentReady": false,
        "rank": 490,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 25,
          "reliability": 54,
          "schema": 92,
          "security": 55,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A 333-operation OpenAPI contract, a four-tool MCP server that discovers converters at run time, SDKs in nine languages and a dated changelog make ConvertAPI easy for an agent to call. Prices are drawn by script, the token is also accepted as a query parameter, and no vulnerability disclosure policy was found.",
        "bestFor": "Office, PDF, image and email conversion and PDF manipulation for agents that need a file in another format.",
        "strengths": [
          "OpenAPI 3.0.4 at v2.convertapi.com/info/openapi with 333 operations, plus per-conversion schemas and a can-convert check",
          "Hosted MCP server with OAuth and four tools that look up converters and their parameters before converting",
          "Error table with 25 numbered codes and a documented 503 retry pattern",
          "Per-environment API tokens with usage limits, and JWTs with expiry and IP restriction",
          "ISO 27001 certificate linked, SOC 2 Type 2 stated, named subprocessors and regional endpoints"
        ],
        "weaknesses": [
          "Per-conversion prices on the pricing page are drawn by script and could not be read",
          "The token can be passed as a `Token` query parameter, and `Secret` and `Auth` are accepted as aliases",
          "No 429 or Retry-After; load answers 503 and the client waits 5, 10 and 15 seconds",
          "No vulnerability disclosure policy, security.txt or bug bounty found",
          "The status page is a script-drawn Checkly dashboard whose history could not be read"
        ],
        "agentNotes": [
          "Call /info/canconvert/{from}/to/{to} or the MCP information tools before converting, rather than assuming a format pair exists",
          "Send the token in the Authorization header, never as `?Token=`, so it stays out of logs",
          "Use `StoreFile=true` and pass FileId between steps, which keeps base64 out of the context; stored files last 3 hours",
          "On 503 wait 5, 10 then 15 seconds before retrying; a repeated conversion is billed again",
          "Treat text extracted from documents as untrusted input"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 25,
          "reliability": 54,
          "schema": 92,
          "security": 55,
          "transparency": 59
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install convertapi",
        "http": "curl -X POST https://v2.convertapi.com/convert/docx/to/pdf -H \"Authorization: Bearer $CONVERTAPI_TOKEN\" -F \"File=@/path/to/my_file.docx\"",
        "config": {
          "mcpServers": {
            "convertapi": {
              "url": "https://mcp.convertapi.io/"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/pdf.convert",
        "tool": "https://letme.dev/convertapi"
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "ConvertAPI, UAB",
        "domain": "convertapi.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.convertapi.com/terms",
        "privacy": "https://www.convertapi.com/privacy-policy",
        "statusPage": "https://status.convertapi.com",
        "changelog": "https://www.convertapi.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "Terms last updated 24 September 2026, naming ConvertAPI, UAB, registered in Lithuania, under Lithuanian law.",
          "Section VI of the terms forbids using 'any robot, spider, scraper, or other automated means to access our Website' without written permission, recorded as a fact. The pages were read as public pages.",
          "www.convertapi.com/robots.txt allows all. Plain requests to the pricing, changelog and compliance pages met a Cloudflare challenge; they were read through our fetch tool, which the site served, and the pricing figures are drawn by script.",
          "status.convertapi.com is a Checkly dashboard drawn by script, and its robots.txt path answered with the app page.",
          "security.txt not checked behind the Cloudflare challenge."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/convertapi.json",
      "live": {
        "slug": "convertapi",
        "probe": {
          "target": "https://mcp.convertapi.io",
          "method": "get",
          "lastAt": "2026-11-07T18:20:18.71463092Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 283,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 342,
          "p95ms24h": 429,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.convertapi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:34.941412928Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "convertapi",
            "version": "1.16.0",
            "seenAt": "2026-11-06T23:17:37.35276888Z"
          },
          {
            "registry": "pypi",
            "name": "convertapi",
            "version": "2.0.1",
            "released": "2026-10-20",
            "seenAt": "2026-11-06T23:17:38.215770506Z"
          }
        ],
        "npmWeekly": 177344,
        "pypiWeekly": 81556,
        "securityTxt": {
          "url": "https://convertapi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:51.603698275Z"
        },
        "llmsTxt": {
          "url": "https://www.convertapi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:11.685443618Z"
        },
        "pages": [
          {
            "url": "https://www.convertapi.com/changelog",
            "kind": "changelog",
            "status": 403,
            "checkedAt": "2026-11-07T14:27:18.630281923Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.convertapi.com/prices",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-11-07T14:27:20.737622641Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.convertapi.com/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-11-07T14:27:22.78995525Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.convertapi.com/terms",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-11-07T14:27:24.718729715Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.convertapi.io/",
          "checkedAt": "2026-11-07T01:43:26.74047423Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:26.74047423Z"
        },
        "updatedAt": "2026-11-07T18:20:18.71463092Z"
      }
    },
    "answer": "ConvertAPI scores 64 (B) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in every scored category.",
    "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": 1345,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:20:46.162079414Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 471,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 454,
          "p95ms24h": 549,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "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": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "pdfdotco/pdfco-mcp",
            "version": "0.0.11",
            "released": "2026-10-22",
            "seenAt": "2026-11-06T23:55:00.174785085Z"
          },
          {
            "registry": "pypi",
            "name": "pdfco-mcp",
            "version": "0.0.11",
            "released": "2026-10-22",
            "seenAt": "2026-11-06T23:54:59.954499107Z"
          }
        ],
        "githubStars": 9,
        "pypiWeekly": 63,
        "securityTxt": {
          "url": "https://pdf.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:01.854115082Z"
        },
        "llmsTxt": {
          "url": "https://developer.pdf.co/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:36.186645558Z"
        },
        "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-07T14:03:16.948072641Z",
            "changedAt": "2026-11-05T12:27:33.825236491Z",
            "fingerprint": "bb1f41fa77c4"
          },
          {
            "url": "https://pdf.co/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:11.336720726Z",
            "changedAt": "2026-11-06T13:37:50.466752844Z",
            "fingerprint": "351f24ad933c"
          },
          {
            "url": "https://pdf.co/resources/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:13.567387785Z",
            "changedAt": "2026-11-06T13:37:52.664231094Z",
            "fingerprint": "6336f361f0bc"
          },
          {
            "url": "https://pdf.co/resources/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:15.55838254Z",
            "changedAt": "2026-11-06T13:37:54.751973271Z",
            "fingerprint": "1c0b47d48e49"
          }
        ],
        "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-07T18:20:46.162079414Z"
      }
    },
    "edges": [
      {
        "by": 46,
        "category": "maintenance",
        "leads": "convertapi",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Closed service. Newest changelog entry 5 November 2026 (30). Twelve dated entries from 1 October to 5 November (20). Public changelog, support email, phone and form, and SDK repositories on GitHub; issue replies not sampled (10 of 15). Current official SDKs, npm 1.16.0 on 26 October and PyPI 2.0.1 on 20 October 2026 (15). The MCP repository's last commit is 12 May 2026 and has no LICENSE file though its README says MIT; SDK CI not checked (5 of 10). 30+20+10+15+5 = 80.",
          "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": 80,
          "b": 34
        }
      },
      {
        "by": 34,
        "category": "reliability",
        "leads": "convertapi",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines. status.convertapi.com is a Checkly dashboard drawn by script, so its components were not confirmed (10 of 20) and no history could be read (5). Concurrency per plan is published (1 to 4 concurrent conversions), with no request-rate figure (12 of 15). Under load the API answers 503 and llms.txt gives a 5, 10 and 15 second retry pattern; no 429, Retry-After or idempotency key (12 of 15). The compliance page states '99,95% monthly uptime' and says the SLA sits in the terms, but the terms read on 6 November state no uptime figure (5 of 10). Generally available (10). 10+5+12+12+5+10 = 54.",
          "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": 54,
          "b": 20
        }
      },
      {
        "by": 32,
        "category": "security",
        "leads": "convertapi",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Tokens per environment with usage limits, JWTs with expiry and IP restriction, a separate Master Token for admin endpoints, OAuth on the hosted MCP (30), less 10 for the documented `Token` query parameter and its `Secret` and `Auth` aliases (20 of 30). Usage limits per token, but no read-only token, and stored files can be deleted (8 of 20). Extracted text and OCR output come from the documents, with no prompt-injection guidance (3 of 15). Usage statistics and per-environment consumption through the Master Token (10 of 15). ISO 27001 certificate linked, SOC 2 Type 2 stated with the report on request, cyber insurance; no disclosure policy, security.txt or bug bounty found (14 of 20). 20+8+3+10+14 = 55.",
          "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": 55,
          "b": 23
        }
      },
      {
        "by": 30,
        "category": "ergonomics",
        "leads": "convertapi",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Four MCP tools that list, search and describe converters before one convert tool (25). `StoreFile=true` returns a URL and FileId instead of base64, and converters can be filtered by tag or search; nothing to paginate (14 of 20). Numbered codes such as 4014 balance exhausted and 5003 password protected an agent can act on (17 of 20). No idempotency key; a repeated conversion is billed again, and MCP tool annotations weren't found (8 of 20). SDKs in nine languages and a CLI, with one required file parameter on most converters (15). 25+14+17+8+15 = 79.",
          "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": 79,
          "b": 49
        }
      },
      {
        "by": 18,
        "category": "schema",
        "leads": "convertapi",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0.4 at v2.convertapi.com/info/openapi, 333 operations with token, JWT and secret schemes, plus per-conversion documents and wildcard listings (25). A long llms.txt written for agents (10). llms.txt tells agents to discover conversions rather than assume them and explains workflows and storage; converter pages describe each parameter (16 of 20). Per-converter parameter schemas in the OpenAPI document, validated by the MCP convert tool (12 of 15). 25 numbered error codes with meanings and examples throughout (14 of 15). v2 API and a dated public changelog (15). 25+10+16+12+14+15 = 92.",
          "b": "OpenAPI 3.0.1 at developer.pdf.co/openapi.json, header-only `x-api-key` scheme, and the 38 MCP tools carry typed JSON Schema from Pydantic (25). llms.txt and Markdown twins of every docs page (10). Tool docstrings state purpose and link the endpoint reference, and the URL field tells the model to use `upload_file` for local files, but none says when not to use a tool (10). No enums anywhere, since the server dropped `Literal` types for Gemini compatibility in May 2025. Page ranges, paper sizes and `line_grouping` are free strings, and the annotation and field arrays are `List[Any]` (6). The OpenAPI document describes errors 400, 401, 402, 403, 429 and 441 to 454 with a structured body, and every endpoint has samples (13). A monthly API changelog, but its last entry is June 2026, and the MCP server has tags and no changelog (10)."
        },
        "scores": {
          "a": 92,
          "b": 74
        }
      },
      {
        "by": 12,
        "category": "transparency",
        "leads": "convertapi",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with terms dated 24 September 2026 naming ConvertAPI, UAB under Lithuanian law (15 of 30). Files are stored at most 3 hours or converted in memory per the compliance page, and a DPA and BAA are published, but llms.txt also says files are 'deleted immediately after processing by default', and the terms give no periods (20 of 30). The changelog dates changes, including the removal of the AiMode parameter on 22 October 2026 with no prior notice found, and the docs mark the secret as deprecated with no date; no deprecation policy (6 of 20). Subprocessors named with roles and regional endpoints listed (18 of 20). 15+20+6+18 = 59.",
          "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": 65,
          "b": 53
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ConvertAPI, UAB",
        "b": "PDF.co (Artifex Software)",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.convertapi.io",
        "b": "https://api.pdf.co/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. SDKs on GitHub; the npm SDK is MIT",
        "b": "MIT (MCP server)",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "38",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-07-28",
        "name": "Last release"
      },
      {
        "a": "2026-09-24",
        "b": "2026-03-24",
        "name": "Terms last updated"
      },
      {
        "a": "2026-11-05",
        "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": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "177k npm/wk, 82k PyPI/wk",
        "b": "9 stars, 20 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ConvertAPI scores 64 (B) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, ConvertAPI or PDF.co API + MCP?"
      },
      {
        "answer": "ConvertAPI takes an API key or an OAuth sign-in. PDF.co API + MCP needs an API key.",
        "question": "Do ConvertAPI and PDF.co API + MCP need an API key?"
      },
      {
        "answer": "Yes. ConvertAPI has a hosted endpoint at https://mcp.convertapi.io and PDF.co API + MCP at https://api.pdf.co/v1.",
        "question": "Can an agent call ConvertAPI and PDF.co API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 54 against 20",
          "Schema \u0026 documentation, 92 against 74",
          "Agent ergonomics, 79 against 49",
          "Security \u0026 auth, 55 against 23",
          "Payments \u0026 pricing, 25 against 20",
          "Maintenance \u0026 community, 80 against 34",
          "Transparency \u0026 trust, 65 against 53"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Office, PDF, image and email conversion and PDF manipulation for agents that need a file in another format.",
        "slug": "convertapi",
        "watchFor": "Per-conversion prices on the pricing page are drawn by script and could not be read"
      },
      {
        "aheadOn": null,
        "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": {
      "convertapi": 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.convert",
      "name": "PDF conversion"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudconvert-vs-convertapi.json",
        "title": "CloudConvert API vs ConvertAPI",
        "url": "https://www.anchorterminal.com/compare/cloudconvert-vs-convertapi"
      },
      {
        "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/convertapi-vs-docraptor.json",
        "title": "ConvertAPI vs DocRaptor",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-docraptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convertapi-vs-foxit-pdf-services.json",
        "title": "ConvertAPI vs Foxit PDF Services API",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-foxit-pdf-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convertapi-vs-iloveapi.json",
        "title": "ConvertAPI vs iLoveAPI",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-iloveapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convertapi-vs-nutrient-dws-processor.json",
        "title": "ConvertAPI vs Nutrient DWS Processor API",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-nutrient-dws-processor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convertapi-vs-pdfrest.json",
        "title": "ConvertAPI vs pdfRest API Toolkit",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-pdfrest"
      },
      {
        "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/convertapi-vs-pdfmonkey.json",
        "title": "ConvertAPI vs PDFMonkey",
        "url": "https://www.anchorterminal.com/compare/convertapi-vs-pdfmonkey"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.json",
        "title": "DocRaptor vs PDF.co API + MCP",
        "url": "https://www.anchorterminal.com/compare/docraptor-vs-pdf-co"
      },
      {
        "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": 34,
        "convertapi": 54,
        "edge": "convertapi",
        "key": "reliability",
        "name": "Reliability",
        "pdf-co": 20,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "convertapi": 92,
        "edge": "convertapi",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pdf-co": 74,
        "weight": 13
      },
      {
        "by": 30,
        "convertapi": 79,
        "edge": "convertapi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pdf-co": 49,
        "weight": 13
      },
      {
        "by": 32,
        "convertapi": 55,
        "edge": "convertapi",
        "key": "security",
        "name": "Security \u0026 auth",
        "pdf-co": 23,
        "weight": 14
      },
      {
        "by": 5,
        "convertapi": 25,
        "edge": "convertapi",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pdf-co": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 46,
        "convertapi": 80,
        "edge": "convertapi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pdf-co": 34,
        "weight": 7
      },
      {
        "by": 12,
        "convertapi": 65,
        "edge": "convertapi",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pdf-co": 53,
        "weight": 7
      }
    ],
    "summary": "ConvertAPI scores 64 (B) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in every scored category. Both do pdf conversion.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "convertapi": "A 333-operation OpenAPI contract, a four-tool MCP server that discovers converters at run time, SDKs in nine languages and a dated changelog make ConvertAPI easy for an agent to call. Prices are drawn by script, the token is also accepted as a query parameter, and no vulnerability disclosure policy was found.",
      "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/convertapi-vs-pdf-co",
    "json": "https://www.anchorterminal.com/compare/convertapi-vs-pdf-co.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/convertapi-vs-pdf-co.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/convertapi-vs-pdf-co.min.md"
  },
  "markdown": "ConvertAPI scores 64 (B) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in every scored category. Both do pdf conversion.\n\n- ConvertAPI: grade B, 64/100, rank #490 of 1486. Markdown https://www.anchorterminal.com/tools/convertapi.md · JSON https://www.anchorterminal.com/api/v1/tools/convertapi.json\n- PDF.co API + MCP: grade E, 38.1/100, rank #1345 of 1486. 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 53 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 182 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md\n\n## Which one, for what\n\n### ConvertAPI (B)\n\nGood for: Office, PDF, image and email conversion and PDF manipulation for agents that need a file in another format.\n\nAhead on:\n- Reliability, 54 against 20\n- Schema \u0026 documentation, 92 against 74\n- Agent ergonomics, 79 against 49\n- Security \u0026 auth, 55 against 23\n- Payments \u0026 pricing, 25 against 20\n- Maintenance \u0026 community, 80 against 34\n- Transparency \u0026 trust, 65 against 53\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Per-conversion prices on the pricing page are drawn by script and could not be read\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\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### Maintenance \u0026 community: ConvertAPI +46\n\n- ConvertAPI (80): Closed service. Newest changelog entry 5 November 2026 (30). Twelve dated entries from 1 October to 5 November (20). Public changelog, support email, phone and form, and SDK repositories on GitHub; issue replies not sampled (10 of 15). Current official SDKs, npm 1.16.0 on 26 October and PyPI 2.0.1 on 20 October 2026 (15). The MCP repository's last commit is 12 May 2026 and has no LICENSE file though its README says MIT; SDK CI not checked (5 of 10). 30+20+10+15+5 = 80.\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### Reliability: ConvertAPI +34\n\n- ConvertAPI (54): Hosted lines. status.convertapi.com is a Checkly dashboard drawn by script, so its components were not confirmed (10 of 20) and no history could be read (5). Concurrency per plan is published (1 to 4 concurrent conversions), with no request-rate figure (12 of 15). Under load the API answers 503 and llms.txt gives a 5, 10 and 15 second retry pattern; no 429, Retry-After or idempotency key (12 of 15). The compliance page states '99,95% monthly uptime' and says the SLA sits in the terms, but the terms read on 6 November state no uptime figure (5 of 10). Generally available (10). 10+5+12+12+5+10 = 54.\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: ConvertAPI +32\n\n- ConvertAPI (55): Tokens per environment with usage limits, JWTs with expiry and IP restriction, a separate Master Token for admin endpoints, OAuth on the hosted MCP (30), less 10 for the documented `Token` query parameter and its `Secret` and `Auth` aliases (20 of 30). Usage limits per token, but no read-only token, and stored files can be deleted (8 of 20). Extracted text and OCR output come from the documents, with no prompt-injection guidance (3 of 15). Usage statistics and per-environment consumption through the Master Token (10 of 15). ISO 27001 certificate linked, SOC 2 Type 2 stated with the report on request, cyber insurance; no disclosure policy, security.txt or bug bounty found (14 of 20). 20+8+3+10+14 = 55.\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### Agent ergonomics: ConvertAPI +30\n\n- ConvertAPI (79): Four MCP tools that list, search and describe converters before one convert tool (25). `StoreFile=true` returns a URL and FileId instead of base64, and converters can be filtered by tag or search; nothing to paginate (14 of 20). Numbered codes such as 4014 balance exhausted and 5003 password protected an agent can act on (17 of 20). No idempotency key; a repeated conversion is billed again, and MCP tool annotations weren't found (8 of 20). SDKs in nine languages and a CLI, with one required file parameter on most converters (15). 25+14+17+8+15 = 79.\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### Schema \u0026 documentation: ConvertAPI +18\n\n- ConvertAPI (92): OpenAPI 3.0.4 at v2.convertapi.com/info/openapi, 333 operations with token, JWT and secret schemes, plus per-conversion documents and wildcard listings (25). A long llms.txt written for agents (10). llms.txt tells agents to discover conversions rather than assume them and explains workflows and storage; converter pages describe each parameter (16 of 20). Per-converter parameter schemas in the OpenAPI document, validated by the MCP convert tool (12 of 15). 25 numbered error codes with meanings and examples throughout (14 of 15). v2 API and a dated public changelog (15). 25+10+16+12+14+15 = 92.\n- PDF.co API + MCP (74): OpenAPI 3.0.1 at developer.pdf.co/openapi.json, header-only `x-api-key` scheme, and the 38 MCP tools carry typed JSON Schema from Pydantic (25). llms.txt and Markdown twins of every docs page (10). Tool docstrings state purpose and link the endpoint reference, and the URL field tells the model to use `upload_file` for local files, but none says when not to use a tool (10). No enums anywhere, since the server dropped `Literal` types for Gemini compatibility in May 2025. Page ranges, paper sizes and `line_grouping` are free strings, and the annotation and field arrays are `List[Any]` (6). The OpenAPI document describes errors 400, 401, 402, 403, 429 and 441 to 454 with a structured body, and every endpoint has samples (13). A monthly API changelog, but its last entry is June 2026, and the MCP server has tags and no changelog (10).\n\n### Transparency \u0026 trust: ConvertAPI +12\n\n- ConvertAPI (65): Closed service with terms dated 24 September 2026 naming ConvertAPI, UAB under Lithuanian law (15 of 30). Files are stored at most 3 hours or converted in memory per the compliance page, and a DPA and BAA are published, but llms.txt also says files are 'deleted immediately after processing by default', and the terms give no periods (20 of 30). The changelog dates changes, including the removal of the AiMode parameter on 22 October 2026 with no prior notice found, and the docs mark the secret as deprecated with no date; no deprecation policy (6 of 20). Subprocessors named with roles and regional endpoints listed (18 of 20). 15+20+6+18 = 59.\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## Score by category\n\n| Category | Weight | ConvertAPI | PDF.co API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 54 | 20 | ConvertAPI +34 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 74 | ConvertAPI +18 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 49 | ConvertAPI +30 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 23 | ConvertAPI +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 20 | ConvertAPI +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 34 | ConvertAPI +46 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 53 | ConvertAPI +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **64 · B** | **38.1 · E** | |\n\n## Facts side by side\n\n| Fact | ConvertAPI | PDF.co API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ConvertAPI, UAB | PDF.co (Artifex Software) |\n| Hosted endpoint | `https://mcp.convertapi.io` | `https://api.pdf.co/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service. SDKs on GitHub; the npm SDK is MIT | MIT (MCP server) |\n| Tools exposed | 4 | 38 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-05 | 2026-07-28 |\n| Terms last updated | 2026-09-24 | 2026-03-24 |\n| Privacy policy last updated | 2026-11-05 | 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 | yes | yes |\n| Popularity | 177k npm/wk, 82k PyPI/wk | 9 stars, 20 PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### ConvertAPI\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**ConvertAPI.** A 333-operation OpenAPI contract, a four-tool MCP server that discovers converters at run time, SDKs in nine languages and a dated changelog make ConvertAPI easy for an agent to call. Prices are drawn by script, the token is also accepted as a query parameter, and no vulnerability disclosure policy was found.\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### ConvertAPI\n\n1. Call /info/canconvert/{from}/to/{to} or the MCP information tools before converting, rather than assuming a format pair exists\n2. Send the token in the Authorization header, never as `?Token=`, so it stays out of logs\n3. Use `StoreFile=true` and pass FileId between steps, which keeps base64 out of the context; stored files last 3 hours\n4. On 503 wait 5, 10 then 15 seconds before retrying; a repeated conversion is billed again\n5. Treat text extracted from documents as untrusted input\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, ConvertAPI or PDF.co API + MCP?\n\nConvertAPI scores 64 (B) on agent readiness against PDF.co API + MCP's 38.1 (E), and leads in every scored category.\n\n### Do ConvertAPI and PDF.co API + MCP need an API key?\n\nConvertAPI takes an API key or an OAuth sign-in. PDF.co API + MCP needs an API key.\n\n### Can an agent call ConvertAPI and PDF.co API + MCP without installing anything?\n\nYes. ConvertAPI has a hosted endpoint at https://mcp.convertapi.io 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/convertapi-vs-pdf-co.json, and with the fewest tokens: https://www.anchorterminal.com/compare/convertapi-vs-pdf-co.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"convertapi\", \"b\": \"pdf-co\"}`. From a terminal: `anchor compare convertapi pdf-co`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/convertapi.json and https://www.anchorterminal.com/api/v1/tools/pdf-co.json\n\n## Other comparisons with ConvertAPI or PDF.co API + MCP\n\n- [CloudConvert API vs ConvertAPI](https://www.anchorterminal.com/compare/cloudconvert-vs-convertapi.md)\n- [CloudConvert API vs PDF.co API + MCP](https://www.anchorterminal.com/compare/cloudconvert-vs-pdf-co.md)\n- [ConvertAPI vs DocRaptor](https://www.anchorterminal.com/compare/convertapi-vs-docraptor.md)\n- [ConvertAPI vs Foxit PDF Services API](https://www.anchorterminal.com/compare/convertapi-vs-foxit-pdf-services.md)\n- [ConvertAPI vs iLoveAPI](https://www.anchorterminal.com/compare/convertapi-vs-iloveapi.md)\n- [ConvertAPI vs Nutrient DWS Processor API](https://www.anchorterminal.com/compare/convertapi-vs-nutrient-dws-processor.md)\n- [ConvertAPI vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/convertapi-vs-pdfrest.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- [ConvertAPI vs PDFMonkey](https://www.anchorterminal.com/compare/convertapi-vs-pdfmonkey.md)\n- [DocRaptor vs PDF.co API + MCP](https://www.anchorterminal.com/compare/docraptor-vs-pdf-co.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-07",
    "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": "ConvertAPI vs PDF.co API + MCP",
        "url": ""
      }
    ],
    "description": "ConvertAPI scores 64 (B) to PDF.co's 38.1 (E) for pdf conversion. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ConvertAPI B 64",
      "PDF.co API + MCP E 38.1",
      "scores"
    ],
    "h1": "ConvertAPI vs PDF.co API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/convertapi-vs-pdf-co",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ConvertAPI vs PDF.co for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/convertapi-vs-pdf-co"
  },
  "tokens": {
    "markdown": 4300,
    "slim": 2730
  },
  "version": 1
}
