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.