Use Case

Extract Text from PDF API

Pull plain text from any public PDF URL with a single API call. Works with token-in-URL download links, redirect chains, and JavaScript-triggered attachments - for search indexing, NLP pipelines, and content migration.

Why is extracting text from PDFs so painful?

Getting text out of a PDF means running a parser in your own service and keeping it fed with memory for large files. That is manageable. The part that usually breaks is fetching the file.

If the PDF sits behind a redirect chain or a JavaScript-triggered download, your backend never sees the bytes - it gets an HTML page or an empty body. You end up maintaining a headless browser just to download a file.

PDFPipe handles the fetching and the parsing. Send us any public URL - inline or auto-download - and get back the PDF's text layer as plain text, page by page. It works on digital-born PDFs; scanned or image-only PDFs have no text layer and return empty text, because PDFPipe does not do OCR. Login-walled PDFs are not supported either: we do not send cookies or credentials to the source.

How it works

One POST request. We handle the rest.

1. Send a request

curl
curl -X POST https://api.pdfpipe.dev/v1/convert \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/report.pdf",
    "format": "text",
    "returnMethod": "inline"
  }'

2. Get the response

JSON response
{
  "requestId": "req_01J9X7K2M...",
  "status": "complete",
  "format": "text",
  "pagesProcessed": 5,
  "creditsUsed": 1,
  "contentType": "text/plain",
  "content": "QUARTERLY FINANCIAL REPORT\nQ4 2025\n..."
}

Plain text, page by page

PDFPipe returns the text exactly as the PDF's text layer stores it (via pdf.js), with line breaks preserved and a blank line between pages - ready to feed into your search index, NLP model, or content pipeline. Multi-column layouts come out in the order the PDF stores them, which is usually but not always reading order.

  • Text layer of every page, in document order
  • Line breaks preserved, pages separated by blank lines
  • Any language the PDF's fonts encode as text
  • Optional pages parameter to extract a range (max 100 pages)
  • Works with token-in-URL and auto-download PDFs
Sample text output
QUARTERLY FINANCIAL REPORT
Q4 2025

Prepared by: Acme Corp
Date: January 15, 2026

Executive Summary

Revenue for Q4 2025 reached $4.2M, a 23% increase
over the previous quarter. Operating margins improved
to 18.5%, driven by reduced infrastructure costs and
increased automation across the fulfillment pipeline.

Key Metrics
- Revenue: $4,200,000
- Operating Margin: 18.5%
- Customer Acquisition Cost: $142
- Monthly Active Users: 52,400
Node.js
const response = await fetch(
  "https://api.pdfpipe.dev/v1/convert",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer pk_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      url: "https://example.com/report.pdf",
      format: "text",
      returnMethod: "inline",
    }),
  }
);

const data = await response.json();
const text = data.content;

// Feed into your NLP pipeline
const sentences = text.split(/\n+/).filter(Boolean);
console.log(`Extracted ${sentences.length} lines`);

Works with any language

PDFPipe is a standard REST API. If your language can make HTTP requests, it can extract text from PDFs. No SDK required - there is an official TypeScript/Node.js SDK (pdfpipe-sdk) and an MCP server if you want them.

JavaScriptPythonGoRubyPHPJavaC#curl

Start extracting text from PDFs today

Free tier includes 300 requests per month. No credit card required.