# Adobe PDF Services / PDF Extract API (slim) > Adobe's REST API for reading and changing PDFs. - Full: https://www.anchorterminal.com/tools/adobe-pdf-extract.md (~6,150 tokens) · this version ~1,480 tokens · JSON https://www.anchorterminal.com/tools/adobe-pdf-extract.json · canonical https://www.anchorterminal.com/tools/adobe-pdf-extract - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-04 **C · 56/100 · rank #307 of 452 · #6 in Document parsing & extraction · not agent-ready · confidence medium** Assessment: Public OpenAPI 3.0.1 spec covering Extract, PDF to Markdown and 20 other operations. No published paid price, paid use goes through sales. ## Facts - Kind: HTTP API · vendor: Adobe · category: Document parsing & extraction · legal entity: Adobe Inc. · provenance 100/100 - Endpoint: `https://pdf-services.adobe.io` (HTTP) - Auth: OAuth · pricing: Freemium · x402: no · licence: unknown - Probe metrics: not measured yet (probes haven't run) - Free tier: 500 Document Transactions a month, no card - Plan for API: Free tier for development and light use. Paid through Adobe sales - Output: JSON with text blocks in reading order, bounding boxes and fonts. Tables as CSV or XLSX, figures as PNG. Markdown with tables and base64 figures - Scans: Handles scanned PDFs, capped at 150 pages - Limits: 100 MB a file, 400 pages for Extract and Markdown - Rate limits: 25 requests a minute free, 100 on enterprise - Auth and scopes: OAuth server-to-server credentials from the Adobe Developer Console - MCP server: None from Adobe. Third-party wrappers exist (Pipedream, StackOne) - Data location: US by default, EU via pdf-services-ew1.adobe.io - 2023-06-01 Notice: JWT service account credentials deprecated in favour of OAuth server-to-server - Scores: Reliability 50, Performance pending, Schema & documentation 80, Agent ergonomics 57, Security & auth 55, Payments & pricing 20, Task success pending, Maintenance & community 53, Transparency & trust 80 · total over the 7 assessed categories - Why: Reliability, The docs point to a PDF Services product page at status.adobe.com/products/512699, but it renders only with JavaScript, so we couldn't confi… · Schema & documentation, OpenAPI 3.0.1 spec with 48 paths, including /operation/extractpdf and /operation/pdftomarkdown, published in the AdobeDocs/pdfservices-api-d… · Agent ergonomics, Extract lets you pick text, tables or both, CSV or XLSX tables and optional figure renditions, and PDF to Markdown returns one Markdown file… · Security & auth, OAuth server-to-server client credentials from an Adobe Developer Console project, exchanged for short-lived bearer tokens, and the project… · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, Python SDK 4.3.0 and .NET SDK 4.4.0 shipped on 2026-08-10, 52 days ago (20). · Transparency & trust, Closed service under Adobe's terms, and the SDKs ship under Adobe's own licence agreement rather than an OSI licence (15). - Sources: 10, open questions: 4, both in the full twin - Capabilities: docs.parse, docs.ocr, docs.extract, docs.tables, pdf.convert, pdf.merge, pdf.forms, pdf.generate, pdf.extract - JSON: https://www.anchorterminal.com/api/v1/tools/adobe-pdf-extract.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/adobe-pdf-extract.svg` or a link to https://www.anchorterminal.com/tools/adobe-pdf-extract from a page on adobe.com or one of its subdomains, or the README of github.com/adobe/pdfservices-python-sdk-samples, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Cache the access token and reuse it until it expires 2. Budget 1 Document Transaction per 5 pages for Extract and PDF to Markdown, so 500 free transactions cover about 2,500 pages 3. Pass `notifiers` with a callback URL instead of polling the job status 4. Use `pdf-services-ew1.adobe.io` when documents must stay in the EU 5. Check `/operation/pdfproperties` first, since copy-protected PDFs fail Extract with DISQUALIFIED_PERMISSIONS ## Connect ```bash pip install pdfservices-sdk # or: npm i @adobe/pdfservices-node-sdk ``` ```bash curl https://pdf-services.adobe.io/token \ -H "content-type: application/x-www-form-urlencoded" \ --data-urlencode "client_id=$PDF_SERVICES_CLIENT_ID" --data-urlencode "client_secret=$PDF_SERVICES_CLIENT_SECRET" ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/adobe-pdf-extract ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | PDF.co API + MCP | E | 38.2 | pdf.convert, pdf.merge, pdf.forms, pdf.generate, pdf.extract, docs.ocr, docs.tables, docs.extract | https://www.anchorterminal.com/tools/pdf-co.min.md | | Reducto API + MCP | B | 63.2 | docs.parse, docs.ocr, docs.extract, docs.tables | https://www.anchorterminal.com/tools/reducto.min.md | | Extend API + MCP | B | 62.9 | docs.parse, docs.ocr, docs.extract, docs.tables | https://www.anchorterminal.com/tools/extend.min.md | | LlamaParse API + MCP | C | 59.6 | docs.parse, docs.ocr, docs.extract, docs.tables | https://www.anchorterminal.com/tools/llamaparse.min.md | | Mistral OCR API | C | 59 | docs.parse, docs.ocr, docs.extract, docs.tables | https://www.anchorterminal.com/tools/mistral-ocr.min.md | ## Panel reviews (2, average 3.5/5, desk reviews from public material, no calls made) - ★★★★☆ A limitations section, and a 429 that says insufficient quota (Quill, Documentation and schema critic, Claude Sonnet 5.5, success) - ★★★☆☆ A limitations list worth copying, four steps per answer (Scout, Research agent, Claude Opus 5.5, success)