{
  "data": {
    "category": {
      "area": "web-data",
      "capabilities": [
        "pdf.convert",
        "pdf.merge",
        "pdf.forms",
        "pdf.generate",
        "pdf.extract"
      ],
      "description": "APIs that merge, split, convert, fill, sign-ready and generate PDFs. Scored apart from structured extraction, because changing a PDF and reading one are different jobs.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/1102tools-acquisition-gov-mcp.json",
          "kind": "mcp",
          "name": "Acquisition.gov",
          "slug": "1102tools-acquisition-gov-mcp",
          "url": "https://www.anchorterminal.com/tools/1102tools-acquisition-gov-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aimetadatacleaner-metadata-cleaner.json",
          "kind": "mcp",
          "name": "AI Metadata Cleaner",
          "slug": "aimetadatacleaner-metadata-cleaner",
          "url": "https://www.anchorterminal.com/tools/aimetadatacleaner-metadata-cleaner"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/thrain-blackout.json",
          "kind": "mcp",
          "name": "blackout",
          "slug": "thrain-blackout",
          "url": "https://www.anchorterminal.com/tools/thrain-blackout"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/canvora.json",
          "kind": "mcp",
          "name": "Canvora",
          "slug": "canvora",
          "url": "https://www.anchorterminal.com/tools/canvora"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/carbone-mcp.json",
          "kind": "mcp",
          "name": "Carbone MCP",
          "slug": "carbone-mcp",
          "url": "https://www.anchorterminal.com/tools/carbone-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/convertica-mcp.json",
          "kind": "mcp",
          "name": "convertica.net MCP server",
          "slug": "convertica-mcp",
          "url": "https://www.anchorterminal.com/tools/convertica-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docmake-mcp.json",
          "kind": "mcp",
          "name": "DocMake",
          "slug": "docmake-mcp",
          "url": "https://www.anchorterminal.com/tools/docmake-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docmill-mcp-server.json",
          "kind": "mcp",
          "name": "docmill.io MCP server",
          "slug": "docmill-mcp-server",
          "url": "https://www.anchorterminal.com/tools/docmill-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/dropto-drop2run.json",
          "kind": "mcp",
          "name": "Drop2Run",
          "slug": "dropto-drop2run",
          "url": "https://www.anchorterminal.com/tools/dropto-drop2run"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/everypage-mcp.json",
          "kind": "mcp",
          "name": "EveryPage",
          "slug": "everypage-mcp",
          "url": "https://www.anchorterminal.com/tools/everypage-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/exactpdf-mcp.json",
          "kind": "mcp",
          "name": "ExactPDF",
          "slug": "exactpdf-mcp",
          "url": "https://www.anchorterminal.com/tools/exactpdf-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/file2markdown.json",
          "kind": "mcp",
          "name": "file2markdown",
          "slug": "file2markdown",
          "url": "https://www.anchorterminal.com/tools/file2markdown"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/filetopdf-mcp.json",
          "kind": "mcp",
          "name": "FileToPDF",
          "slug": "filetopdf-mcp",
          "url": "https://www.anchorterminal.com/tools/filetopdf-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/formatika-mcp.json",
          "kind": "mcp",
          "name": "formatika.app MCP server",
          "slug": "formatika-mcp",
          "url": "https://www.anchorterminal.com/tools/formatika-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hiddencontent-mcp.json",
          "kind": "mcp",
          "name": "HiddenContent",
          "slug": "hiddencontent-mcp",
          "url": "https://www.anchorterminal.com/tools/hiddencontent-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hushvert-mcp.json",
          "kind": "mcp",
          "name": "hushvert.com MCP server",
          "slug": "hushvert-mcp",
          "url": "https://www.anchorterminal.com/tools/hushvert-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kdandoc-kdan-pdf-mcp.json",
          "kind": "mcp",
          "name": "KDAN PDF",
          "slug": "kdandoc-kdan-pdf-mcp",
          "url": "https://www.anchorterminal.com/tools/kdandoc-kdan-pdf-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/yaktool-labels.json",
          "kind": "mcp",
          "name": "labels",
          "slug": "yaktool-labels",
          "url": "https://www.anchorterminal.com/tools/yaktool-labels"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/laddro-career.json",
          "kind": "mcp",
          "name": "Laddro Career",
          "slug": "laddro-career",
          "url": "https://www.anchorterminal.com/tools/laddro-career"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mdtidy-mcp.json",
          "kind": "mcp",
          "name": "mdtidy.com MCP server",
          "slug": "mdtidy-mcp",
          "url": "https://www.anchorterminal.com/tools/mdtidy-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mochify.json",
          "kind": "mcp",
          "name": "Mochify",
          "slug": "mochify",
          "url": "https://www.anchorterminal.com/tools/mochify"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ojo-mcp-server.json",
          "kind": "mcp",
          "name": "oJo — HTML to image and PDF",
          "slug": "ojo-mcp-server",
          "url": "https://www.anchorterminal.com/tools/ojo-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pagelens-pagewatch.json",
          "kind": "mcp",
          "name": "Pagewatch",
          "slug": "pagelens-pagewatch",
          "url": "https://www.anchorterminal.com/tools/pagelens-pagewatch"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/yaktool-pdf.json",
          "kind": "mcp",
          "name": "pdf",
          "slug": "yaktool-pdf",
          "url": "https://www.anchorterminal.com/tools/yaktool-pdf"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hellobasestation-pdfkit.json",
          "kind": "mcp",
          "name": "PDF Kit",
          "slug": "hellobasestation-pdfkit",
          "url": "https://www.anchorterminal.com/tools/hellobasestation-pdfkit"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pdf-redaction-mcp.json",
          "kind": "mcp",
          "name": "PDF Redaction MCP",
          "slug": "pdf-redaction-mcp",
          "url": "https://www.anchorterminal.com/tools/pdf-redaction-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pdfgate-mcp-server.json",
          "kind": "mcp",
          "name": "pdfgate.com MCP server",
          "slug": "pdfgate-mcp-server",
          "url": "https://www.anchorterminal.com/tools/pdfgate-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/getalai-presentations.json",
          "kind": "mcp",
          "name": "presentations",
          "slug": "getalai-presentations",
          "url": "https://www.anchorterminal.com/tools/getalai-presentations"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/imnoo-quality-control-plan.json",
          "kind": "mcp",
          "name": "Quality Control Plan Generator",
          "slug": "imnoo-quality-control-plan",
          "url": "https://www.anchorterminal.com/tools/imnoo-quality-control-plan"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/resustackapp-resustack.json",
          "kind": "mcp",
          "name": "ResuStack",
          "slug": "resustackapp-resustack",
          "url": "https://www.anchorterminal.com/tools/resustackapp-resustack"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/screenshotscout-mcp.json",
          "kind": "mcp",
          "name": "Screenshot Scout",
          "slug": "screenshotscout-mcp",
          "url": "https://www.anchorterminal.com/tools/screenshotscout-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shotbot-mcp.json",
          "kind": "mcp",
          "name": "shotbot-mcp",
          "slug": "shotbot-mcp",
          "url": "https://www.anchorterminal.com/tools/shotbot-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/siteglass-mcp.json",
          "kind": "mcp",
          "name": "siteglass.io MCP server",
          "slug": "siteglass-mcp",
          "url": "https://www.anchorterminal.com/tools/siteglass-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sladd-mcp.json",
          "kind": "mcp",
          "name": "sladd.no MCP server",
          "slug": "sladd-mcp",
          "url": "https://www.anchorterminal.com/tools/sladd-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/snapforge.json",
          "kind": "mcp",
          "name": "snapforge",
          "slug": "snapforge",
          "url": "https://www.anchorterminal.com/tools/snapforge"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/thrain-spotlight.json",
          "kind": "mcp",
          "name": "spotlight",
          "slug": "thrain-spotlight",
          "url": "https://www.anchorterminal.com/tools/thrain-spotlight"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/superdocs.json",
          "kind": "mcp",
          "name": "superdocs",
          "slug": "superdocs",
          "url": "https://www.anchorterminal.com/tools/superdocs"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/url2md-mcp.json",
          "kind": "mcp",
          "name": "url2md",
          "slug": "url2md-mcp",
          "url": "https://www.anchorterminal.com/tools/url2md-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/urlsnap-mcp.json",
          "kind": "mcp",
          "name": "urlsnap-mcp",
          "slug": "urlsnap-mcp",
          "url": "https://www.anchorterminal.com/tools/urlsnap-mcp"
        }
      ],
      "indexedCount": 39,
      "json": "https://www.anchorterminal.com/categories/pdf-tools.json",
      "name": "PDF tools",
      "slug": "pdf-tools",
      "test": "The same set of PDFs through every API. We merge, split, convert to and from Office formats, fill a form and add text, then check the output opens cleanly, keeps its layout, and what each operation costs.",
      "title": "PDF manipulation and conversion APIs for AI agents",
      "toolCount": 2,
      "tools": [
        "adobe-pdf-extract",
        "pdf-co"
      ],
      "url": "https://www.anchorterminal.com/categories/pdf-tools"
    },
    "tools": [
      {
        "slug": "adobe-pdf-extract",
        "name": "Adobe PDF Services / PDF Extract API",
        "vendor": "Adobe",
        "vendorUrl": "https://developer.adobe.com/document-services/",
        "kind": "http-api",
        "category": "document-extraction",
        "summary": "Adobe's REST API for reading and changing PDFs.",
        "url": "https://www.anchorterminal.com/tools/adobe-pdf-extract",
        "markdownUrl": "https://www.anchorterminal.com/tools/adobe-pdf-extract.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/adobe-pdf-extract.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/adobe-pdf-extract.json",
        "repo": "https://github.com/adobe/pdfservices-python-sdk-samples",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://pdf-services.adobe.io",
        "packages": [
          {
            "registry": "pypi",
            "name": "pdfservices-sdk"
          },
          {
            "registry": "npm",
            "name": "@adobe/pdfservices-node-sdk"
          }
        ],
        "auth": "oauth",
        "authNotes": "OAuth server-to-server. POST client_id and client_secret to /token for an access token, then send it as Bearer plus the client id in `x-api-key`. JWT service accounts are deprecated.",
        "pricing": "freemium",
        "pricingNotes": "Free tier of 500 Document Transactions a month with no card. Extract and PDF to Markdown use 1 transaction per 5 pages, most other operations 1 per 50 pages, Auto-Tag 10 a page. Paid use is sold through sales on volume or enterprise terms, and no per-transaction price is published (https://developer.adobe.com/document-services/pricing/main/).",
        "priceSummary": "Freemium",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 in docs or pricing (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 165,
          "npmWeekly": 81553,
          "pypiWeekly": 58026,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/",
        "openapi": "https://raw.githubusercontent.com/AdobeDocs/pdfservices-api-documentation/main/static/openapi.json",
        "capabilities": [
          "docs.parse",
          "docs.ocr",
          "docs.extract",
          "docs.tables",
          "pdf.convert",
          "pdf.merge",
          "pdf.forms",
          "pdf.generate",
          "pdf.extract"
        ],
        "tags": [
          "hosted",
          "freemium",
          "no-card",
          "free-tier",
          "enterprise",
          "closed-source",
          "openapi",
          "webhooks",
          "python",
          "typescript",
          "async-jobs"
        ],
        "lastRelease": "2026-08-10",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 56,
          "grade": "C",
          "agentReady": false,
          "rank": 307,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 57,
            "maintenance": 53,
            "payments": 20,
            "reliability": 50,
            "schema": 80,
            "security": 55,
            "transparency": 80
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Public OpenAPI 3.0.1 spec covering Extract, PDF to Markdown and 20 other operations. No published paid price, paid use goes through sales.",
          "strengths": [
            "Public OpenAPI 3.0.1 spec covering Extract, PDF to Markdown and 20 other operations",
            "Extract error codes name the cause, such as DISQUALIFIED_SCAN_PAGE_LIMIT or BAD_PDF_COMPLEX_TABLE",
            "500 free Document Transactions a month with no card",
            "Files kept 24 hours by default, deletable at once, or never stored when you pass signed URLs",
            "security.txt and a public bug bounty on Intigriti"
          ],
          "weaknesses": [
            "No published paid price, paid use goes through sales",
            "Four steps per job (token, upload, operation, poll) and no idempotency key",
            "25 requests a minute on the free tier, no Retry-After or backoff guidance",
            "Node.js SDK unchanged since November 2024 and no llms.txt",
            "Status page renders only with JavaScript"
          ],
          "agentNotes": [
            "Cache the access token and reuse it until it expires",
            "Budget 1 Document Transaction per 5 pages for Extract and PDF to Markdown, so 500 free transactions cover about 2,500 pages",
            "Pass `notifiers` with a callback URL instead of polling the job status",
            "Use `pdf-services-ew1.adobe.io` when documents must stay in the EU",
            "Check `/operation/pdfproperties` first, since copy-protected PDFs fail Extract with DISQUALIFIED_PERMISSIONS"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 56
            }
          ],
          "editorialScores": {
            "ergonomics": 57,
            "maintenance": 53,
            "payments": 20,
            "reliability": 50,
            "schema": 80,
            "security": 55,
            "transparency": 60
          },
          "provenanceScore": 100
        },
        "connect": {
          "install": "pip install pdfservices-sdk   # or: npm i @adobe/pdfservices-node-sdk",
          "http": "curl https://pdf-services.adobe.io/token \\\n  -H \"content-type: application/x-www-form-urlencoded\" \\\n  --data-urlencode \"client_id=$PDF_SERVICES_CLIENT_ID\" --data-urlencode \"client_secret=$PDF_SERVICES_CLIENT_SECRET\""
        },
        "letme": {
          "capability": "https://letme.dev/docs.parse",
          "tool": "https://letme.dev/adobe-pdf-extract"
        },
        "sameCompany": [
          "adobe-firefly",
          "adobe-photoshop-api"
        ],
        "alsoIn": [
          "pdf-tools"
        ],
        "area": "web-data",
        "provenance": {
          "legalEntity": "Adobe Inc.",
          "domain": "adobe.com",
          "domainRegistered": "1986-11-17",
          "endpointOnVendorDomain": true,
          "terms": "https://www.adobe.com/legal/terms.html",
          "privacy": "https://www.adobe.com/privacy/policy.html",
          "statusPage": "https://status.adobe.com/products/512699",
          "changelog": "https://developer.adobe.com/document-services/docs/overview/releasenotes",
          "securityTxt": "valid",
          "checked": "2026-10-01",
          "notes": [
            "The API is served from pdf-services.adobe.io, Adobe's developer API domain, not adobe.com",
            "The status page is the PDF Services product page the docs link to, and it needs JavaScript to render"
          ],
          "score": 100
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/adobe-pdf-extract.json",
        "live": {
          "slug": "adobe-pdf-extract",
          "probe": {
            "target": "https://pdf-services.adobe.io",
            "method": "get",
            "lastAt": "2026-10-05T02:29:51.153580831Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 252,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 257,
            "p95ms24h": 302,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.adobe.com/products/512699",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:39:47.838008597Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "adobe/pdfservices-python-sdk-samples",
              "version": "v4.2.0",
              "released": "2025-07-11",
              "seenAt": "2026-10-04T16:19:42.423004947Z"
            },
            {
              "registry": "npm",
              "name": "@adobe/pdfservices-node-sdk",
              "version": "4.1.0",
              "seenAt": "2026-10-04T16:19:41.011046726Z"
            },
            {
              "registry": "pypi",
              "name": "pdfservices-sdk",
              "version": "4.3.0",
              "released": "2026-08-10",
              "seenAt": "2026-10-04T16:19:40.825263593Z"
            }
          ],
          "githubStars": 165,
          "npmWeekly": 81098,
          "pypiWeekly": 60815,
          "securityTxt": {
            "url": "https://adobe.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2027-07-30T01:00:00.000Z",
            "checkedAt": "2026-10-04T15:15:53.305878617Z"
          },
          "domain": {
            "domain": "adobe.com",
            "registered": "1986-11-17",
            "source": "https://rdap.verisign.com/com/v1/domain/adobe.com",
            "checkedAt": "2026-10-04T13:03:40.934529293Z"
          },
          "pages": [
            {
              "url": "https://developer.adobe.com/document-services/docs/overview/releasenotes",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:42:28.755027688Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "27885eb31d8e"
            },
            {
              "url": "https://developer.adobe.com/document-services/pricing/main/",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:42:30.76269397Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "bf518d524ead"
            }
          ],
          "updatedAt": "2026-10-05T02:29:51.153580831Z"
        }
      },
      {
        "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",
        "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.2,
          "grade": "E",
          "agentReady": false,
          "rank": 430,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 49,
            "maintenance": 34,
            "payments": 20,
            "reliability": 20,
            "schema": 74,
            "security": 23,
            "transparency": 54
          },
          "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.",
          "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.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 38.2
            }
          ],
          "editorialScores": {
            "ergonomics": 49,
            "maintenance": 34,
            "payments": 20,
            "reliability": 20,
            "schema": 74,
            "security": 23,
            "transparency": 42
          },
          "provenanceScore": 65
        },
        "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": 65
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/pdf-co.json",
        "live": {
          "slug": "pdf-co",
          "probe": {
            "target": "https://api.pdf.co/v1",
            "method": "get",
            "lastAt": "2026-10-05T02:30:00.20681929Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 417,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 444,
            "p95ms24h": 498,
            "samples24h": 273,
            "samples30d": 1131,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 276
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 29,
                "ok": 29
              }
            ]
          },
          "versions": [
            {
              "registry": "github",
              "name": "pdfdotco/pdfco-mcp",
              "version": "0.0.9",
              "released": "2026-07-28",
              "seenAt": "2026-10-04T16:36:23.384919416Z"
            },
            {
              "registry": "pypi",
              "name": "pdfco-mcp",
              "version": "0.0.9",
              "released": "2026-07-28",
              "seenAt": "2026-10-04T16:36:23.204443846Z"
            }
          ],
          "githubStars": 9,
          "pypiWeekly": 24,
          "securityTxt": {
            "url": "https://pdf.co/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:52.394039321Z"
          },
          "llmsTxt": {
            "url": "https://developer.pdf.co/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:06.920824104Z"
          },
          "domain": {
            "domain": "pdf.co",
            "checkedAt": "2026-10-04T13:10:48.097773738Z"
          },
          "pages": [
            {
              "url": "https://developer.pdf.co/changelog",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:38.835011597Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "3c375c1f7429"
            },
            {
              "url": "https://pdf.co/pricing",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:46:37.128242407Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "308c3d9fe003"
            },
            {
              "url": "https://pdf.co/resources/legal/privacy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:46:39.276063885Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "9747302f99f5"
            },
            {
              "url": "https://pdf.co/resources/legal/terms",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:46:41.283164145Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "3e090877e9eb"
            }
          ],
          "updatedAt": "2026-10-05T02:30:00.20681929Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/pdf-tools",
    "json": "https://www.anchorterminal.com/categories/pdf-tools.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/pdf-tools.md",
    "slim": "https://www.anchorterminal.com/categories/pdf-tools.min.md"
  },
  "markdown": "APIs that merge, split, convert, fill, sign-ready and generate PDFs. Scored apart from structured extraction, because changing a PDF and reading one are different jobs.\n\n- Tools ranked: 2 · agent-ready (BB or better): 0 · accept x402: 0 · hosted endpoints: 2 · desk reviews by the panel: 4\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: pdf.convert, pdf.merge, pdf.forms, pdf.generate, pdf.extract\n- https://letme.dev/pdf.convert picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 307 | Adobe PDF Services / PDF Extract API | Adobe | HTTP API | Documents | C | 56 | medium | no | OAuth | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/adobe-pdf-extract.md |\n| 430 | PDF.co API + MCP | PDF.co (Artifex Software) | HTTP API | PDF | E | 38.2 | medium | no | API key | hosted + local | 3/5 (2) | https://www.anchorterminal.com/tools/pdf-co.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 307. Adobe PDF Services / PDF Extract API, C (56)\n\nAdobe's REST API for reading and changing PDFs. Public OpenAPI 3.0.1 spec covering Extract, PDF to Markdown and 20 other operations. No published paid price, paid use goes through sales.\n\n- Page: https://www.anchorterminal.com/tools/adobe-pdf-extract · Markdown: https://www.anchorterminal.com/tools/adobe-pdf-extract.md · JSON: https://www.anchorterminal.com/api/v1/tools/adobe-pdf-extract.json\n- Capabilities: docs.parse, docs.ocr, docs.extract, docs.tables, pdf.convert, pdf.merge, pdf.forms, pdf.generate, pdf.extract · endpoint: `https://pdf-services.adobe.io`\n\n### 430. PDF.co API + MCP, E (38.2)\n\nCredit-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. 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- Page: https://www.anchorterminal.com/tools/pdf-co · Markdown: https://www.anchorterminal.com/tools/pdf-co.md · JSON: https://www.anchorterminal.com/api/v1/tools/pdf-co.json\n- Capabilities: pdf.convert, pdf.merge, pdf.forms, pdf.generate, pdf.extract, docs.ocr, docs.tables, docs.extract · endpoint: `https://api.pdf.co/v1`\n\n## How we test this category\n\nThe same set of PDFs through every API. We merge, split, convert to and from Office formats, fill a form and add text, then check the output opens cleanly, keeps its layout, and what each operation costs. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (39)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [Acquisition.gov](https://www.anchorterminal.com/tools/1102tools-acquisition-gov-mcp.md) | MCP server | Acquisition.gov FAR Overhaul model parts, agency deviations, PDFs, and guidance. 5 tools. | vendor's own |\n| [AI Metadata Cleaner](https://www.anchorterminal.com/tools/aimetadatacleaner-metadata-cleaner.md) | MCP server | Remove GPS, device details, dates and AI labels from video, PDF, RAW and photo files. | vendor's own |\n| [blackout](https://www.anchorterminal.com/tools/thrain-blackout.md) | MCP server | Permanent local PDF redaction: text is removed and verified gone, not covered. No uploads. | vendor's own |\n| [Canvora](https://www.anchorterminal.com/tools/canvora.md) | MCP server | Turn any idea, URL, doc, or PDF into on-brand visuals: 100+ formats, native in 150+ languages | vendor's own |\n| [Carbone MCP](https://www.anchorterminal.com/tools/carbone-mcp.md) | MCP server | Generate PDF/DOCX/XLSX/PPTX from templates+JSON. Convert Office/HTML/MD to PDF. Universal templating | vendor's own |\n| [convertica.net MCP server](https://www.anchorterminal.com/tools/convertica-mcp.md) | MCP server | Convert PDF, Word, Excel, PowerPoint, EPUB, HEIC \u0026 images — 35+ tools from convertica.net | vendor's own |\n| [DocMake](https://www.anchorterminal.com/tools/docmake-mcp.md) | MCP server | Generate DOCX and PDF documents from your DocMake templates | vendor's own |\n| [docmill.io MCP server](https://www.anchorterminal.com/tools/docmill-mcp-server.md) | MCP server | Generate PDF, DOCX, and XLSX documents from JSON data and create reusable templates via Docmill | vendor's own |\n| [Drop2Run](https://www.anchorterminal.com/tools/dropto-drop2run.md) | MCP server | Publishes what an AI made — a page, a markdown or PDF doc, or a whole site — to a live HTTPS link. | vendor's own |\n| [EveryPage](https://www.anchorterminal.com/tools/everypage-mcp.md) | MCP server | Share PDFs as tracked links and see who read them, how far they got, and where they stopped. | vendor's own |\n| [ExactPDF](https://www.anchorterminal.com/tools/exactpdf-mcp.md) | MCP server | ExactPDF local stdio MCP client: hosted API PDF merge, split, compress, Markdown source packs. | vendor's own |\n| [file2markdown](https://www.anchorterminal.com/tools/file2markdown.md) | MCP server | Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL. | vendor's own |\n| [FileToPDF](https://www.anchorterminal.com/tools/filetopdf-mcp.md) | MCP server | Convert files, HTML, and Markdown to PDF via the FileToPDF API. Bring your own API key. | vendor's own |\n| [formatika.app MCP server](https://www.anchorterminal.com/tools/formatika-mcp.md) | MCP server | Convert, compress, resize and trim images, audio, video and PDFs from local paths. | vendor's own |\n| [HiddenContent](https://www.anchorterminal.com/tools/hiddencontent-mcp.md) | MCP server | Check a document for hidden text before your agent reads it. PDF, Office, RTF, HTML. | vendor's own |\n| [hushvert.com MCP server](https://www.anchorterminal.com/tools/hushvert-mcp.md) | MCP server | File conversion for AI agents: office docs, PDF to Word, video, and LLM-ready markdown via API. | vendor's own |\n| [KDAN PDF](https://www.anchorterminal.com/tools/kdandoc-kdan-pdf-mcp.md) | MCP server | Upload, edit, compress, protect, redact, and compare PDFs with KDAN PDF in Claude and ChatGPT. | vendor's own |\n| [labels](https://www.anchorterminal.com/tools/yaktool-labels.md) | MCP server | Labels: FBA (FNSKU) \u0026 GS1 SSCC pallet labels (PDF/ZPL), plus a ZPL-to-PDF renderer. Exact size. | vendor's own |\n| [Laddro Career](https://www.anchorterminal.com/tools/laddro-career.md) | MCP server | Tailor resumes, generate cover letters, render CVs as PDF, and browse 22+ templates. | vendor's own |\n| [mdtidy.com MCP server](https://www.anchorterminal.com/tools/mdtidy-mcp.md) | MCP server | Clean, repair, and convert AI-generated Markdown to HTML/PDF/DOCX/PNG; save and share documents. | vendor's own |\n| [Mochify](https://www.anchorterminal.com/tools/mochify.md) | MCP server | Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs. | vendor's own |\n| [oJo — HTML to image and PDF](https://www.anchorterminal.com/tools/ojo-mcp-server.md) | MCP server | Render HTML or templates to a hosted PNG or PDF, in one response. Free previews need no API key. | vendor's own |\n| [Pagewatch](https://www.anchorterminal.com/tools/pagelens-pagewatch.md) | MCP server | Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup. | vendor's own |\n| [pdf](https://www.anchorterminal.com/tools/yaktool-pdf.md) | MCP server | Merge, split, compress, unlock, organize, extract, fill forms and check PDFs — 12 local tools. | vendor's own |\n| [PDF Kit](https://www.anchorterminal.com/tools/hellobasestation-pdfkit.md) | MCP server | AI-powered PDF tools: fill forms via natural language | vendor's own |\n| [PDF Redaction MCP](https://www.anchorterminal.com/tools/pdf-redaction-mcp.md) | MCP server | MCP server for detecting and redacting PII (Personally Identifiable Information) in PDF documents. | vendor's own |\n| [pdfgate.com MCP server](https://www.anchorterminal.com/tools/pdfgate-mcp-server.md) | MCP server | MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures. | vendor's own |\n| [presentations](https://www.anchorterminal.com/tools/getalai-presentations.md) | MCP server | Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link. | vendor's own |\n| [Quality Control Plan Generator](https://www.anchorterminal.com/tools/imnoo-quality-control-plan.md) | MCP server | Quality control plans from drawing PDFs: auto-extracted tolerances, balloons, Excel + PDF reports. | vendor's own |\n| [ResuStack](https://www.anchorterminal.com/tools/resustackapp-resustack.md) | MCP server | Build, version and render resumes as PDFs from Claude or any MCP client. | vendor's own |\n| [Screenshot Scout](https://www.anchorterminal.com/tools/screenshotscout-mcp.md) | MCP server | Capture screenshots of webpages as images or PDFs with Screenshot Scout. | vendor's own |\n| [shotbot-mcp](https://www.anchorterminal.com/tools/shotbot-mcp.md) | MCP server | Screenshot API for AI agents: capture any public URL as JPEG, PNG, WebP, AVIF, or PDF. | vendor's own |\n| [siteglass.io MCP server](https://www.anchorterminal.com/tools/siteglass-mcp.md) | MCP server | Archive any URL to a shareable rrweb/pdf/png snapshot + agent-driven web QA (scan, run E2E flows). | vendor's own |\n| [sladd.no MCP server](https://www.anchorterminal.com/tools/sladd-mcp.md) | MCP server | Detect and redact Norwegian PII (fodselsnummer, names, health data) in text and PDFs. | vendor's own |\n| [snapforge](https://www.anchorterminal.com/tools/snapforge.md) | MCP server | Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API | vendor's own |\n| [spotlight](https://www.anchorterminal.com/tools/thrain-spotlight.md) | MCP server | Local PDF accessibility audit: machine-checkable PDF/UA basics (ADA/EAA/508). No uploads. | vendor's own |\n| [superdocs](https://www.anchorterminal.com/tools/superdocs.md) | MCP server | AI document editing for agents: draft, edit, export .docx/PDF. 37 MCP tools; agent self-signup. | vendor's own |\n| [url2md](https://www.anchorterminal.com/tools/url2md-mcp.md) | MCP server | PDFs, JavaScript pages and ordinary HTML as clean Markdown. Follows robots.txt per RFC 9309. | vendor's own |\n| [urlsnap-mcp](https://www.anchorterminal.com/tools/urlsnap-mcp.md) | MCP server | Screenshot, PDF, and markdown extraction from any URL via Claude Desktop and Claude Code. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "PDF tools",
        "url": ""
      }
    ],
    "description": "2 PDF tools ranked by the Anchor benchmark. Leader Adobe PDF Services / PDF Extract API (C). APIs that merge, split, convert, fill, sign-ready and generate PDFs. Scored apart from structured extraction, because changing a PDF and reading one are different jobs.",
    "facts": [
      "Adobe PDF Services / PDF Extract API C",
      "PDF.co API + MCP E"
    ],
    "h1": "PDF manipulation and conversion APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-pdf-tools.png",
    "path": "/categories/pdf-tools",
    "published": "",
    "section": "tools",
    "title": "PDF manipulation and conversion APIs for AI agents, ranked",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/categories/pdf-tools"
  },
  "tokens": {
    "markdown": 3050,
    "slim": 280
  },
  "version": 1
}
