329 lines
9.6 KiB
Markdown
329 lines
9.6 KiB
Markdown
---
|
|
title: "SEC EDGAR API Reference"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/sec-edgar.md
|
|
upstream_sha: 9c9bd2e9
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# SEC EDGAR API Reference
|
|
|
|
## Overview
|
|
SEC's Electronic Data Gathering, Analysis, and Retrieval system. Provides free access to corporate filings, company data, and XBRL financial data. No API key required, but a User-Agent header identifying you is mandatory.
|
|
|
|
## Base URLs
|
|
- **EFTS (Full-Text Search):** `https://efts.sec.gov/LATEST`
|
|
- **Company/Filings Data:** `https://data.sec.gov`
|
|
- **EDGAR Website/Archives:** `https://www.sec.gov`
|
|
- **XBRL API:** `https://data.sec.gov/api/xbrl`
|
|
|
|
## Authentication
|
|
- **API Key:** Not required.
|
|
- **User-Agent Header:** REQUIRED on every request. Must contain company/person name and email.
|
|
```
|
|
User-Agent: MyCompany [email protected]
|
|
```
|
|
Requests without a proper User-Agent are blocked (403).
|
|
|
|
## Rate Limits
|
|
- **10 requests per second** per source IP.
|
|
- Exceeding this results in temporary IP-based throttling (HTTP 429).
|
|
- SEC asks users to make requests outside market hours (9:00 PM - 6:00 AM ET) when possible for bulk downloads.
|
|
|
|
---
|
|
|
|
## Key Endpoints
|
|
|
|
### 1. Full-Text Search (EFTS)
|
|
|
|
#### `GET https://efts.sec.gov/LATEST/search-index`
|
|
Search across the full text of all EDGAR filings.
|
|
|
|
**Parameters:**
|
|
| Parameter | Type | Required | Description |
|
|
|-------------|--------|----------|-------------|
|
|
| `q` | string | Yes | Search query text. Supports boolean operators (`AND`, `OR`, `NOT`), exact phrases in quotes. |
|
|
| `dateRange` | string | No | `custom` to enable date filtering. |
|
|
| `startdt` | string | No | Start date `YYYY-MM-DD`. |
|
|
| `enddt` | string | No | End date `YYYY-MM-DD`. |
|
|
| `forms` | string | No | Comma-separated form types, e.g. `10-K,10-Q,8-K`. |
|
|
| `from` | int | No | Pagination offset (default 0). |
|
|
| `size` | int | No | Results per page (default 10, max varies). |
|
|
|
|
**Example:**
|
|
```
|
|
https://efts.sec.gov/LATEST/search-index?q=%22artificial+intelligence%22&forms=10-K&startdt=2024-01-01&enddt=2024-12-31
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"hits": {
|
|
"hits": [
|
|
{
|
|
"_id": "0001234567-24-000123:filing.htm",
|
|
"_source": {
|
|
"file_date": "2024-03-15",
|
|
"display_date_filed": "2024-03-15",
|
|
"entity_name": "EXAMPLE CORP",
|
|
"file_num": "001-12345",
|
|
"form_type": "10-K",
|
|
"file_description": "Annual report",
|
|
"period_of_report": "2023-12-31"
|
|
}
|
|
}
|
|
],
|
|
"total": { "value": 150 }
|
|
}
|
|
}
|
|
```
|
|
|
|
### 2. EDGAR Full-Text Search (Preferred newer endpoint)
|
|
|
|
#### `GET https://efts.sec.gov/LATEST/search-index` (also accessible as below)
|
|
|
|
#### `GET https://efts.sec.gov/LATEST/search-index?q=...`
|
|
|
|
Note: The EDGAR full-text search has also been exposed under a simpler URL:
|
|
|
|
#### `GET https://efts.sec.gov/LATEST/search-index`
|
|
|
|
The above is the canonical endpoint. Some documentation also references the EDGAR search UI which hits the same backend.
|
|
|
|
---
|
|
|
|
### 3. Company Tickers & CIK Lookup
|
|
|
|
#### `GET https://www.sec.gov/cgi-bin/browse-edgar`
|
|
Legacy EDGAR company search.
|
|
|
|
**Parameters:**
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|--------|----------|-------------|
|
|
| `company` | string | No | Company name search. |
|
|
| `CIK` | string | No | CIK number or ticker symbol. |
|
|
| `type` | string | No | Filing type filter (e.g., `10-K`). |
|
|
| `dateb` | string | No | Filed before date `YYYY-MM-DD`. |
|
|
| `owner` | string | No | `include`, `exclude`, or `only`. |
|
|
| `count` | int | No | Number of results (max 100). |
|
|
| `action` | string | Yes | `getcompany` for company search. |
|
|
| `output` | string | No | `atom` for XML/Atom feed. |
|
|
|
|
**Example:**
|
|
```
|
|
https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=AAPL&type=10-K&dateb=&owner=include&count=10&output=atom
|
|
```
|
|
|
|
#### `GET https://www.sec.gov/files/company_tickers.json`
|
|
Returns a JSON mapping of all company tickers to CIK numbers.
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"0": {"cik_str": 320193, "ticker": "AAPL", "title": "Apple Inc."},
|
|
"1": {"cik_str": 789019, "ticker": "MSFT", "title": "MICROSOFT CORP"},
|
|
...
|
|
}
|
|
```
|
|
|
|
#### `GET https://www.sec.gov/files/company_tickers_exchange.json`
|
|
Includes exchange information for each ticker.
|
|
|
|
---
|
|
|
|
### 4. Company Filings & Submissions
|
|
|
|
#### `GET https://data.sec.gov/submissions/CIK{cik_padded}.json`
|
|
Returns company metadata and recent filings for a given CIK (zero-padded to 10 digits).
|
|
|
|
**Example:**
|
|
```
|
|
https://data.sec.gov/submissions/CIK0000320193.json
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"cik": "320193",
|
|
"entityType": "operating",
|
|
"sic": "3571",
|
|
"sicDescription": "Electronic Computers",
|
|
"name": "Apple Inc.",
|
|
"tickers": ["AAPL"],
|
|
"exchanges": ["Nasdaq"],
|
|
"filings": {
|
|
"recent": {
|
|
"accessionNumber": ["0000320193-24-000123", ...],
|
|
"filingDate": ["2024-11-01", ...],
|
|
"reportDate": ["2024-09-28", ...],
|
|
"form": ["10-K", ...],
|
|
"primaryDocument": ["aapl-20240928.htm", ...],
|
|
"primaryDocDescription": ["10-K", ...]
|
|
},
|
|
"files": [
|
|
{"name": "CIK0000320193-submissions-001.json", "filingCount": 1000}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
The `filings.recent` object contains the most recent ~1000 filings. Older filings are in separate paginated files referenced by `filings.files`.
|
|
|
|
---
|
|
|
|
### 5. Company Concept (XBRL Data)
|
|
|
|
#### `GET https://data.sec.gov/api/xbrl/companyconcept/CIK{cik}/{taxonomy}/{tag}.json`
|
|
Returns all values reported by a company for a specific XBRL tag across all filings.
|
|
|
|
**Path Parameters:**
|
|
| Parameter | Description |
|
|
|------------|-------------|
|
|
| `cik` | Zero-padded CIK (10 digits). |
|
|
| `taxonomy` | XBRL taxonomy: `us-gaap`, `ifrs-full`, `dei`, `srt`. |
|
|
| `tag` | XBRL concept tag, e.g., `Revenue`, `Assets`, `AccountsPayableCurrent`. |
|
|
|
|
**Example:**
|
|
```
|
|
https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/Revenue.json
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"cik": 320193,
|
|
"taxonomy": "us-gaap",
|
|
"tag": "Revenue",
|
|
"label": "Revenue",
|
|
"description": "Amount of revenue recognized...",
|
|
"entityName": "Apple Inc.",
|
|
"units": {
|
|
"USD": [
|
|
{
|
|
"start": "2023-10-01",
|
|
"end": "2024-09-28",
|
|
"val": 391035000000,
|
|
"accn": "0000320193-24-000123",
|
|
"fy": 2024,
|
|
"fp": "FY",
|
|
"form": "10-K",
|
|
"filed": "2024-11-01"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 6. Company Facts (All XBRL for one company)
|
|
|
|
#### `GET https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json`
|
|
Returns ALL XBRL concepts reported by a company across all filings.
|
|
|
|
**Example:**
|
|
```
|
|
https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json
|
|
```
|
|
|
|
**Response:** Same structure as companyconcept but with all tags nested under `facts.us-gaap`, `facts.dei`, etc.
|
|
|
|
```json
|
|
{
|
|
"cik": 320193,
|
|
"entityName": "Apple Inc.",
|
|
"facts": {
|
|
"dei": {
|
|
"EntityCommonStockSharesOutstanding": { "units": { "shares": [...] } }
|
|
},
|
|
"us-gaap": {
|
|
"Revenue": { "units": { "USD": [...] } },
|
|
"Assets": { "units": { "USD": [...] } }
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 7. Frames (Cross-Company XBRL for a period)
|
|
|
|
#### `GET https://data.sec.gov/api/xbrl/frames/{taxonomy}/{tag}/{unit}/{period}.json`
|
|
Returns a specific XBRL concept value for ALL companies for a given reporting period.
|
|
|
|
**Path Parameters:**
|
|
| Parameter | Description |
|
|
|------------|-------------|
|
|
| `taxonomy` | `us-gaap`, `ifrs-full`, `dei`, `srt`. |
|
|
| `tag` | XBRL tag, e.g., `Assets`. |
|
|
| `unit` | `USD`, `shares`, `pure`, etc. |
|
|
| `period` | Instant: `CY2023Q4I`; Duration: `CY2023`, `CY2023Q1`. |
|
|
|
|
**Period format:**
|
|
- `CY2023` = calendar year 2023 (full year duration)
|
|
- `CY2023Q1` = Q1 2023 duration
|
|
- `CY2023Q4I` = instant at end of Q4 2023 (balance sheet items)
|
|
|
|
**Example:**
|
|
```
|
|
https://data.sec.gov/api/xbrl/frames/us-gaap/Assets/USD/CY2023Q4I.json
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"taxonomy": "us-gaap",
|
|
"tag": "Assets",
|
|
"ccp": "CY2023Q4I",
|
|
"uom": "USD",
|
|
"label": "Assets",
|
|
"description": "Sum of the carrying amounts...",
|
|
"pts": 8500,
|
|
"data": [
|
|
{"accn": "0000320193-24-000123", "cik": 320193, "entityName": "Apple Inc.", "loc": "US-CA", "end": "2023-12-30", "val": 352583000000}
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 8. Filing Archives (Direct Document Access)
|
|
|
|
#### `GET https://www.sec.gov/Archives/edgar/data/{cik}/{accession_number_no_dashes}/{filename}`
|
|
Direct access to any filing document.
|
|
|
|
**Example:**
|
|
```
|
|
https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm
|
|
```
|
|
|
|
The accession number format in the URL is stripped of dashes: `0000320193-24-000123` becomes `000032019324000123`.
|
|
|
|
---
|
|
|
|
## Common XBRL Tags Reference
|
|
| Tag | Description |
|
|
|-----|-------------|
|
|
| `Revenue` / `Revenues` | Total revenue |
|
|
| `NetIncomeLoss` | Net income |
|
|
| `Assets` | Total assets |
|
|
| `Liabilities` | Total liabilities |
|
|
| `StockholdersEquity` | Total equity |
|
|
| `EarningsPerShareBasic` | Basic EPS |
|
|
| `EarningsPerShareDiluted` | Diluted EPS |
|
|
| `OperatingIncomeLoss` | Operating income |
|
|
| `CashAndCashEquivalentsAtCarryingValue` | Cash and equivalents |
|
|
| `LongTermDebt` | Long-term debt |
|
|
| `CommonStockSharesOutstanding` | Shares outstanding |
|
|
|
|
## Notes
|
|
- CIK numbers must be zero-padded to 10 digits in `data.sec.gov` URLs.
|
|
- The EFTS full-text search indexes the text content of filings, not XBRL data.
|
|
- For bulk downloads, SEC provides index files at `https://www.sec.gov/Archives/edgar/full-index/`.
|
|
- All responses are JSON unless otherwise noted. Filing documents can be HTML, XML, or plain text.
|