SEC EDGAR API endpoint
Extracts item sections (e.g. 1A Risk Factors, 7 MD&A) from a 10-K/10-Q/8-K primary document as clean text. Provide accession plus cik or ticker.
/sec/filing/sectionsExtracts item sections (e.g. 1A Risk Factors, 7 Management's Discussion and Analysis) from a 10-K/10-Q/8-K primary document as clean text. Official SEC data.
Query parameters:
accession (required) — accession number.cik or ticker (one required) — company identifier.items (optional) — comma-separated item numbers to return, e.g. 1A,7.max_chars (optional, default 20000, max 200000) — per-section character cap.Response includes sections[]: item, title, text, char_count, truncated.
| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| item | 1 | “1A” |
| title | 1 | “Risk Factors” |
| text | 1 | median 19,812 characters |
| char_count | 1 | 85,348 |
| truncated | 1 | true in 1 of 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| cik | string | No | SEC CIK (numeric or zero-padded) | 320193 | |
| ticker | string | No | Ticker symbol (alternative to cik) | AAPL | |
| accession | string | Yes | Accession number | 0000320193-25-000079 | |
| items | string | No | Comma-separated item numbers to return, e.g. 1A,7 | 1A,7 | |
| max_chars | integer | No | Max characters per section, default 20000, max 200000 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sec/filing/sections?accession=0000320193-25-000079" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"cik": 320193,
"accession_number": "0000320193-25-000079",
"form": "10-K",
"document_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"count": 1,
"sections": [
{
"item": "1A",
"title": "Risk Factors",
"text": "The Company's business...",
"char_count": 68562,
"truncated": true
}
],
"source_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm"
}
}Request schema
No body schema
Response schema
#/definitions/sec.filingSectionsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | sec.FilingSectionsResponse | No | ||||
| data.accession_number | string | No | SEC accession number that uniquely identifies the filing. | |||
| data.cik | integer | No | Company's SEC Central Index Key (CIK) number. | |||
| data.count | integer | No | Number of sections returned. | |||
| data.document_url | string | No | Link to the filing document the sections were taken from. | |||
| data.form | string | No | SEC form type of the filing, such as `10-K`. | |||
| data.sections | array | No | Item sections extracted from the filing, in item order. | |||
| data.sections[].char_count | integer | No | Length of the full section text before any truncation. | |||
| data.sections[].item | string | No | 1A | Item number of the section in the filing, such as `1A` or `7`. | ||
| data.sections[].text | string | No | Plain text of the section, cut off at the `max_chars` limit. | |||
| data.sections[].title | string | No | Risk Factors | Section heading, such as `Risk Factors`. | ||
| data.sections[].truncated | boolean | No | Whether `text` was cut short because the section exceeded `max_chars`. | |||
| data.source_url | string | No | URL the data was read from. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/sec/filing/sections?accession=0000320193-25-000079" \
-H "x-api-key: $CRAWLORA_API_KEY"