---
title: "Extract one named section (Risk Factors, MD&A, Business …) of a 10-K / 10-Q / 8-K filing as plain text or HTML. Returns a Filing with text and sections filled."
method: POST
path: "/v2/ops/finance.filings.get"
tags: ["finance"]
---

# Extract one named section (Risk Factors, MD&A, Business …) of a 10-K / 10-Q / 8-K filing as plain text or HTML. Returns a Filing with text and sections filled.

`POST /v2/ops/finance.filings.get`

## Request

- Base URL: `https://api.agentkey.app`
- URL: `https://api.agentkey.app/v2/ops/finance.filings.get`
- Auth: HTTP bearer

Give the primary document URL on www.sec.gov (the url field of a finance.filings.search result) and the section id: 10-K items 1, 1A, 1B, 1C, 2 … 15; 10-Q parts part1item1 … part2item6; 8-K items 1-1 … 9-1. One section per call; the filing metadata fields stay null.

Fixed price: 0.5 credits per successful call, whichever provider serves it.

## Request body

- object
  - `fields` string[]: Projection: keep only these dotted paths of data, e.g. ["items.id", "items.text"].
  - `format` 'text' | 'html': Return the section as plain text or as the original HTML.
  - `include_raw` boolean: Attach the raw upstream payload as `raw` (not a stable contract; truncated above 256 KB).
  - `provider` string: Shorthand for routing.only = [provider].
  - `routing` Routing: Provider routing override. order: try these providers first; only: restrict to these (equivalent to pinning); allow_fallbacks: false tries only the first eligible provider.
    - `allow_fallbacks` boolean: false = try only the first eligible provider.
    - `only` string[]: Restrict to these providers.
    - `order` string[]: Providers to try first, in order.
    - `strategy` 'auto': How eligible providers are ordered. auto = the method's curated order. fastest / stable / popular are specified but not implemented yet (400 until then). The price is fixed whatever the strategy; mutually exclusive with order.
  - `section` '1' | '1A' | '1B' | '1C' | '2' | '3' | '4' | '5' | '6' | '7' | '7A' | '8' | '9' | '9A' | '9B' | '9C' | '10' | '11' | '12' | '13' | '14' | '15' | 'part1item1' | 'part1item2' | 'part1item3' | 'part1item4' | 'part2item1' | 'part2item1a' | 'part2item2' | 'part2item3' | 'part2item4' | 'part2item5' | 'part2item6' | '1-1' | '1-2' | '1-3' | '1-4' | '1-5' | '2-1' | '2-2' | '2-3' | '2-4' | '2-5' | '2-6' | '3-1' | '3-2' | '3-3' | '4-1' | '4-2' | '5-1' | '5-2' | '5-3' | '5-4' | '5-5' | '5-6' | '5-7' | '5-8' | '6-1' | '6-2' | '6-3' | '6-4' | '6-5' | '6-6' | '6-10' | '7-1' | '8-1' | '9-1' | 'signature', required: Section id: 10-K item (1A = Risk Factors, 7 = MD&A), 10-Q part/item (part1item2 = MD&A), or 8-K item (2-2 = Results of Operations).
  - `url` string, required: Primary document URL on www.sec.gov (…/Archives/edgar/data/<cik>/<accession>/<doc>.htm).

## Response `200`

Success envelope

- FilingEnvelope: Success envelope whose data is a Filing.
  - `attempts` Attempt[], required
    - `error_type` string: validation | not_found | rate_limit | timeout | upstream_unauthorized | upstream_unavailable | provider_error
    - `provider` string, required: Provider slug.
    - `refunded` boolean: true when the reservation for this attempt was refunded.
    - `status` integer, required: HTTP status AgentKey mapped this attempt to (200 on success).
    - `took_ms` integer, required
    - `tool` string, required: Registry tool name (Provider/operation) that was called.
    - `upstream_status` integer: The provider's real HTTP status; absent when nothing was received.
  - `credits_charged` number, required: Credits charged for this call (the method's fixed price).
  - `data` object, required: A regulatory filing (SEC EDGAR). Search methods fill the metadata; finance.filings.get fills text / sections for one document.
    - `cik` string, nullable, required: Filer CIK, zero-padded to 10 digits when the vendor pads it.
    - `company` string, nullable, required: Filer name.
    - `description` string, nullable, required: Filing description / document title.
    - `filed_at` string, date-time, nullable, required: Filing acceptance time, RFC 3339 UTC (date-only vendors give midnight UTC).
    - `form_type` string, nullable, required: Form type (10-K, 10-Q, 8-K, 4 …).
    - `id` string, nullable, required: Accession number (0000320193-25-000079).
    - `period` string, date, nullable, required: Period of report, YYYY-MM-DD.
    - `sections` object[], nullable, required: Extracted sections (finance.filings.get); null for search results.
      - `item` string, required: Section id as requested (1A, 7, part1item2 …).
      - `text` string, required: Section text.
    - `symbol` string, nullable, required: Filer ticker when the vendor reports one.
    - `text` string, nullable, required: Extracted document text (finance.filings.get); null for search results.
    - `url` string, nullable, required: Primary document URL on www.sec.gov (or the vendor's rendering of it).
  - `op` string, required: Method name.
  - `op_version` integer, required: Method version that served the call.
  - `provider` string, required: Provider that actually served the call.
  - `raw` unknown
  - `raw_truncated` boolean
  - `request_id` string, required: Correlation id; quote it in support requests.
  - `took_ms` integer, required
  - `unsupported_fields` string[], required: Output paths this provider structurally does not supply; such fields are null for a different reason than 'missing on this record'.

## Other responses

- `400`: Validation error (unknown field, bad cursor, bad routing)
- `402`: Insufficient credits
- `404`: Not found (method, or upstream object)
- `429`: Rate limited upstream
- `502`: All providers failed
- `504`: Timed out

---

[API](https://skmtc.dev/agentkey/apis/agentkey-scenario-methods.md) - [All operations](https://skmtc.dev/agentkey/apis/agentkey-scenario-methods/llms.txt) - [OpenAPI document](https://skmtc.dev/agentkey/apis/agentkey-scenario-methods/revisions/a7cf5b682fdd?raw)
