Back to Claude Scientific Skills

SEC EDGAR API Reference

scientific-skills/database-lookup/references/sec-edgar.md

2.34.19.2 KB
Original Source

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:

ParameterTypeRequiredDescription
qstringYesSearch query text. Supports boolean operators (AND, OR, NOT), exact phrases in quotes.
dateRangestringNocustom to enable date filtering.
startdtstringNoStart date YYYY-MM-DD.
enddtstringNoEnd date YYYY-MM-DD.
formsstringNoComma-separated form types, e.g. 10-K,10-Q,8-K.
fromintNoPagination offset (default 0).
sizeintNoResults 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:

ParameterTypeRequiredDescription
companystringNoCompany name search.
CIKstringNoCIK number or ticker symbol.
typestringNoFiling type filter (e.g., 10-K).
datebstringNoFiled before date YYYY-MM-DD.
ownerstringNoinclude, exclude, or only.
countintNoNumber of results (max 100).
actionstringYesgetcompany for company search.
outputstringNoatom 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:

ParameterDescription
cikZero-padded CIK (10 digits).
taxonomyXBRL taxonomy: us-gaap, ifrs-full, dei, srt.
tagXBRL 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:

ParameterDescription
taxonomyus-gaap, ifrs-full, dei, srt.
tagXBRL tag, e.g., Assets.
unitUSD, shares, pure, etc.
periodInstant: 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

TagDescription
Revenue / RevenuesTotal revenue
NetIncomeLossNet income
AssetsTotal assets
LiabilitiesTotal liabilities
StockholdersEquityTotal equity
EarningsPerShareBasicBasic EPS
EarningsPerShareDilutedDiluted EPS
OperatingIncomeLossOperating income
CashAndCashEquivalentsAtCarryingValueCash and equivalents
LongTermDebtLong-term debt
CommonStockSharesOutstandingShares 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.