{
  "data": {
    "a": {
      "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-04T23:32:42.606455124Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 251,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 302,
          "samples24h": 272,
          "samples30d": 1097,
          "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": 267,
              "ok": 267
            }
          ]
        },
        "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-04T23:32:42.606455124Z"
      }
    },
    "b": {
      "slug": "veryfi",
      "name": "Veryfi API + MCP",
      "vendor": "Veryfi",
      "vendorUrl": "https://www.veryfi.com",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Receipt, invoice, bank statement, cheque and W-2 extraction API priced per document, with fraud checks as add-ons.",
      "url": "https://www.anchorterminal.com/tools/veryfi",
      "markdownUrl": "https://www.anchorterminal.com/tools/veryfi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/veryfi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/veryfi.json",
      "repo": "https://github.com/veryfi/mcp-server",
      "license": "MIT (MCP server and SDKs)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.veryfi.com/api/v8/partner",
      "packages": [
        {
          "registry": "pypi",
          "name": "veryfi"
        },
        {
          "registry": "npm",
          "name": "@veryfi/veryfi-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every request needs a CLIENT-ID header plus either `Authorization: apikey USERNAME:API_KEY` (legacy) or a Bearer key, which can be scoped. Optional HMAC request signing with the client secret.",
      "pricing": "freemium",
      "pricingNotes": "Free for 100 documents a month. Starter is pay as you go with a $500 a month minimum, $0.08 a receipt, $0.16 an invoice or W-2/W-9, $0.25 a bank statement or cheque, 1 cent off each with a 12-month commitment. Charged per document up to 15 pages, not per page. Growth is quoted (https://www.veryfi.com/pricing/).",
      "priceSummary": "$500 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": 31,
        "npmWeekly": 5692,
        "pypiWeekly": 16904,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.veryfi.com",
      "llmsTxt": "https://docs.veryfi.com/llms.txt",
      "capabilities": [
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "webhooks",
        "async-jobs"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.4,
        "grade": "C",
        "agentReady": false,
        "rank": 315,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms. API outage on 29 September and degraded, incomplete extraction on 1 October.",
        "strengths": [
          "Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms",
          "Per-document pricing up to 15 pages, $0.08 a receipt, 100 free documents a month with no card",
          "Published rate limits per endpoint and Retry-After on 429",
          "HMAC request signing with the client secret",
          "Node.js SDK tagged seven times since 4 August, v1.4.8 to v1.5.2"
        ],
        "weaknesses": [
          "API outage on 29 September and degraded, incomplete extraction on 1 October",
          "Submitted documents train Veryfi's models unless opted out by agreement",
          "$500 a month minimum once past 100 free documents",
          "MCP server has one tool, no package and no commits since 2025-09-26",
          "No downloadable OpenAPI spec and no public changelog"
        ],
        "agentNotes": [
          "Always send an `Idempotency-Key` header so a retry after a 504 doesn't bill twice",
          "Wait for the seconds in `Retry-After` on a 429; identical failing requests are capped at 10 a minute",
          "Set the `CLIENT-ID` header on every call",
          "Use the dedicated endpoints for bank statements, cheques and tax forms, since the documents endpoint handles receipts, invoices and purchase orders",
          "Set `max_pages_to_process` for long PDFs, since one transaction covers 15 pages"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 78,
          "payments": 40,
          "reliability": 55,
          "schema": 50,
          "security": 40,
          "transparency": 40
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "pip install veryfi   # or: npm i @veryfi/veryfi-sdk",
        "http": "curl https://api.veryfi.com/api/v8/partner/documents \\\n  -H \"CLIENT-ID: $VERYFI_CLIENT_ID\" -H \"Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" -H \"content-type: application/json\" \\\n  -d '{\"file_url\":\"https://example.com/receipt.jpg\"}'",
        "config": {
          "mcpServers": {
            "veryfi": {
              "args": [
                "--directory",
                "path/to/mcp-server",
                "run",
                "src/server.py"
              ],
              "command": "uv",
              "env": {}
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/docs.ocr",
        "tool": "https://letme.dev/veryfi"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter minimum",
          "unit": "month",
          "usd": 500
        },
        {
          "item": "Receipt",
          "unit": "call",
          "usd": 0.08,
          "note": "one document up to 15 pages"
        },
        {
          "item": "Invoice, W-2 or W-9",
          "unit": "call",
          "usd": 0.16,
          "note": "one document up to 15 pages"
        },
        {
          "item": "Bank statement or cheque",
          "unit": "call",
          "usd": 0.25,
          "note": "one document up to 15 pages"
        }
      ],
      "provenance": {
        "legalEntity": "Veryfi, Inc.",
        "domain": "veryfi.com",
        "domainRegistered": "2008-04-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.veryfi.com/terms/",
        "privacy": "https://www.veryfi.com/privacy/",
        "statusPage": "https://status.veryfi.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/veryfi.json",
      "live": {
        "slug": "veryfi",
        "probe": {
          "target": "https://api.veryfi.com/api/v8/partner",
          "method": "get",
          "lastAt": "2026-10-04T23:32:56.299066416Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 485,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.82,
          "p50ms24h": 496,
          "p95ms24h": 568,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.veryfi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:32.961121357Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@veryfi/veryfi-sdk",
            "version": "1.5.2",
            "seenAt": "2026-10-04T16:43:27.369943739Z"
          },
          {
            "registry": "pypi",
            "name": "veryfi",
            "version": "5.1.0",
            "released": "2026-05-14",
            "seenAt": "2026-10-04T16:43:27.182313534Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 6683,
        "pypiWeekly": 10476,
        "securityTxt": {
          "url": "https://veryfi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:03.499960183Z"
        },
        "llmsTxt": {
          "url": "https://docs.veryfi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:21.074758154Z"
        },
        "domain": {
          "domain": "veryfi.com",
          "registered": "2008-04-18",
          "source": "https://rdap.verisign.com/com/v1/domain/veryfi.com",
          "checkedAt": "2026-10-04T13:06:38.949880383Z"
        },
        "pages": [
          {
            "url": "https://www.veryfi.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:44.083185228Z",
            "changedAt": "2026-10-04T15:52:44.083185228Z",
            "fingerprint": "9ba5727da723"
          },
          {
            "url": "https://www.veryfi.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:46.605053947Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47a7b02e27f5"
          },
          {
            "url": "https://www.veryfi.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:48.444371891Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ccf4f32a76c6"
          }
        ],
        "updatedAt": "2026-10-04T23:32:56.299066416Z"
      }
    },
    "summary": "Adobe PDF Services / PDF Extract API has a score of 56 (C) against Veryfi API + MCP's 55.4 (C). Both do docs ocr. The largest gap is schema \u0026 documentation, 30 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi",
    "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi.md",
    "slim": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi.min.md"
  },
  "markdown": "Adobe PDF Services / PDF Extract API has a score of 56 (C) against Veryfi API + MCP's 55.4 (C). Both do docs ocr. The largest gap is schema \u0026 documentation, 30 points.\n\n- Adobe PDF Services / PDF Extract API: grade C, 56/100, rank #307 of 452. Markdown https://www.anchorterminal.com/tools/adobe-pdf-extract.md · JSON https://www.anchorterminal.com/api/v1/tools/adobe-pdf-extract.json\n- Veryfi API + MCP: grade C, 55.4/100, rank #315 of 452. Markdown https://www.anchorterminal.com/tools/veryfi.md · JSON https://www.anchorterminal.com/api/v1/tools/veryfi.json\n\n## Which one, for what\n\nPick Adobe PDF Services / PDF Extract API for schema \u0026 documentation (+30), security \u0026 auth (+15), transparency \u0026 trust (+20).\n\nPick Veryfi API + MCP for reliability (+5), agent ergonomics (+18), payments \u0026 pricing (+20), maintenance \u0026 community (+25).\n\n## Score by category\n\n| Category | Weight | Adobe PDF Services / PDF Extract API | Veryfi API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 55 | Veryfi API + MCP +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 50 | Adobe PDF Services / PDF Extract API +30 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 75 | Veryfi API + MCP +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 40 | Adobe PDF Services / PDF Extract API +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Veryfi API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 78 | Veryfi API + MCP +25 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 60 | Adobe PDF Services / PDF Extract API +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **56 · C** | **55.4 · C** | |\n\n## Facts side by side\n\n| Fact | Adobe PDF Services / PDF Extract API | Veryfi API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Adobe | Veryfi |\n| Hosted endpoint | `https://pdf-services.adobe.io` | `https://api.veryfi.com/api/v8/partner` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | OAuth | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | MIT (MCP server and SDKs) |\n| Tools exposed | none | 1 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-10 | 2026-09-15 |\n| Popularity | 165 stars, 82k npm/wk, 58k PyPI/wk | 31 stars, 5.7k npm/wk, 17k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Adobe PDF Services / PDF Extract API.** 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**Veryfi API + MCP.** Typed fields and line items for receipts, invoices, cheques, bank statements and tax forms. API outage on 29 September and degraded, incomplete extraction on 1 October.\n\n## Before you call either\n\n### Adobe PDF Services / PDF Extract API\n\n1. Cache the access token and reuse it until it expires\n2. Budget 1 Document Transaction per 5 pages for Extract and PDF to Markdown, so 500 free transactions cover about 2,500 pages\n3. Pass `notifiers` with a callback URL instead of polling the job status\n4. Use `pdf-services-ew1.adobe.io` when documents must stay in the EU\n5. Check `/operation/pdfproperties` first, since copy-protected PDFs fail Extract with DISQUALIFIED_PERMISSIONS\n\n### Veryfi API + MCP\n\n1. Always send an `Idempotency-Key` header so a retry after a 504 doesn't bill twice\n2. Wait for the seconds in `Retry-After` on a 429; identical failing requests are capped at 10 a minute\n3. Set the `CLIENT-ID` header on every call\n4. Use the dedicated endpoints for bank statements, cheques and tax forms, since the documents endpoint handles receipts, invoices and purchase orders\n5. Set `max_pages_to_process` for long PDFs, since one transaction covers 15 pages\n\n## Other comparisons with Adobe PDF Services / PDF Extract API or Veryfi API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs Extend API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.md)\n- [Adobe PDF Services / PDF Extract API vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-llamaparse.md)\n- [Adobe PDF Services / PDF Extract API vs Mistral OCR API](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mistral-ocr.md)\n- [Adobe PDF Services / PDF Extract API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-nanonets.md)\n- [Adobe PDF Services / PDF Extract API vs Reducto API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto.md)\n- [Adobe PDF Services / PDF Extract API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-unstructured.md)\n- [Adobe PDF Services / PDF Extract API vs Mindee API](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-mindee.md)\n- [Extend API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/extend-vs-veryfi.md)\n- [LlamaParse API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-veryfi.md)\n- [Mindee API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mindee-vs-veryfi.md)\n- [Mistral OCR API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-veryfi.md)\n- [Nanonets API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-veryfi.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n- [Unstructured API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/unstructured-vs-veryfi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Adobe PDF Services / PDF Extract API vs Veryfi API + MCP",
        "url": ""
      }
    ],
    "description": "Adobe PDF Services / PDF Extract API has a score of 56 (C) against Veryfi API + MCP's 55.4 (C). Both do docs ocr. The largest gap is schema \u0026 documentation, 30 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Adobe PDF Services / PDF Extract API C 56",
      "Veryfi API + MCP C 55.4",
      "scores"
    ],
    "h1": "Adobe PDF Services / PDF Extract API vs Veryfi API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-adobe-pdf-extract-vs-veryfi.png",
    "path": "/compare/adobe-pdf-extract-vs-veryfi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe PDF Services / PDF Extract API vs Veryfi API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 380
  },
  "version": 1
}
