PDF & Invoice Data Extractor — Text, Metadata, Amounts, Dates avatar

PDF & Invoice Data Extractor — Text, Metadata, Amounts, Dates

Pricing

Pay per usage

Go to Apify Store
PDF & Invoice Data Extractor — Text, Metadata, Amounts, Dates

PDF & Invoice Data Extractor — Text, Metadata, Amounts, Dates

Extract text, metadata, page count, emails, dates, and financial amounts from PDFs in bulk — with automatic OCR fallback for scanned pages. No paid AI APIs required.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Harsh

Harsh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

PDF & Invoice Data Extractor

Bulk-extract text, metadata, and key data points from PDFs — from URLs, a single upload, or a ZIP of many PDFs. Works well on invoices, bank/account statements, and general business documents. No paid AI APIs required for the core extraction, so it's fast and predictable to run at volume.

What you get, per PDF

  • Full text
  • Metadata — title, author, subject, creator, producer, creation/modified dates
  • Page count and file size
  • Emails found in the document
  • Dates found in the document (multiple common formats)
  • Financial amounts — both currency-marked ($, €, £, ₹, ¥, USD/INR/EUR/etc.) and plain table-style numbers (e.g. "1,500.00"), which is how amounts usually appear in bank/account statements
  • Links written in the text

Scanned PDFs — automatic OCR fallback

Most PDFs (invoices, statements, reports) have a real text layer and are read directly — fast, and free of any OCR cost. Only the leftover PDFs that have no text layer (true scans/photos) get run through OCR (Tesseract, local, no paid API) automatically. If even OCR can't read a page (blank page, very low quality), that record is clearly flagged instead of returned empty.

Status values you'll see per record:

  • success — read directly, no OCR needed
  • success_via_ocr — had no text layer, OCR recovered it
  • scanned_pdf_ocr_failed — no text layer, and OCR couldn't read it either

Optional: AI-structured bank statement transactions (bring your own key)

For documents that look like a bank/account statement, you can optionally provide your own API key for Gemini, OpenAI, or Claude. All the extraction above still happens locally and for free — the AI is only used to organize the already-extracted text into a clean structuredTransactions array (date, description, withdrawal, deposit, balance). We never charge for or store this key; it's encrypted by Apify and only ever used inside your own run — any AI usage bills go straight to your own provider account.

  • No key provided → actor behaves exactly as described above (free, local, no AI).
  • Key provided, but the document isn't detected as a bank statement → AI is skipped, no cost incurred.
  • Key provided and the AI call fails for any reason (bad key, rate limit, etc.) → that record still returns all the normal fields, plus an aiStructuringError message. Nothing else in the run is affected.

Input

  • urls: array of public PDF links
  • pdfFile: upload a single PDF, or a ZIP containing many PDFs
  • aiProvider (optional): gemini (default), openai, or claude
  • aiApiKey (optional): your own API key for the chosen provider
  • aiModel (optional): leave blank for a sensible per-provider default

Output example

{
"source": "invoice.pdf",
"status": "success",
"metadata": {
"title": "Invoice INV-2026-0042",
"author": "Acme Corp Billing System",
"pageCount": 1,
"creationDate": "..."
},
"meta": { "characterCount": 399, "fileSizeBytes": 17519, "ocrUsed": false },
"extractedText": "...",
"emails": ["billing@acmecorp.com"],
"dates": ["2026-08-01"],
"financialAmounts": ["$1,250.50", "1,363.05"],
"links": ["https://acmecorp.com/invoices/inv-2026-0042"]
}

Every field is available for CSV/Excel export directly from the Apify dataset view — no extra setup needed.