# SEC

> Search and analyze SEC EDGAR filings including 10-K, 10-Q, and 8-K reports with financial data extraction.

Source: https://cotera.co/docs/reference/tools/individual-tools/sec

---

**Authentication Type:** API Key
**Description:** Search and analyze SEC EDGAR filings including 10-K, 10-Q, and 8-K reports with financial data extraction.

***

## Authentication

To authenticate, you'll need an SEC API key. Learn how to create one at [sec-api.io](https://sec-api.io/).

***

## Filing Search

Search for SEC EDGAR filings by company, date range, and form type.

### Search Filings

Search for SEC filings by ticker symbol, CIK, date range, and form type. Returns filing metadata including accession numbers, URLs, and filing dates. Use this to find specific filings before analyzing their content or financial data.

**Operation Type:** Query (Read)

**Parameters:**

* **ticker** `string` (nullable): Ticker symbol of the company, e.g., AAPL for Apple Inc.
* **cik** `string` (nullable): CIK (Central Index Key) of the filer. Remove leading zeros, e.g., 320193 instead of 0000320193
* **formTypes** `array of strings` (nullable): Array of form types to filter by, e.g., \["10-K", "10-Q", "8-K"]. Leave null to search all form types
* **startDate** `string` (required): Start date of the search range in YYYY-MM-DD format, e.g., 2023-01-01
* **endDate** `string` (required): End date of the search range in YYYY-MM-DD format, e.g., 2023-12-31
* **page** `string` (nullable): Page number for pagination, starting from 1. Each page returns up to 50 results. Leave null for first page

**Returns:**

* **total** `object`: Total count information
  * **value** `number`: Total number of matching filings. Capped at 10,000
  * **relation** `string`: If "gte", there are more than 10,000 matches. If "eq", value is exact count
* **filings** `array of objects`: Array of filing metadata objects matching the search criteria
  * **accessionNo** `string`: Accession number of the filing, e.g., 0001193125-23-265616
  * **cik** `string`: CIK of the filer with leading zeros removed
  * **ticker** `string` (nullable): Ticker symbol of the filing company, null if not publicly traded
  * **companyName** `string`: Name of the filing company or person
  * **companyNameLong** `string`: Long version of company name including filer type
  * **formType** `string`: EDGAR filing form type, e.g., 10-K, 10-Q, 8-K
  * **filedAt** `string`: Filing acceptance date and time in ISO 8601 format (Eastern Time)
  * **periodOfReport** `string` (nullable): Period of report in YYYY-MM-DD format, if reported
  * **description** `string`: Description of the form
  * **linkToTxt** `string`: URL to the plain text .TXT version of the filing
  * **linkToHtml** `string`: URL to the index page of the filing
  * **linkToFilingDetails** `string`: URL of the actual filing content on sec.gov

**Example Usage:**

```json
{
  "ticker": "AAPL",
  "cik": null,
  "formTypes": ["10-K", "10-Q"],
  "startDate": "2023-01-01",
  "endDate": "2023-12-31",
  "page": null
}
```

***

## Filing Content

Search and extract content from SEC filings.

### Search Filing Content

Perform full-text search across all SEC filings and exhibits. Supports exact phrase matching, wildcards, and boolean operators. Use this to find filings containing specific keywords, phrases, or topics across all documents and attachments.

**Operation Type:** Query (Read)

**Parameters:**

* **query** `string` (required): Search query using SEC full-text search syntax. Supports: exact phrases in quotes ("substantial doubt"), wildcards (gas\*), boolean operators (OR, NOT, -), and combinations
* **ticker** `string` (nullable): Optional: Filter by ticker symbol
* **cik** `string` (nullable): Optional: Filter by CIK
* **formTypes** `array of strings` (nullable): Optional: Array of form types to filter by, e.g., \["10-K", "10-Q"]
* **startDate** `string` (required): Start date in YYYY-MM-DD format
* **endDate** `string` (required): End date in YYYY-MM-DD format
* **page** `string` (nullable): Page number for pagination. Each page returns up to 100 results. Leave null for first page

**Returns:**

* **total** `object`: Total count information
  * **value** `number`: Total number of matching documents. Capped at 10,000
  * **relation** `string`: If "gte", there are more than 10,000 matches
* **filings** `array of objects`: Array of search results sorted by relevance
  * **accessionNo** `string`: Accession number of the filing
  * **cik** `string`: CIK of the filer with leading zeros removed
  * **ticker** `string` (nullable): Ticker symbol, if available
  * **companyNameLong** `string`: Full name of the filing company
  * **formType** `string`: EDGAR filing form type
  * **type** `string`: Document type, e.g., 8-K, EX-99.1
  * **description** `string`: Description of the document
  * **filingUrl** `string`: URL to the filing or attachment
  * **filedAt** `string`: Filing date in YYYY-MM-DD format

**Example Usage:**

```json
{
  "query": "\"artificial intelligence\" OR \"machine learning\"",
  "ticker": "MSFT",
  "cik": null,
  "formTypes": ["10-K"],
  "startDate": "2023-01-01",
  "endDate": "2023-12-31",
  "page": null
}
```

### Extract Filing Section

Extract a specific section from a 10-K, 10-Q, or 8-K filing. Returns the cleaned text or HTML content of sections like Risk Factors (Item 1A), Management Discussion & Analysis (Item 7), etc. Use this to read specific parts of filings without loading the entire document.

**Operation Type:** Query (Read)

**Parameters:**

* **url** `string` (required): URL to the filing (linkToFilingDetails from search results). Must be a valid SEC EDGAR URL ending in .htm or .html
* **section** `string` (required): Section to extract. For 10-K: "1", "1A", "1B", "2", "3", "4", "5", "6", "7", "7A", "8", "9", "9A", "9B", "10", "11", "12", "13", "14", "15". For 10-Q Part I: "part1item1", "part1item2", "part1item3", "part1item4". For 10-Q Part II: "part2item1", "part2item1a", "part2item2", "part2item3", "part2item4", "part2item5", "part2item6". For 8-K: "1-1", "1-2", "1-3", "1-4", "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-10", "7-1", "8-1", "9-1"
* **returnType** `string` (default: text): Format of returned content: "text" for plain text (default) or "html" for HTML with formatting

**Returns:**

* **section** `string`: The section identifier that was extracted
* **content** `string`: Extracted section content in the requested format
* **url** `string`: URL of the filing

**Example Usage:**

```json
{
  "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000077/aapl-20230930.htm",
  "section": "1A",
  "returnType": "text"
}
```

***

## Financial Data

Extract XBRL financial data from SEC filings.

### Get Financial Summary

Extract a condensed financial summary from a filing with XBRL data. Returns key metrics like revenue, net income, total assets, EPS, and a list of available financial statements. Use this for a quick overview before requesting detailed statements.

**Operation Type:** Query (Read)

**Parameters:**

* **accessionNo** `string` (nullable): Accession number of the filing, e.g., 0001564590-21-004599. Provide either accessionNo or htmUrl
* **htmUrl** `string` (nullable): URL to the filing ending with .htm or .html. Provide either accessionNo or htmUrl

**Returns:**

* **accessionNo** `string`: Accession number of the filing
* **formType** `string`: Form type of the filing
* **periodOfReport** `string` (nullable): Period of report
* **summary** `object`: High-level financial metrics extracted from XBRL
  * **revenue** `string` (nullable): Total revenue for the period
  * **netIncome** `string` (nullable): Net income for the period
  * **totalAssets** `string` (nullable): Total assets at period end
  * **totalLiabilities** `string` (nullable): Total liabilities at period end
  * **shareholdersEquity** `string` (nullable): Shareholders equity at period end
  * **earningsPerShareBasic** `string` (nullable): Basic earnings per share
  * **earningsPerShareDiluted** `string` (nullable): Diluted earnings per share
* **availableStatements** `array of strings`: List of available financial statement names in the XBRL data

**Example Usage:**

```json
{
  "accessionNo": "0001564590-21-004599",
  "htmUrl": null
}
```

### Get Financial Statements

Extract detailed XBRL financial statements from a filing. Specify which statements to retrieve (e.g., BalanceSheets, StatementsOfIncome, StatementsOfCashFlows). Returns complete XBRL-JSON data for in-depth financial analysis.

**Operation Type:** Query (Read)

**Parameters:**

* **accessionNo** `string` (nullable): Accession number of the filing. Provide either accessionNo or htmUrl
* **htmUrl** `string` (nullable): URL to the filing ending with .htm or .html. Provide either accessionNo or htmUrl
* **statements** `array of strings` (required): Array of statement names to retrieve, e.g., \["StatementsOfIncome", "BalanceSheets", "StatementsOfCashFlows"]. Common names: StatementsOfIncome, BalanceSheets, StatementsOfCashFlows, StatementsOfShareholdersEquity

**Returns:**

* **accessionNo** `string`: Accession number of the filing
* **formType** `string`: Form type of the filing
* **periodOfReport** `string` (nullable): Period of report
* **statements** `object`: Object mapping statement names to their XBRL-JSON data

**Example Usage:**

```json
{
  "accessionNo": null,
  "htmUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000077/aapl-20230930.htm",
  "statements": ["StatementsOfIncome", "BalanceSheets", "StatementsOfCashFlows"]
}
```

***

## Common Use Cases

**Financial Analysis:**

* Extract and analyze quarterly and annual financial statements
* Track revenue, earnings, and key metrics over time
* Compare financial performance across reporting periods
* Download complete XBRL data for detailed analysis

**Regulatory Monitoring:**

* Search for specific risk disclosures across companies
* Monitor 8-K filings for material events and announcements
* Track changes in risk factors (Item 1A) between filings
* Find filings containing specific keywords or topics

**Investment Research:**

* Research company financials before making investment decisions
* Extract Management Discussion & Analysis sections for insights
* Monitor insider transactions and material events
* Analyze industry trends across multiple companies' filings

**Compliance & Due Diligence:**

* Verify company financial information from official SEC sources
* Extract specific sections for compliance review
* Search historical filings for specific disclosures
* Track filing patterns and regulatory compliance

