---
title: "List SEC filings"
method: GET
path: "/api/v1/filings"
tags: ["Filings"]
---

# List SEC filings

`GET /api/v1/filings`

## Request

- Base URL: `https://earningsfeed.com`
- URL: `https://earningsfeed.com/api/v1/filings`
- Auth: HTTP bearer

Retrieve a paginated feed of SEC filings with optional filters.

## Data Source

Returns filings from SEC EDGAR, including annual reports, quarterly reports, current reports, and ownership filings. Updated continuously as new filings are accepted.

## Form Type Categories

| Category | Forms | Description |
|----------|-------|-------------|
| **Annual** | 10-K, 10-K/A, 20-F | Yearly financial statements |
| **Quarterly** | 10-Q, 10-Q/A | Quarterly financial updates |
| **Current** | 8-K, 8-K/A, 6-K | Material event disclosures |
| **Ownership** | 3, 4, 5 | Insider transaction reports |
| **Proxy** | DEF 14A, DEFA14A | Shareholder meeting materials |
| **Registration** | S-1, S-3, S-4 | Securities registration |
| **Institutional** | 13F-HR, SC 13D, SC 13G | Large holder disclosures |

## Filtering Options

- **forms**: Comma-separated form types (e.g., `10-K,10-Q,8-K`)
- **cik**: SEC Central Index Key for specific company
- **ticker**: Stock ticker symbol (e.g., `AAPL`)
- **status**: `final` (excludes provisional), `provisional`, or `all`
- **issuerType**: `company` (issuers) or `person` (individual filers)
- **startDate/endDate**: Inclusive range of US Eastern calendar days (YYYY-MM-DD) of SEC acceptance, the same clock as `acceptTs`. A filing accepted at 8:01 PM ET on 2026-10-01 is returned for 2026-10-01 (the SEC's own filing date can be the next business day). Impossible dates such as 2026-02-30 return a 400.
- **q**: Search by company name, accession number, or title

## Example Use Cases

1. **Track earnings season**: Filter by `forms=10-K,10-Q` + date range
2. **Monitor a company**: Filter by `ticker=AAPL`
3. **Watch insider activity**: Filter by `forms=4`
4. **Find activist positions**: Filter by `forms=SC 13D`
5. **Latest from all companies**: No filters, sorted by acceptance time

## Response Notes

- Results are sorted by `sortedAt` (acceptance timestamp, most recent first)
- `provisional` filings are pending final SEC acceptance
- `logoUrl` is provided when available for company identification

## Query parameters

- `limit` integer: Number of items to return (1-100)
- `cursor` string: Cursor for pagination (opaque string from the nextCursor of a previous response)
- `forms` union: Filter by form types (comma-separated). E.g., '10-K,10-Q' or '4,SC 13D'
  - string
  - string[]
- `status` 'all' | 'final' | 'provisional': Filter by filing status. 'final' excludes provisional filings, 'provisional' shows only provisional.
- `issuerType` 'company' | 'person': Filter by entity type. 'company' shows filings from issuers, 'person' shows filings from individuals.
- `cik` integer: SEC Central Index Key (CIK) - unique company/filer identifier
- `ticker` string: Filter by stock ticker symbol
- `q` string: Search query for company name, accession number, or title
- `startDate` string: First US Eastern calendar day (YYYY-MM-DD) of SEC acceptance to include, on the same clock as acceptTs
- `endDate` string: Last US Eastern calendar day (YYYY-MM-DD) of SEC acceptance to include, on the same clock as acceptTs

## Response `200`

Successful response with filing feed

- FilingsFeedResponse
  - `items` FeedFiling[], required
    - `accessionNumber` string, required: SEC accession number (e.g., 0000320193-24-000126)
    - `accessionNoDashes` string, nullable, required: Accession number without dashes
    - `cik` integer, required: SEC Central Index Key (CIK) - unique company/filer identifier
    - `companyName` string, nullable, required: Company name from the filing
    - `formType` string, required: SEC form type
    - `filedAt` string, date-time, required: SEC filing date. A calendar date encoded as midnight UTC: read only the date part (YYYY-MM-DD) and never convert it to a local time zone. For the moment the SEC accepted the filing, use acceptTs.
    - `acceptTs` string, date-time, nullable, required: When the SEC accepted the filing
    - `provisional` boolean, required: Whether this is a provisional (not yet finalized) filing
    - `feedDay` string, nullable, required: Feed day in YYYY-MM-DD format
    - `sizeBytes` integer, required: Size of the primary document in bytes
    - `url` string, uri, required: URL to the filing on SEC EDGAR
    - `title` string, required: Filing title/description
    - `status` string, required: Filing status (live, pending, etc.)
    - `updatedAt` string, date-time, required: When the filing record was last updated
    - `primaryTicker` string, nullable, required: Primary stock ticker symbol
    - `primaryExchange` string, nullable, required: Primary stock exchange
    - `company` FilingCompany, nullable, required: Company details if available
      - `cik` integer, required: SEC Central Index Key (CIK) - unique company/filer identifier
      - `name` string, required: Company name
      - `stateOfIncorporation` string, nullable, required: State or country of incorporation code
      - `stateOfIncorporationDescription` string, nullable, required: Full name of incorporation location
      - `fiscalYearEnd` string, nullable, required: Fiscal year end (MMDD format)
    - `sortedAt` string, date-time, required: Timestamp used for feed sorting
    - `logoUrl` string, uri, nullable, required: URL to the company logo if available
    - `entityClass` 'company' | 'person' | 'null', nullable, required: Classification of the filing entity. 'company' indicates an issuer, 'person' indicates an individual insider.
    - `issuer` FilingIssuer, nullable, required: For Forms 3, 4 and 5: the company whose securities the insider reports on. cik and companyName describe the reporting insider who filed. Null for other forms, and until the form's ownership data is parsed.
      - `cik` integer, required: SEC Central Index Key (CIK) - unique company/filer identifier
      - `name` string, required: Issuer name as written on the form
      - `ticker` string, nullable, required: Issuer trading symbol on the form
  - `nextCursor` string, nullable, required: Cursor for next page, null if no more pages
  - `hasMore` boolean, required: Whether more items exist beyond this page
  - `appliedFilters` AppliedFilters, required
    - `limit` integer, required
    - `forms` string[], required
    - `status` 'all' | 'final' | 'provisional': Filter by filing status. 'final' excludes provisional filings, 'provisional' shows only provisional.
    - `cik` integer, nullable, required
    - `ticker` string, nullable, required
    - `q` string, nullable, required
    - `startDate` string, nullable, required
    - `endDate` string, nullable, required

## Other responses

- `400`: Invalid query parameters
- `401`: Unauthorized - API key required
- `429`: Minute rate limit or tier monthly quota exceeded. Retry-After points to the relevant minute or monthly reset.
- `500`: Internal server error

---

[API](https://skmtc.dev/earningsfeed/apis/earnings-feed-api.md) · [All operations](https://skmtc.dev/earningsfeed/apis/earnings-feed-api/llms.txt) · [OpenAPI document](https://skmtc.dev/earningsfeed/apis/earnings-feed-api/revisions/feefa3647c61?raw)
