# Download API — Finradar API > Version: 3.61.0 | Generated: 2026-06-20 | Content Hash: f7bf5061 > Fetch this file at: https://uat.finradarapi.com/llms/download-api.txt ## Authentication All endpoints require an API key. Pass it via query parameter `?apiKey=YOUR_KEY` or header `X-API-Key: YOUR_KEY`. WebSocket endpoints accept the key in the `token` auth payload or query parameter. --- ## Download API Download filing documents. ### POST /api/v1/scrapping/pdf Download filing as PDF, HTML, or plain text. Auto-detects CIK from the SEC URL (or accepts an explicit `cik` body field as fallback). iXBRL viewer links (containing `/ix?doc=`) are normalized server-side. **Token cost:** 25 tokens per call **Response fields:** - `pdf_url` (string): Signed S3 URL for the rendered output (PDF, HTML, or TXT — name is `pdf_url` for legacy reasons regardless of `type`). Valid for 24 hours from `rendered_at` — fetch the file before `expires_at`. Direct download — no auth required for the signed URL itself, the signature handles authorization. - `page_count` (integer): Number of pages in the rendered output. For PDF: actual page count (10-K outputs typically 100-400, proxy statements 30-150, 8-K with exhibits 5-50). For HTML/TXT: synthetic page count assuming ~3000 chars per page. Useful for client-side cost estimation when feeding the document into LLMs. - `rendered_at` (string): ISO-8601 UTC timestamp the headless-Chrome render completed. Renders are cached server-side for 7 days keyed by `(link, type)`; values older than 7 days indicate a fresh re-render was triggered (cold path). - `expires_at` (string): ISO-8601 UTC timestamp the signed S3 URL expires (always `rendered_at + 24h`). After expiry the URL returns 403 — re-call this endpoint to mint a new signed URL (cached render path; 25-token cost still applies but render itself is reused for 7 days). **Since:** v1.0.0 **Utility:** Render any SEC filing or exhibit URL to a PDF (or HTML / plain text) for archival, investor memos, regulatory submissions, or simply human-readable distribution. Runs a headless Chrome render under the hood — supports the full SEC filing surface including 10-K/10-Q (often 100-400 page documents), 8-Ks with embedded press-release exhibits, proxy statements with vote tabulations, S-1 prospectuses with financial-statement tables. iXBRL viewer URLs (`https://www.sec.gov/ix?doc=/...`) are auto-cleaned to point at the underlying document. Returns a signed S3 URL valid for 24 hours — fetch the actual file from there. The 25-token cost reflects the heavy headless-Chrome render. For raw cached HTML/PDF without re-rendering use `GET /api/v1/scrapping/public/{filepath}`; for surgical item-level extraction use `/scrapping/extractor`. **Use case:** Generating a PDF for an investor presentation. **Parameters:** - `link` (body, required): Direct SEC document URL — the filing's primary HTML document (NOT the index page; must be the actual content URL). Server-side rejected if not on the `sec.gov` domain. iXBRL viewer URLs (`https://www.sec.gov/ix?doc=/...`) are auto-normalized to the underlying document URL — pass either form. - `type` (body, optional, default: pdf): Output format. `pdf` (default) — full headless-Chrome render with embedded fonts, tables, and images preserved. `html` — cleaned HTML with embedded styles inlined (lighter weight, smaller files). `txt` — plain-text strip-down for NLP pipelines and LLM grounding (loses table structure but tiny files). - `fileName` (body, optional): Custom filename for the download (extension auto-appended based on `type`). Useful for archival workflows where you want predictable filenames (e.g. `{ticker}-{form_type}-{fiscal_year}`). Defaults to a hash-based filename derived from the source URL when omitted. **Sample response:** ```json { "pdf_url": "https://finradar-pdf.s3.amazonaws.com/AAPL-10K-2025.pdf?X-Amz-Signature=...", "page_count": 124, "rendered_at": "2026-05-01T20:55:12.000Z", "expires_at": "2026-05-02T20:55:12.000Z" } ```