# SEC Daily API — llms.txt > Machine-readable reference for AI coding assistants (Cursor, GitHub Copilot, etc.). > Human docs: https://secdailyapi.com/docs > Last updated: April 2026 ## Overview SEC Daily API provides real-time and historical SEC EDGAR filing data via a simple REST API. - Base URL: `https://api.secdailyapi.com/v1` - Auth: `x-api-key: YOUR_API_KEY` header on every request - All responses are JSON. All dates are ISO 8601 (YYYY-MM-DD). - Coverage: 2015–present, ~95% of public EDGAR volume, updated every 6 minutes during filing hours. ## Authentication ``` x-api-key: YOUR_API_KEY ``` Get a free API key at https://secdailyapi.com/pricing --- ## Endpoints ### GET /filings Returns SEC filings. Supports filtering by company (ticker or CIK), form type, and date range. **Query parameters:** | Parameter | Type | Description | |-------------|--------|-------------| | ticker | string | Stock ticker symbol, e.g. `AAPL`. Resolved to CIK internally. | | cik | string | SEC Central Index Key, e.g. `320193`. Preferred for historical/delisted companies. | | formTypes | string | Comma-separated form types, e.g. `10-K,10-Q,8-K`. Max 10. | | startDate | string | Start of date range, e.g. `2024-01-01`. | | endDate | string | End of date range, e.g. `2024-12-31`. | | filingDate | string | Exact filing date, e.g. `2024-10-31`. | | limit | int | Number of results. Default: 200, max: 1000. | | fieldset | string | Response shape preset: `minimal`, `standard`, or `full`. | | fields | string | Comma-separated field projection, e.g. `id,formType,entity.name`. | **Example — Apple's 10-K filings:** ``` GET /v1/filings?ticker=AAPL&formTypes=10-K&limit=5 ``` **Example — All filings on a specific date:** ``` GET /v1/filings?filingDate=2024-10-31&limit=100 ``` **Response:** ```json { "filings": [ { "id": "urn:tag:sec.gov,2008:accession-number=0000320193-24-000123", "accessionNumber": "0000320193-24-000123", "cik": "320193", "formType": "10-K", "filingDateInEst": "2024-11-01", "filingTimeInEst": "16:05:00", "entity": { "name": "Apple Inc.", "cik": "320193" }, "linkToFiling": "https://www.sec.gov/Archives/edgar/data/320193/...", "linkToTxt": "https://www.sec.gov/Archives/edgar/data/320193/..." } ], "count": 1 } ``` --- ### GET /insider-transactions Returns SEC Form 3, 4, and 5 insider transaction filings. **Query parameters:** | Parameter | Type | Description | |----------------------------|--------|-------------| | issuerTicker | string | Company ticker, e.g. `TSLA`. Resolved to CIK internally. | | issuerCik | string | Company CIK, e.g. `1318605`. | | reportingOwnerCik | string | Insider's CIK. | | formTypes | string | Comma-separated: `4`, `3`, `5`. | | transactionTypes | string | Comma-separated: `purchase`, `sale`, `grant`, `exercise`. | | ownerRoles | string | Comma-separated: `director`, `officer`, `tenPercentOwner`. | | officerTitles | string | Comma-separated: `CEO`, `CFO`, `COO`, `President`, etc. | | periodOfReportStartDate | string | Start of transaction period, e.g. `2024-01-01`. | | periodOfReportEndDate | string | End of transaction period, e.g. `2024-12-31`. | | filingDateInEstStartDate | string | Start of filing date range. | | filingDateInEstEndDate | string | End of filing date range. | | minTotalAmount | number | Minimum transaction dollar amount. | | maxTotalAmount | number | Maximum transaction dollar amount. | | limit | int | Number of results. Default: 100, max: 900. | | fieldset | string | Response shape preset: `minimal`, `standard`, or `full`. | **Example — Tesla insider purchases in 2024:** ``` GET /v1/insider-transactions?issuerTicker=TSLA&transactionTypes=purchase&startDate=2024-01-01&limit=10 ``` **Example — CEO purchases above $1M:** ``` GET /v1/insider-transactions?ownerRoles=officer&officerTitles=CEO&transactionTypes=purchase&minTotalAmount=1000000&limit=20 ``` **Response:** ```json { "insiderTransactions": [ { "id": "urn:tag:sec.gov,...", "accessionNumber": "0001140361-24-001234", "formType": "4", "issuerCik": "1318605", "reportingOwnerCik": "1494730", "filingDateInEst": "2024-03-15", "periodOfReportDate": "2024-03-14", "totalAmount": 2500000, "hasPurchases": true, "hasSales": false, "ownerRoles": "officer", "normalizedOfficerTitle": "CEO" } ], "count": 1 } ``` --- ### GET /news Returns SEC press releases and news items. **Query parameters:** | Parameter | Type | Description | |-------------|--------|-------------| | startDate | string | Start of date range. | | endDate | string | End of date range. | | limit | int | Number of results. Default: 20, max: 100. | | fieldset | string | `minimal`, `standard`, or `full`. | **Example:** ``` GET /v1/news?startDate=2024-01-01&limit=10 ``` --- ## Notes for AI code generation - **Ticker vs CIK:** Use `?ticker=SYMBOL` for active public companies. Use `?cik=NUMBER` for delisted, renamed, or historical companies (e.g. use `cik=1326801` for Meta's historical filings, not `ticker=FB`). - **CIK format:** CIKs are unpadded integers as strings: `"320193"` not `"0000320193"`. - **Date format:** Always `YYYY-MM-DD`. No timestamps. - **Pagination:** Use `limit` + `endDate` sliding window for pagination — there is no `page` or `offset` param. - **fieldset=minimal** returns the smallest payload (id, formType, date, entity). Use it when you only need to check existence or count. - **Rate limits** vary by plan. Free tier: 2 req/sec. Plus: 10 req/sec. Pro: 25 req/sec. Ultra: 50 req/sec.