{"uid":"cap_DvlwWixoABf4WuO5yB0KL","slug":"d21-pdf-extract-383db01b","name":"d21 PDF Extract","description":"PDF Extract ($0.04): deterministic PDF -> per-page plain text + metadata, no OCR, no table extraction, no third-party PDF/OCR vendor -- text pulled directly from the PDF's own embedded text objects via pdfjs-dist (Mozilla's own PDF.js, Apache-2.0) running in this process. Body { url } (public http(s) PDF link, SSRF-hardened fetch) OR { pdf_base64 } (raw base64 bytes), not both. Max 10 MiB, max 40 pages. Check free /v1/pdf_extract/availability first.","url":"https://draconic21-x402-api.onrender.com/v1/pdf_extract?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","description":"Public http(s) link to a PDF. Mutually exclusive with pdf_base64."},"max_pages":{"type":"integer","description":"Optional; defaults to 40 (the route's own cap). Capped at 40 regardless of the value passed."},"pdf_base64":{"type":"string","description":"Raw PDF bytes, base64-encoded. Mutually exclusive with url. Max 10 MiB decoded."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.04","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.04/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.04","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.04","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_IDkKbw9iiNWIv-WMvX1dt","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.04","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts per-page plain text and metadata from a PDF using embedded text objects (no OCR, no third-party vendor), returning structured page-by-page content.","exampleAgentPrompt":"Pull all the text out of this PDF for me — here's the link: https://example.com/report.pdf — extract up to 40 pages and give me the plain text content page by page.","exampleUseCases":[{"title":"Extract text from SEC filing PDF","prompt":"I need the plain text from this SEC 10-K filing PDF — can you extract it page by page? Here's the URL: https://www.sec.gov/Archives/edgar/data/12345/filing.pdf"},{"title":"Parse uploaded contract document","prompt":"I have a contract PDF as a base64 string — can you extract all the text from it so I can search through the clauses? Here it is: [base64 data]"},{"title":"Index research paper for search","prompt":"Grab the text content from this academic paper PDF at https://arxiv.org/pdf/2301.00001.pdf so I can index it and search through it later."}],"resultDescription":"Returns structured JSON with per-page plain text content and PDF metadata (such as title, author, page count), with one entry per page up to the requested or default maximum of 40 pages. No OCR is performed; only text embedded directly in the PDF's own text objects is returned.","failureModes":["PDF exceeds 10 MiB limit — request rejected","PDF has more than 40 pages — capped or rejected depending on max_pages","PDF URL is not publicly accessible or blocked by SSRF protection — fetch fails","PDF contains only scanned images with no embedded text — returns empty or sparse text per page","Both url and pdf_base64 provided simultaneously — request rejected as mutually exclusive","Invalid base64 encoding — decoding error returned","PDF is password-protected or encrypted — parsing fails","Service unavailable — check /v1/pdf_extract/availability endpoint first"],"whenToPreferThis":"Choose this endpoint when you need fast, deterministic text extraction from PDFs that contain embedded text (not scanned images). It is ideal when you want no dependency on third-party OCR or PDF vendors, need per-page text breakdown, and the source PDF is under 10 MiB and 40 pages. If your PDF consists entirely of scanned images, you will need an OCR-capable alternative instead.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T18:40:58.218Z","isFirstParty":false,"canonicalSlug":"d21-pdf-extract-383db01b"}