SEC EDGAR Filings & XBRL Financial Data API
Pricing
from $0.34 / 1,000 result items
SEC EDGAR Filings & XBRL Financial Data API
Get SEC EDGAR filings (10-K, 10-Q, 8-K, Form 4 lists), XBRL financial facts such as revenue and net income, and company profiles by ticker or CIK. Uses the free official data.sec.gov API. No API key needed. Export to JSON, CSV or Excel.
Pricing
from $0.34 / 1,000 result items
Rating
0.0
(0)
Developer
Datawharf Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Get SEC EDGAR filings, XBRL financial facts and company profiles for any US-listed company by ticker or CIK. The Actor reads the free official SEC data APIs (data.sec.gov): no API key, no proxies, no HTML scraping. Results come back as clean rows you can export to JSON, CSV or Excel, or pull through the Apify API.
The SEC states that information on sec.gov "is considered public information and may be copied or further distributed by users of the web site without the SEC's permission."
Who is this for?
- Analysts and researchers who need a company's 10-K, 10-Q and 8-K list with direct document links.
- Developers and data teams building a fundamentals table (revenue, net income, assets, EPS) straight from XBRL, without parsing filings by hand.
- Compliance and due-diligence teams who need company profiles (SIC code, state of incorporation, exchanges, former names).
- Anyone tracking filings for a watchlist: schedule the Actor and compare runs.
What you get
| Mode | Returns |
|---|---|
filings | Every filing for each company (10-K, 10-Q, 8-K, Form 4, S-1, DEF 14A and more) with filing date, report date, items, XBRL flags and a direct document link. Filter by form type and date. Newest first. |
companyFacts | XBRL facts, one row per reported data point (revenue, net income, assets, EPS ...) with period, fiscal year, form and accession number. |
company | Company profile: name, tickers, exchanges, SIC code, state of incorporation, addresses, former names. |
Form 4 (insider transaction reports) are returned as filings with links to the documents. The Actor does not parse the transactions inside them.
How to use it (1 minute)
- Click Start. The prefilled input lists the latest 10-K and 10-Q filings for Apple and Microsoft (20 rows).
- Pick a Mode, enter tickers or CIKs (up to 500 per run) and optional form types and dates.
- Open the Overview table, or download JSON, CSV or Excel.
- Optional: add a User-Agent with your contact (the SEC asks automated tools to identify themselves).
Example input: recent annual and current reports
{"mode": "filings","companies": ["AAPL", "MSFT"],"forms": ["10-K", "8-K"],"filedAfter": "2025-01-01","maxResults": 200}
Example input: revenue and net income facts
{"mode": "companyFacts","companies": ["AAPL"],"concepts": ["RevenueFromContractWithCustomerExcludingAssessedTax", "NetIncomeLoss"],"forms": ["10-K"],"maxResults": 500}
Sample output (filings mode)
| type | ticker | companyName | form | filingDate | reportDate | documentUrl |
|---|---|---|---|---|---|---|
| filing | AAPL | Apple Inc. | 10-K | 2026-11-03 | 2026-09-26 | https://www.sec.gov/Archives/edgar/data/320193/000032019326000026/aapl-20260926.htm |
{ "type": "filing", "cik": "0000320193", "ticker": "AAPL", "companyName": "Apple Inc.", "accessionNumber": "0000320193-26-000026","form": "10-K", "filingDate": "2026-11-03", "reportDate": "2026-09-26", "isInlineXBRL": true,"documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000026/aapl-20260926.htm" }
companyFacts rows have these fields: type, cik, ticker, companyName, taxonomy, concept, label, unit, value, periodStart, periodEnd, fiscalYear, fiscalPeriod, form, filed, accessionNumber, frame. Values are exactly as the SEC publishes them.
Pricing
Pay per result: $0.00034 per result row, about $0.34 per 1,000 rows, plus standard Apify platform usage and a tiny per-run start fee.
| What you run | Rows | Approx. result cost |
|---|---|---|
| Latest 20 filings (the prefilled run) | 20 | about $0.007 |
| 10-K and 10-Q lists for 50 companies, 10 rows each | 500 | about $0.17 |
| 1,000 filings or data points | 1,000 | about $0.34 |
One row = one filing, one financial data point or one company profile. A failed or empty run returns no result rows and is not charged per result. Set the maximum charge per run to cap spend.
Why run it on Apify
Schedule runs, call it from the Apify API, send results to Google Sheets, webhooks, Zapier, Make or your own code, and keep each run's dataset and run report.
How Max results is shared between companies
With several companies, Max results is spread fairly. Each company first gets ceil(Max results / number of companies) rows, newest first; for example 3 companies and Max results 15 give up to 5 rows each. A share a company does not use goes to companies that have more rows, so the total never exceeds Max results. Set Max results per company to cap every company (for example 3 filings each).
Fair access and limits
- Follows the SEC fair-access policy: throttles to 5 requests per second per run (the SEC limit of 10 per second applies across all your traffic, so stagger overlapping runs) and sends a User-Agent with a contact (
datawharf-tools datawharf@gmail.comby default). Set your own contact in theuserAgentinput for large or repeated runs. - Retries rate-limit (HTTP 429 or the SEC 403 'Rate Threshold' page), 5xx and timeout responses with exponential backoff, then stops with a clear message. Rows already fetched are kept (the message starts with "PARTIAL RESULT").
- Unknown tickers and CIKs are skipped and listed in the
RUN_REPORTrecord; if none are found the run fails with a message. A company listed twice (ticker and CIK) is returned once. - Filings beyond the newest 1,000 are read from the SEC history files (one extra request per 1,000 filings).
companyFactsdownloads a company's whole facts file (tens of MB for the largest filers) before filtering, so for big companies use a fewconceptsand expect a longer run.- Form filters match exactly:
10-Kdoes not include amendments; add10-K/A(and20-F,40-Ffor foreign filers) explicitly. - In
companyFacts,fiscalYearandfiscalPeriodare the SEC's labels for the filing that reported the point; useperiodStartandperiodEndfor the period the value covers. The same value can repeat because it is reported in several filings. - Concept names are case-sensitive and differ by company (Apple reports
RevenueFromContractWithCustomerExcludingAssessedTax, notRevenues). Concepts a company does not report are listed inRUN_REPORTunderunmatchedConcepts. - Companies are matched by current ticker or CIK only, not by name. Renamed tickers need the CIK (for example FB is CIK 1326801). Companies without a ticker: use the CIK.
companyFactscovers US-GAAP and IFRS XBRL filers only. Full-text search is not included.
FAQ
Do I need an SEC API key? No. The SEC data APIs are free and keyless.
Is the data up to date? Rows reflect what the SEC has published at the time of your run, newest filings first. The Actor does not push filings as they arrive; schedule runs to check regularly.
Is it legal to use and redistribute this data? The SEC says its public information may be copied and further distributed without permission. Do not use the SEC seal or logos and do not imply SEC endorsement. This Actor is not affiliated with or endorsed by the SEC.
Is this investment advice or audited data? No. Data is passed through as published; verify before making decisions.
Why is there a User-Agent input? The SEC asks automated tools to declare who they are.
Can I get the full text of a filing? You get the direct link to each filing document. Full-text search is not included.
Something looks wrong. Open an issue on the Actor page with your input and run ID.