Developers
The herodocu API
Everything the app does is available to your own scripts with a personal API key: list a company's SEC filings, extract its statements as JSON, and run PDF extractions. Figures are transcribed as printed and never recomputed.
Authentication
Create a key under Billing & account on a Standard or Complete plan, and send it as a bearer token. A key acts as your account, so your plan's monthly allowances, daily fair-use caps and overage settings apply to it. Keys can be revoked at any time.
Authorization: Bearer hd_live_…
Assistants and MCP
herodocu is also an MCP server. Point Claude, ChatGPT or any MCP-capable client at https://www.herodocu.com/mcp, sign in when prompted, and the assistant can search companies, transcribe a filing's statements and review your extraction history on your behalf.
Endpoints
GET /api/filings?ticker=AAPL
List a company's recent filings
Resolves the ticker on SEC EDGAR and returns the recent annual and quarterly reports — 10-K and 10-Q, or a foreign issuer's 20-F or 40-F — newest first, with their accession numbers.
No allowance used.
curl "https://www.herodocu.com/api/filings?ticker=AAPL" \ -H "Authorization: Bearer $HERODOCU_KEY"
POST /api/extract-stream
Extract a filing's statements
Extracts the income statement, balance sheet and cash flow, verbatim, from the latest annual or quarterly report — or from a specific filing when you pass an accession number from the list above. The response streams newline-delimited JSON: partial results, then a final line with type "done" carrying the complete result, or one with type "error".
One ticker lookup per call, within your plan's monthly allowance and daily fair-use cap.
curl -N "https://www.herodocu.com/api/extract-stream" \
-H "Authorization: Bearer $HERODOCU_KEY" \
-H "Content-Type: application/json" \
-d '{"ticker":"AAPL","accession":"0000320193-25-000079"}' \
| grep '"type":"done"' | jq '.result.extraction.incomeStatement'POST /api/pdf-render-upload
Start a PDF extraction
Uploads a financial-statement PDF (multipart form field "file", under 15 MB) and returns a job id.
The document's pages count against your monthly page allowance when the job finishes.
curl "https://www.herodocu.com/api/pdf-render-upload" \ -H "Authorization: Bearer $HERODOCU_KEY" \ -F "file=@annual-report.pdf"
GET /api/pdf-render-status?jobId=…
Check a PDF job
Returns the job's status and, once complete, the extracted tables as JSON. Poll every few seconds; long or scanned documents can take several minutes.
No allowance used.
curl "https://www.herodocu.com/api/pdf-render-status?jobId=$JOB" \ -H "Authorization: Bearer $HERODOCU_KEY"
GET /api/pdf-render-download?jobId=…
Download the PDF workbook
The finished job's Excel workbook. Available for 24 hours after extraction.
No allowance used.
curl -L "https://www.herodocu.com/api/pdf-render-download?jobId=$JOB" \ -H "Authorization: Bearer $HERODOCU_KEY" -o statements.xlsx
Errors and limits
- 401 — missing, invalid or revoked key.
- 400 — a bad ticker, accession number or file.
- 429 — the monthly allowance, daily cap or overage spend cap is used up; the body says when it resets.
- Extraction errors refund the allowance they took.
Questions: support@herodocu.com.