{"uid":"cap_3j1DJ7GEzFWRTUD6xIrpb","slug":"readfetch-pdf-extraction-3a04d0f8","name":"ReadFetch PDF Extraction","description":"Extract text from a PDF (%PDF- magic, not Content-Type). Send exactly one of `url` (public http(s) link — egress GET, ≤ 20 MB) or `content_base64` (bytes you already have, ≤ 20 MB decoded; optional `filename` labels the upload). Returns `pages` (per-page text), one concatenated `markdown` body, `title`, and `metadata`; $0.005 per document, not per page. `max_pages` limits extraction (default 50, max 200); documents over 200 pages or above your cap return 413 and are not bille","url":"https://readfetch.com/v1/pdf?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","example":"https://example.com/paper.pdf","description":"Public PDF URL; fetched through egress (≤ 20 MB). Mutually exclusive with content_base64."},"filename":{"type":"string","description":"Optional label when using content_base64 (default upload.pdf); ignored for url-only requests."},"max_pages":{"type":"number","default":50,"maximum":200,"minimum":1,"description":"Extract at most this many pages. Default 50; raise up to 200 when the document is longer. Over cap → 413, unbilled."},"content_base64":{"type":"string","description":"Base64-encoded PDF bytes (≤ 20 MB). Mutually exclusive with url; pair with filename when the label matters."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Ycys_2YFHWxYPosk6wuvU","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a PDF by URL or inline content and returns its text plus a Markdown-formatted body, up to 200 pages.","exampleAgentPrompt":"Can you fetch this PDF and extract its text as Markdown — here's the URL: https://arxiv.org/pdf/2401.00001.pdf — and only process up to 30 pages?","exampleUseCases":[{"title":"Research paper content extraction","prompt":"Grab this arXiv paper PDF at https://arxiv.org/pdf/2401.12345.pdf and pull out all the text as Markdown so I can read through it — limit it to the first 50 pages."},{"title":"Corporate report data retrieval","prompt":"I need the full text from this annual report PDF at https://example.com/reports/annual2023.pdf — fetch it and give me the Markdown content, up to 100 pages."},{"title":"Scraping PDFs blocked by datacenters","prompt":"This PDF at https://protected-site.com/whitepaper.pdf blocks datacenter IPs — can you fetch it through a residential address and extract its text as Markdown?"}],"resultDescription":"Returns the extracted plain text and a Markdown-formatted body of the PDF document, structured per page, up to the specified page limit (default 50, max 200).","failureModes":["PDF URL is unreachable or returns a non-PDF response","Inline base64 content exceeds 20 MB limit","max_pages out of range (below 1 or above 200)","Residential egress unavailable for the target host","PDF is password-protected or encrypted and cannot be parsed","Network timeout fetching remote PDF URL"],"whenToPreferThis":"Choose this endpoint when you specifically need to extract text or Markdown content from a PDF document — either via a remote URL or an inline base64-encoded file. It is the right choice when the target document is a PDF (not an HTML page or other format), when you need structured Markdown output, or when the PDF host blocks datacenter IPs and you need residential egress. For generic web page text extraction, prefer the /v1/fetch sibling endpoint.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-04T13:14:32.520Z","isFirstParty":false,"canonicalSlug":"readfetch-pdf-extraction-3a04d0f8"}