You will get Extract Data From PDFs Into a Clean CSV — Including Encrypted Files

Project details
Congress publishes stock-trade disclosures as RC4-encrypted PDFs with an empty user password. They open, but nothing inside decompresses until decrypted - so standard parsers find no text, assume the file is a scan, and reach for OCR. They are not scans. The text is recoverable exactly, so OCR would have added errors to financial data that needed none.
I wrote a minimal PDF reader and record parser, both pure standard-library Python.
747 documents attempted, 672 parsed (90.0%), 5,872 trades extracted, 100% with a parsed amount range. The 75 failures are logged with reasons, not dropped.
Sole developer - built the PDF decoder and record parser end to end.
I wrote a minimal PDF reader and record parser, both pure standard-library Python.
747 documents attempted, 672 parsed (90.0%), 5,872 trades extracted, 100% with a parsed amount range. The 75 failures are logged with reasons, not dropped.
Sole developer - built the PDF decoder and record parser end to end.
Data Tool
PythonWhat's included
| Service Tiers |
Starter
$65
|
Standard
$150
|
Advanced
$340
|
|---|---|---|---|
| Delivery Time | 3 days | 5 days | 7 days |
Number of Pages Mined/Scraped | 25 | 100 | 300 |
Number of Sources Mined/Scraped | 25 | 100 | 300 |
Number of Revisions | 1 | 2 | 3 |
Frequently asked questions
About Fox
Web Scraping & PDF Data Extraction, Clean CSV, Delivered Once
Burbank, United States - 10:45 pm local time
WHAT I DO
I take a one-time job — a site to scrape, a stack of PDFs to extract, a messy spreadsheet to clean, a public dataset to pull and reshape — and deliver a finished file. You get the data, the field definitions, and a short note on how it was collected and what it does and doesn't cover.
WHAT I'M GOOD AT
• PDFs that don't cooperate. Encrypted files, wrapped table rows, page breaks splitting records in half. I wrote my own PDF text extractor for a government dataset because the standard libraries wouldn't open the files.
• Public and municipal data. Socrata and similar open-data APIs, pagination, deduplication across repeat pulls, code-to-plain-English mapping (NAICS, asset-type codes, and so on).
• Bulk site collection. Hundreds to thousands of pages, verified by actually fetching them, rate-limited so nothing gets blocked or blocklisted.
• Saying what the data won't tell you. If 10% of a document set is unreadable, that 10% arrives in a separate file with the reason logged. You will not get silent gaps.
HOW I WORK
• Everything I write is plain Python — standard library, no dependency stack to install or maintain.
• I quote fixed price for a defined deliverable, and I confirm the exact columns with you before I start so there's no surprise at handoff.
• I send progress updates without being asked, and a sample of the first rows early so you can correct the shape before I run the whole job.
WHAT I DON'T TAKE ON
I deliver finished datasets, not systems you run
Steps for completing your project
After purchasing the project, send requirements so Fox can start the project.
Delivery time starts when Fox receives requirements from you.
Fox works on your project following the steps below.
Revisions may occur after the delivery date.
Check your files and confirm the scope
I open a few of your PDFs, confirm the layout is consistent enough to parse, and flag anything that will not extract cleanly - before any work starts.
Send you a sample of the first rows
You see the output shape early, while it is still cheap to change. You correct the columns before I run the whole job, not after.