SEC EDGAR API: Filings, Financials, Insider Trades
Pricing
from $3.00 / 1,000 companies
SEC EDGAR API: Filings, Financials, Insider Trades
Get SEC EDGAR data as clean rows: company profiles and filings, XBRL financials per fiscal year or quarter, Form 4 insider trades, 13F fund holdings, 10-K/10-Q sections as text, and alerts for new filings. Official sec.gov sources, no API key.
Pricing
from $3.00 / 1,000 companies
Rating
0.0
(0)
Developer
Plainsource
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
SEC EDGAR API turns U.S. SEC EDGAR data into flat JSON rows: company profiles and filing lists, XBRL financial statements per fiscal year or quarter, Form 4 insider trading transactions, 13F fund holdings, the text of 10-K and 10-Q sections, and alerts for new filings. Everything comes from official sec.gov endpoints, and you do not need an SEC account or an API key.
You pick one mode and a few fields with defaults, so the Actor works the same way in the Apify Console, through the API, on a schedule, in Make, Zapier or n8n, and as a tool for AI agents through the Apify MCP server.
What data can SEC EDGAR API extract?
mode | Give it | One row per | Main fields | Source on sec.gov |
|---|---|---|---|---|
company | tickers, CIKs or names | company | profile, SIC code, addresses, former names, latest filings with document links | data.sec.gov/submissions |
financials | tickers | company and fiscal period | revenue, gross profit, operating income, net income, EPS, assets, liabilities, equity, cash, operating cash flow, capex, free cash flow, share counts, and the XBRL tag used for each value | data.sec.gov/api/xbrl/companyfacts |
insider-trades | tickers, or nothing for the newest filings market-wide | Form 4 transaction | insider name and role, transaction code, shares, price, value, shares owned after, 10b5-1 flag, footnotes | Form 4 XML in the EDGAR archive |
13f-holdings | fund manager names or CIKs | position in the 13F information table | issuer, CUSIP, shares, value, percent of portfolio, put or call, manager, report period | 13F XML in the EDGAR archive |
filing-text | filing URLs, accession numbers, or tickers and form | document, or one 10-K or 10-Q Item | clean text, section name, length, truncation flag | the filing's main HTML document |
watch | tickers and form types | filing that is new since the last run | form, filing date, 8-K items, document links | data.sec.gov/submissions |
Rows have a recordType field. Inputs that return nothing produce a free row with recordType info or error that says why, so a run never ends with an empty dataset and no explanation.
How to use SEC EDGAR API
- Open the Actor on Apify and click Try for free.
- Choose What to get (
mode). The default is the company profile and filings list. - Enter tickers, CIKs or names in Companies or funds. For 13F holdings, enter the fund managers. A name takes EDGAR company search's top match, so tickers or CIKs are safer.
- Set the options for your mode, such as Form types, Periods or Max holdings per fund.
- Click Start and read the rows from the dataset as JSON, CSV or Excel.
- For recurring data, put the same input on a schedule. In
watchmode, each run returns only the filings that earlier runs with the samestateKeyhave not returned.
How much does the EDGAR API cost?
You pay per event.
| Event | Price |
|---|---|
| Actor start | $0.001 per GB of run memory (the default is 512 MB, so $0.001 per run) |
| Company row | $0.003 |
| Financial row (one fiscal period, or one raw XBRL fact) | $0.002 |
| Insider trade (one Form 4 transaction) | $0.001 |
| 13F holding (one position) | $0.0005 |
| Filing text (one document or one 10-K or 10-Q section) | $0.01 |
| New filing (watch mode) | $0.003 |
info and error rows are free, and so are watch-mode repeats.
Worked examples, from the prices above:
- The prefilled example, two company profiles: $0.001 + 2 x $0.003 = $0.007.
- Eight fiscal years of annual financials for one company: $0.001 + 8 x $0.002 = $0.017.
- 1,000 Form 4 insider transactions: $0.001 + 1,000 x $0.001 = $1.001.
- The top 100 positions of one 13F filing: $0.001 + 100 x $0.0005 = $0.051. A filing with 5,000 positions and
maxHoldingsset to 0: $2.501. - The Risk Factors section of one 10-K: $0.001 + $0.01 = $0.011.
You can cap a run with the maximum cost setting. The run stops cleanly when it is reached.
Input
The prefilled example, which returned two company profiles with their latest filings on 2026-10-28:
{ "mode": "company", "companies": ["AAPL", "MSFT"], "formTypes": ["10-K", "10-Q", "8-K"] }
Other inputs, one per mode:
{ "mode": "financials", "companies": ["NVDA"], "periodType": "annual", "maxPeriods": 1 }{ "mode": "insider-trades", "companies": ["NVDA"], "maxFilings": 3, "transactionCodes": ["S"] }{ "mode": "13f-holdings", "companies": ["Berkshire Hathaway"], "maxHoldings": 3 }{ "mode": "filing-text", "companies": ["NVDA"], "formTypes": ["10-K"], "sections": ["1A"], "maxChars": 1000 }{ "mode": "watch", "companies": ["NVDA", "TSLA"], "formTypes": ["8-K"], "stateKey": "my-watchlist" }
All fields:
| Field | Default | Used by |
|---|---|---|
mode | company | all |
companies | [] | all; tickers, CIKs or names |
formTypes | [] | company, insider-trades (4 and 4/A when empty), filing-text (10-K when empty), watch (all forms when empty) |
dateFrom, dateTo | empty | company, insider-trades for listed companies |
maxFilings | 10 | company, insider-trades |
periodType | annual | financials: annual, quarterly or both |
maxPeriods | 8 | financials |
valueSource | as-reported | financials: as-reported or latest |
rawTags | [] | financials |
transactionCodes | [] | insider-trades |
quarter | empty (latest) | 13f-holdings |
maxHoldings | 100 (0 = all) | 13f-holdings |
combineSameSecurity | true | 13f-holdings |
filingUrls | [] | filing-text |
sections | [] (whole document) | filing-text |
maxChars | 50000 | filing-text |
includeTables | true | filing-text |
stateKey | default | watch |
initialLookbackDays | 7 | watch |
Output
All rows below are real, from runs on 2026-10-28, with some fields left out to keep them short.
Company profile and filings
{"recordType": "company","input": "AAPL","ticker": "AAPL","cik": "0000320193","companyName": "Apple Inc.","exchanges": ["Nasdaq"],"sic": "3571","sicDescription": "Electronic Computers","filerCategory": "Large accelerated filer","stateOfIncorporation": "CA","fiscalYearEnd": "09-26","businessAddress": {"street1": "ONE APPLE PARK WAY","street2": null,"city": "CUPERTINO","stateOrCountry": "CA","zipCode": "95014"},"filingsReturned": 10,"latestFilings": [{"form": "10-Q","filingDate": "2026-07-31","reportDate": "2026-06-27","accessionNumber": "0000320193-26-000020","description": "10-Q","items": null,"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/0000320193-26-000020-index.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/aapl-20260627.htm"},{"form": "8-K","filingDate": "2026-07-30","reportDate": "2026-07-30","accessionNumber": "0000320193-26-000018","description": "8-K","items": "2.02,9.01","filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/0000320193-26-000018-index.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/aapl-20260730.htm"}]}
dateFrom and dateTo narrow the filings list. fiscalYearEnd is month and day as the SEC stores it.
XBRL financials
{"recordType": "financials","input": "NVDA","ticker": "NVDA","cik": "0001045810","companyName": "NVIDIA CORP","periodType": "annual","fiscalYear": 2026,"fiscalPeriod": "FY","periodStart": "2025-01-27","periodEnd": "2026-01-25","currency": "USD","form": "10-K","filedDate": "2026-02-25","accessionNumber": "0001045810-26-000021","amendedBy": null,"revenue": 215938000000,"grossProfit": 153463000000,"operatingIncome": 130387000000,"netIncome": 120067000000,"epsBasic": 4.93,"epsDiluted": 4.9,"totalAssets": 206803000000,"totalLiabilities": 49510000000,"totalEquity": 157293000000,"cashAndEquivalents": 10605000000,"operatingCashFlow": 102718000000,"capex": 6042000000,"weightedDilutedShares": 24514000000,"sharesOutstanding": 24300000000,"sharesOutstandingDate": "2026-02-20","freeCashFlow": 96676000000,"sourceTags": {"revenue": "us-gaap:Revenues","capex": "us-gaap:PaymentsToAcquireProductiveAssets"},"derivedFields": [],"filingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/0001045810-26-000021-index.htm"}
- Periods are matched on each fact's start and end dates, not on the filing's
fyandfplabels, because a 10-K repeats two or three earlier years. - Each metric tries a list of US-GAAP tags, then IFRS tags for 20-F and 40-F filers.
sourceTagsshows which tag was used for each value. - Most companies never report Q4 on its own, and 10-Q cash flow statements are year-to-date. Those quarters are computed by subtraction and listed in
derivedFields. EPS is not additive, so it is left empty for Q4. valueSource: "as-reported"(default) gives each figure as first filed."latest"uses the most recent filing for that period.rawTags, for example["us-gaap:AccountsPayableCurrent", "dei:EntityPublicFloat"], returns those tags one row per period with unit, form, filed date, accession and SEC frame.
Form 4 insider trading
{"recordType": "insider-trade","formType": "4","periodOfReport": "2026-09-21","issuerName": "NVIDIA CORP","issuerTicker": "NVDA","insiderName": "Teter Timothy S.","insiderRole": "Officer (EVP, General Counsel and Sec)","isDirector": false,"isOfficer": true,"rule10b5One": true,"isDerivative": false,"securityTitle": "Common Stock","transactionDate": "2026-09-21","transactionCode": "S","transactionDescription": "Open market or private sale","acquiredDisposed": "D","shares": 12483,"pricePerShare": 222.1932,"valueUsd": 2773637.72,"sharesOwnedAfter": 2705637,"directOrIndirect": "I","natureOfOwnership": "By Trust","filingDate": "2026-09-23","accessionNumber": "0001696841-26-000014","filingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000169684126000014/0001696841-26-000014-index.htm","xmlUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000169684126000014/wk-form4_1790196985.xml"}
- Leave
companiesempty to read the newest Form 4 filings from EDGAR's "Latest Filings" feed across the market.maxFilingsis then the number of filings read, and one filing often holds several transactions. - Derivative transactions (options, RSUs) are included with
isDerivative: trueand the underlying security. Holdings-only rows are not returned. transactionCodeskeeps only some codes.Pis an open-market purchase,Sa sale.
13F holdings
{"recordType": "holding","rank": 1,"issuer": "APPLE INC","titleOfClass": "COM","cusip": "037833100","valueUsd": 65950296923,"shares": 227917808,"sharesType": "SH","putCall": null,"investmentDiscretion": "DFND","filedRows": 12,"percentOfPortfolio": 22.04,"managerName": "Berkshire Hathaway Inc","managerCik": "0001067983","periodOfReport": "2026-06-30","form": "13F-HR","filedDate": "2026-08-14","accessionNumber": "0001193125-26-352200","portfolioValueUsd": 299253556246,"positionsInFiling": 89,"filingUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/0001193125-26-352200-index.htm","infoTableUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/56757.xml"}
- Without
quarteryou get the latest 13F-HR. Usequarter: "2025-Q4"for an earlier one. - With
combineSameSecurityon (default), rows for the same CUSIP are summed, as in thefiledRowsfield. Turn it off to get rows exactly as filed. - Values are in dollars. Filings made before 2023-01-03 reported thousands of dollars, and those are multiplied by 1,000.
Filing text and 10-K sections
{"recordType": "filing-text","ticker": "NVDA","cik": "0001045810","companyName": "NVIDIA CORP","form": "10-K","filingDate": "2026-02-25","reportDate": "2026-01-25","accessionNumber": "0001045810-26-000021","filingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/0001045810-26-000021-index.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm","section": "1A","sectionTitle": "Risk Factors","text": "Item 1A. Risk Factors\n\nThe following risk factors should be considered in addition to the other information in this Annual Report on Form 10-K. The following risks could harm our business, financial condition, results of operations or reputation, which could cause our stock price to decline. Additional risks, trends and uncertainties not presently known to us or that we currently believe are immaterial may also harm our business, financial condition, results of operations or reputation.\n\nRisk Factors Summary\n\nRisks Related to Our Industry and Markets\n\n•Failure to meet the evolving needs of our industry and markets may adversely impact our financial results.\n\n•Competition could adversely impact our market share and financial results.\n\nRisks Related to Demand, Supply, and Manufacturing","chars": 794,"totalChars": 114640,"truncated": true}
sectionstakes Item numbers (1,1A,7,7A,8) or names (business,risk-factors,mda,market-risk,financial-statements,legal-proceedings,controls). For a 10-Q,mdamaps to Part I Item 2 andrisk-factorsto Part II Item 1A. You can also writeP2-1A. 8-K items look like2.02.- Text longer than
maxCharsis cut at a paragraph break and markedtruncated, withtotalCharsgiving the full length. A 10-K is about 200,000 to 600,000 characters. - Tables come out as one line per row with
|between cells. WithincludeTablesoff, numeric tables are dropped. filingUrlsaccepts EDGAR document URLs, index-page URLs,ix?doc=viewer URLs and bare accession numbers.
New filing alerts
{"recordType": "new-filing","input": "TSLA","ticker": "TSLA","cik": "0001318605","companyName": "Tesla, Inc.","form": "8-K","filingDate": "2026-10-21","reportDate": "2026-10-21","acceptanceDateTime": "2026-10-21T20:41:42.000Z","items": "2.02,9.01","description": "8-K","filingUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000162828026066738/0001628280-26-066738-index.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000162828026066738/tsla-20261021.htm","firstRun": true,"detectedAt": "2026-10-28T22:02:45.709Z"}
- Run the same input hourly or daily. Each run returns only filings that runs with the same
stateKeyhave not returned yet. - The first run for a company reports the last
initialLookbackDaysdays (default 7). Set it to 0 to start from now. - State is kept in a key-value store named
sec-edgar-watch-statein your Apify account. - If there is nothing new, you get one free
inforow.
Each run also writes a SUMMARY record to the default key-value store with the rows charged per event, the number of SEC requests and any warnings, such as a filing that had no ownership XML.
What people use the SEC EDGAR API for
- Financial models: standardized annual or quarterly statements without parsing XBRL by hand.
- Insider trading screens: open-market purchases (
P) and sales (S) at a list of tickers. - Fund tracking: 13F holdings for the managers you follow, quarter by quarter.
- Research: Risk Factors or MD&A text pulled from 10-K and 10-Q filings for summarizing or search.
- Alerts: a note in Slack or a spreadsheet when a company files an 8-K.
FAQ
Do I need an SEC API key?
No. The Actor reads public sec.gov endpoints and the EDGAR archive.
Is this the same as the SEC's own EDGAR API?
It uses the SEC's own data (the submissions and companyfacts endpoints, and filing documents from the archive) and reshapes it into rows. The 13F, Form 4 and filing-text modes parse the filing files themselves.
How current is the data?
New filings show up in EDGAR within minutes. The XBRL companyfacts data can lag behind, and for some foreign filers it lags a lot. When that happens the newest annual row is the previous year.
Why are some financial fields empty?
XBRL tags are not consistent across companies. One company tags revenue Revenues, another RevenueFromContractWithCustomerExcludingAssessedTax, and some switch tags between years. The fallback lists cover common cases, not all of them, so check sourceTags before comparing companies. Banks, insurers and REITs often have no tag for some metrics, and those fields are null. Derived quarters, freeCashFlow and a totalLiabilities computed from total liabilities and equity minus equity are calculations, listed in derivedFields. For companies with several share classes, sharesOutstanding can be empty; weightedDilutedShares is usually filled.
Why did section extraction find nothing?
It needs "Item N." headings at the start of a line. Filings with unusual layouts, scanned exhibits or PDF main documents can come back with no sections, and the info row then lists what was found.
Are old 13F filings covered?
13F filings before mid-2013 used text tables and are not parsed.
How do I run it on a schedule or send results to Make, Zapier or n8n?
Add a schedule in Apify Console with your input. In Make, Zapier or n8n, use the Apify integration to run the Actor and read its dataset, or add a webhook to the task. With the JavaScript client: client.actor("fernandosord/sec-edgar-api").call({ mode: "13f-holdings", companies: ["Berkshire Hathaway"] }).
Can an AI agent use it?
Yes. Add the Actor to the Apify MCP server (https://mcp.apify.com, with the Actor listed in the tools parameter). The agent sees the input schema, so field names and allowed values come from there. Prompts that work well:
- "Latest 10-K risk factors for AMD":
{"mode":"filing-text","companies":["AMD"],"sections":["risk-factors"],"maxChars":20000} - "Microsoft revenue and free cash flow for the last 8 quarters":
{"mode":"financials","companies":["MSFT"],"periodType":"quarterly"} - "Open-market insider buys at Intel this year":
{"mode":"insider-trades","companies":["INTC"],"transactionCodes":["P"],"dateFrom":"2026-01-01","maxFilings":100}
Keep maxChars within the model's context budget. Rows carry filingUrl or documentUrl, so an agent can cite the filing.
Does it follow the SEC's access rules?
Yes. Every request declares a User-Agent that links to this Actor's page. Each run stays at or below 5 requests per second, half the SEC's limit of 10, because several runs can share one Apify IP address. If the SEC slows a run down, it waits and retries. See the SEC's fair access rules. Every row links back to its sec.gov source.
Is this investment advice?
No. The Actor reformats public SEC filings. It does not check them for accuracy, and filers sometimes make tagging errors that only a later amendment fixes.
Other Actors by this developer
- Website Change Monitor: watch an investor-relations or press page and get the lines that changed.
- PDF to Text & Markdown: turns PDFs, Office files and scans into text, useful for exhibits that EDGAR serves as PDF.
- Google Trends API: search interest by region and query.
- Career Site Jobs API: open jobs from Greenhouse, Lever and Ashby, a hiring signal for the companies you research.
- WHOIS & DNS Lookup: domain age, SSL and email security.