{
  "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-05T03:17:21.312098098Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 251,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 257,
          "p95ms24h": 302,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "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-05T03:17:21.312098098Z"
      }
    },
    "b": {
      "slug": "extend",
      "name": "Extend API + MCP",
      "vendor": "Extend",
      "vendorUrl": "https://www.extend.ai",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Hosted parse, extract, classify, split and PDF form-fill APIs with versioned processors, evaluation sets and workflows.",
      "url": "https://www.anchorterminal.com/tools/extend",
      "markdownUrl": "https://www.anchorterminal.com/tools/extend.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/extend.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/extend.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.extend.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "extend-ai"
        },
        {
          "registry": "npm",
          "name": "extend-ai"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key from the dashboard plus an x-extend-api-version header (current 2026-02-09). Test-mode keys hit an isolated environment. The hosted MCP uses OAuth, and the consent screen picks which workspaces and whether test, production or both are reachable.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go is self-serve with 10,000 free credits, then $0.0125 a credit, no contract or minimum. Scale is $500 a month with 50,000 credits and $0.01 a credit after that. Enterprise is custom. Performance modes cost 2 credits a page for Parse and Split, 3 for Extract and 1 for Classify. Light modes cost 0.5 for Parse and Split, 0.7 for Extract and 0.3 for Classify.Parse runs automatically before Extract, Split and Classify and is billed on top, so Performance Extract is 5 credits a page all in. CSV, plain text, RTF, Markdown and XML parse free, and advanced Excel is 3 credits per 1,000 cells. Review Agent adds 1 credit a page on extraction and 0.5 on classification, agentic text or table correction 1 each when triggered (https://docs.extend.ai/general/how-credits-work).",
      "priceSummary": "$25 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 86,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 124329,
        "pypiWeekly": 59109,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.extend.ai",
      "llmsTxt": "https://docs.extend.ai/llms.txt",
      "openapi": "https://docs.extend.ai/openapi/api-reference.json",
      "registryName": "ai.extend/extend",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.chunk",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 211,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 82,
          "payments": 30,
          "reliability": 67,
          "schema": 87,
          "security": 43,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups. Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page.",
        "strengths": [
          "Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups",
          "Errors carry code, retryable, requestId and a docs link, and 429 guidance names Retry-After and jittered backoff",
          "Published credit prices and per-plan rate limits, 10,000 free credits to start",
          "OpenAPI spec, llms.txt and dated API versions with migration guides",
          "SDK releases every two to three weeks, TypeScript v2.3.0 on 2026-09-25"
        ],
        "weaknesses": [
          "Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page",
          "MCP loads every tool unless you pass ?tools=, including write and delete tools with no documented confirmation",
          "Three major-impact incidents on the status page since 25 August",
          "No security.txt, bug bounty, subprocessor list or published default retention period",
          "No published support period for older API versions"
        ],
        "agentNotes": [
          "Connect with `https://mcp.extend.ai/mcp?tools=parse,extract,files` to keep the schema small",
          "Every MCP call names a workspace and TEST or PRODUCTION; start in TEST",
          "Read `retryable` on an error before retrying, and honour `Retry-After` on a 429",
          "Budget 5 credits a page for Performance Extract, since the parse step is billed on top",
          "Sync `POST /extract` blocks up to 5 minutes; use `/extract_runs` and poll or a webhook for long files"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.9
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 82,
          "payments": 30,
          "reliability": 67,
          "schema": 87,
          "security": 43,
          "transparency": 48
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -X POST https://api.extend.ai/parse -H \"Authorization: Bearer $EXTEND_API_KEY\" \\\n  -H \"x-extend-api-version: 2026-02-09\" -H \"Content-Type: application/json\" \\\n  -d '{\"file\":{\"url\":\"https://extend-public-files.s3.us-east-2.amazonaws.com/bank_statement_example.pdf\"}}'",
        "claudeCode": "claude mcp add --transport http extend https://mcp.extend.ai/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/extend"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Parse (Performance)",
          "unit": "1k-pages",
          "usd": 25,
          "note": "2 credits a page on pay as you go; $20 on Scale"
        },
        {
          "item": "Parse (Light)",
          "unit": "1k-pages",
          "usd": 6.25,
          "note": "0.5 credits a page on pay as you go"
        },
        {
          "item": "Extract (Performance)",
          "unit": "1k-pages",
          "usd": 62.5,
          "note": "3 credits extract plus 2 for the automatic parse; $50 on Scale"
        },
        {
          "item": "Split (Performance)",
          "unit": "1k-pages",
          "usd": 50,
          "note": "2 credits split plus 2 for the automatic parse"
        },
        {
          "item": "Classify (Performance)",
          "unit": "1k-pages",
          "usd": 37.5,
          "note": "1 credit classify plus 2 for the automatic parse"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "50,000 credits included, $0.01 a credit after"
        }
      ],
      "provenance": {
        "legalEntity": "CrowdView Inc. dba Extend",
        "domain": "extend.ai",
        "domainRegistered": "2017-12-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.extend.ai/website-terms-of-use",
        "privacy": "https://www.extend.ai/privacy",
        "statusPage": "https://status.extend.ai",
        "changelog": "https://docs.extend.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The domain predates the product; extend.ai was registered in 2017"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/extend.json",
      "live": {
        "slug": "extend",
        "probe": {
          "target": "https://api.extend.ai",
          "method": "get",
          "lastAt": "2026-10-05T03:17:25.934068386Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 384,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 390,
          "p95ms24h": 446,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.extend.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:03.71680537Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.extend/extend",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "extend-ai",
            "version": "2.3.0",
            "seenAt": "2026-10-04T16:26:51.295781701Z"
          },
          {
            "registry": "pypi",
            "name": "extend-ai",
            "version": "1.19.0",
            "released": "2026-08-27",
            "seenAt": "2026-10-04T16:26:51.111222887Z"
          }
        ],
        "npmWeekly": 154645,
        "pypiWeekly": 57474,
        "securityTxt": {
          "url": "https://extend.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:51.148965224Z"
        },
        "llmsTxt": {
          "url": "https://docs.extend.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:45.655916707Z"
        },
        "domain": {
          "domain": "extend.ai",
          "registered": "2017-12-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/extend.ai",
          "checkedAt": "2026-10-04T13:05:28.720123243Z"
        },
        "pages": [
          {
            "url": "https://docs.extend.ai/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:37.131440446Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7df22a9baccf"
          },
          {
            "url": "https://www.extend.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-01T13:17:11.851015067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f871dbf62d7d"
          },
          {
            "url": "https://www.extend.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:13.868773706Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a722541586a5"
          },
          {
            "url": "https://www.extend.ai/website-terms-of-use",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:16.032227293Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6af50cfb7dde"
          }
        ],
        "updatedAt": "2026-10-05T03:19:03.71680537Z"
      }
    },
    "summary": "Extend API + MCP has a score of 62.9 (B) against Adobe PDF Services / PDF Extract API's 56 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 29 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend",
    "json": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.md",
    "slim": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend.min.md"
  },
  "markdown": "Extend API + MCP has a score of 62.9 (B) against Adobe PDF Services / PDF Extract API's 56 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 29 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- Extend API + MCP: grade B, 62.9/100, rank #211 of 452. Markdown https://www.anchorterminal.com/tools/extend.md · JSON https://www.anchorterminal.com/api/v1/tools/extend.json\n\n## Which one, for what\n\nPick Adobe PDF Services / PDF Extract API for security \u0026 auth (+12), transparency \u0026 trust (+13).\n\nPick Extend API + MCP for reliability (+17), schema \u0026 documentation (+7), agent ergonomics (+11), payments \u0026 pricing (+10), maintenance \u0026 community (+29).\n\n## Score by category\n\n| Category | Weight | Adobe PDF Services / PDF Extract API | Extend API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 67 | Extend API + MCP +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 87 | Extend API + MCP +7 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 68 | Extend API + MCP +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 43 | Adobe PDF Services / PDF Extract API +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Extend API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 82 | Extend API + MCP +29 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 67 | Adobe PDF Services / PDF Extract API +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **56 · C** | **62.9 · B** | |\n\n## Facts side by side\n\n| Fact | Adobe PDF Services / PDF Extract API | Extend API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Adobe | Extend |\n| Hosted endpoint | `https://pdf-services.adobe.io` | `https://api.extend.ai` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | none | 86 |\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 | `ai.extend/extend` |\n| Last release | 2026-08-10 | 2026-09-25 |\n| Popularity | 165 stars, 82k npm/wk, 58k PyPI/wk | 124k npm/wk, 59k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 4/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**Extend API + MCP.** Hosted MCP with OAuth scoped to workspaces and to test or production, and a tools filter with nine groups. Parse is billed on top of Extract, Split and Classify, so Performance Extract costs 5 credits a page.\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### Extend API + MCP\n\n1. Connect with `https://mcp.extend.ai/mcp?tools=parse,extract,files` to keep the schema small\n2. Every MCP call names a workspace and TEST or PRODUCTION; start in TEST\n3. Read `retryable` on an error before retrying, and honour `Retry-After` on a 429\n4. Budget 5 credits a page for Performance Extract, since the parse step is billed on top\n5. Sync `POST /extract` blocks up to 5 minutes; use `/extract_runs` and poll or a webhook for long files\n\n## Other comparisons with Adobe PDF Services / PDF Extract API or Extend API + MCP\n\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- [Extend API + MCP vs LlamaParse API + MCP](https://www.anchorterminal.com/compare/extend-vs-llamaparse.md)\n- [Extend API + MCP vs Mistral OCR API](https://www.anchorterminal.com/compare/extend-vs-mistral-ocr.md)\n- [Extend API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/extend-vs-nanonets.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-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- [Adobe PDF Services / PDF Extract API vs Veryfi API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-veryfi.md)\n- [Extend API + MCP vs Mindee API](https://www.anchorterminal.com/compare/extend-vs-mindee.md)\n- [Extend API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/extend-vs-veryfi.md)\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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Adobe PDF Services / PDF Extract API vs Extend API + MCP",
        "url": ""
      }
    ],
    "description": "Extend API + MCP has a score of 62.9 (B) against Adobe PDF Services / PDF Extract API's 56 (C). Both do docs parse. The largest gap is maintenance \u0026 community, 29 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Adobe PDF Services / PDF Extract API C 56",
      "Extend API + MCP B 62.9",
      "scores"
    ],
    "h1": "Adobe PDF Services / PDF Extract API vs Extend API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-adobe-pdf-extract-vs-extend.png",
    "path": "/compare/adobe-pdf-extract-vs-extend",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe PDF Services / PDF Extract API vs Extend API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-extend"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 380
  },
  "version": 1
}
