PDF Procurement Document Extractor
Pricing
from $5.00 / 1,000 procurement document saveds
PDF Procurement Document Extractor
Find and extract procurement-related PDFs from company websites: certificates, annual/assurance reports, datasheets, and price lists. Ideal for supplier shortlist prep across CEE/EU.
Pricing
from $5.00 / 1,000 procurement document saveds
Rating
0.0
(0)
Developer
Viktor Kondas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Find and extract procurement-related PDFs from company websites — certificates, reports, datasheets, price lists.
Standalone Apify actor for supplier shortlist prep across CEE/EU. Pairs well with the Google Maps CEE Supplier Shortlist Builder and Website Intelligence + Contact Extractor when you already have company websites.
Optional next step after Maps / Website Intel: feed website URLs into this actor to surface procurement PDFs (ISO certs, reports, datasheets).
What it does
- Crawls a company site or downloads/investor page for PDF links.
- Follows download-like paths (
/downloads,/dokumentumok,/publications,/investor,/quality, …). - Downloads each PDF (capped) and extracts text (no OCR at launch).
- Classifies documents: certificate, assurance/annual report, datasheet, price list, catalog, policy.
- Detects ISO hints (9001, 14001, 45001, 27001, …) from filename + text.
- Skips full text extract for oversized PDFs (metadata still saved) so Store QA stays fast.
- Built for n8n, Make, Zapier, and vibe-coder agent workflows.
Who it's for
- Procurement teams collecting supplier certificates and reports before outreach.
- Sales / channel teams mining price lists and catalogs from brand sites.
- Agencies running document discovery for client shortlists.
- Vibe coders wiring website → PDF evidence into CRM / n8n / Make / Zapier.
- Market researchers auditing public compliance document footprints.
What this actor is — and is not
This actor helps you discover and extract public PDF evidence. It does not verify certificate authenticity, accreditation status, or document legal validity.
Use the output for:
- supplier document discovery
- shortlist preparation
- compliance evidence collection
Do not use it as the sole basis for vendor qualification or contract award.
What data you get
| Field | Description |
|---|---|
sourceWebsite | Input website / start URL |
pdfUrl, fileName, documentTitle | Document identity |
documentType | certificate, assurance_report, annual_report, datasheet, price_list, catalog, policy, other |
isCertificate, isPriceList, isDatasheet, isAnnualReport | Boolean flags |
isoHints | Detected ISO labels when present |
pageCount, byteSize | PDF metadata when extracted |
textExcerpt | Truncated extracted text |
foundOnPage | HTML page where the link was discovered |
scrapedAt, error | Provenance / skip or failure notes |
How to use it
- Configure input — website or downloads URL, max PDFs, extract text, proxy.
- Run on Apify cloud (recommended) or locally with
apify run. - Download dataset as JSON, CSV, or Excel from the run page.
Input presets
MOL Group annual & assurance PDFs (Store / QA example)
{"websites": ["https://www.molgroup.info/en/investor-relations/annual-reports"],"maxDocuments": 3,"maxPagesPerSite": 3,"extractText": true,"maxTextChars": 3000,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Store input prefill uses this small cap so Apify automated QA finishes within 5 minutes. For production, raise maxDocuments (e.g. 20–100).
Published Store example: MOL Group annual & assurance PDFs — procurement docs.
After Google Maps / Website Intel
{"websites": ["https://example-supplier.hu/downloads","https://example-manufacturer.ro/dokumentumok"],"maxDocuments": 20,"maxPagesPerSite": 8,"extractText": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Link discovery only (no text extract)
{"websites": ["https://www.molgroup.info/en/investor-relations/annual-reports"],"maxDocuments": 10,"extractText": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output example
{"sourceWebsite": "https://www.molgroup.info/en/investor-relations/annual-reports","pdfUrl": "https://molgroup.info/en/show/publications/annual_reports/2025/mol-csrd-limited-assurance-report-eng-2025.pdf","fileName": "mol-csrd-limited-assurance-report-eng-2025.pdf","documentTitle": "mol csrd limited assurance report eng 2025","documentType": "assurance_report","isCertificate": false,"isPriceList": false,"isDatasheet": false,"isAnnualReport": false,"isoHints": [],"pageCount": 5,"byteSize": 387120,"textExcerpt": "Limited assurance …","foundOnPage": "https://www.molgroup.info/en/investor-relations/annual-reports","scrapedAt": "2026-07-20T09:30:00.000Z","error": null}
Proxy, size limits, and blocked sites
| Feature | Support |
|---|---|
| Apify Proxy RESIDENTIAL | Recommended for bot-walled corporate sites |
| Browser fallback | Used when HTML HTTP fails |
| Oversized PDFs | Metadata saved; text extract skipped above maxPdfBytes (default 2.5 MB) |
| No OCR | Scanned image-only PDFs may return empty textExcerpt |
Tips to avoid Store QA timeouts
- Keep prefill / public-task demos at
maxDocuments: 3. - Prefer a downloads/investor page with a few mid-size PDFs over a mega catalog portal.
- Raise caps only for paid production runs.
Secrets and local development
- Never commit
apify/pdf-procurement-document-extractor/.env— it is listed in.gitignore. apify pushexcludes.envvia.gitignoreand.actorignore.- Docker builds exclude
.envvia.dockerignore. - On Apify cloud, customers configure Proxy via input — not from your local
.env. - For local runs only, copy
.env.example→.envand addAPIFY_TOKENif you call the platform. - Only
.env.example(placeholders, no real keys) is in git.
FAQ
How is this different from a generic PDF-to-text actor?
This actor discovers PDFs on company sites and adds procurement classification flags (certs, reports, datasheets, ISO hints) — not only raw text dump.
Does it work outside CEE?
Yes. Marketing ICP is CEE/Europe; any public website with PDF links can work.
Do I need an LLM key?
No. Classification is deterministic keyword/heuristic. No Apify AI event fee.
Why was text skipped on a large annual report?
maxPdfBytes protects run time. Metadata is still saved; raise the limit for production if you need full text.
How many PDFs can I get per run?
Up to 200 (maxDocuments). Prefill/demo stays at 3.
Local development
cd apify/pdf-procurement-document-extractornpm installnpm testnpm run buildnpm run dry-runapify run --input-file=INPUT.smoke.json
Dry run defaults to MOL Group annual reports with 3 PDFs. Install Playwright Chromium once for local browser fallback: npx playwright install chromium.
Pricing
Pay-per-event: $5.00 per 1,000 document records (document event @ $0.005), minimum charge $0.10 per run.
Enable Pay per event + usage in Apify Console so platform compute/proxy costs are passed through to users.
Related actors (suite)
| Actor | Role |
|---|---|
| Google Maps CEE Supplier Shortlist | Discover local suppliers |
| Website Intelligence + Contact | Enrich websites (contacts, tech, compliance) |
| Dealer / Distributor Locator | Expand brand locator pages |
| PDF Procurement Document Extractor (this Actor) | Find certs / reports / datasheets |
| Website Change Monitor | Watch pages for changes |
Each Actor runs standalone; use them as an optional suite when chaining discovery → enrichment → monitoring.
Feedback
Open an issue on the actor’s Apify page or contact Vibe Coder's Life.