SEC EDGAR Filings & XBRL Financials
Pricing
Pay per event
SEC EDGAR Filings & XBRL Financials
Get SEC 10-K, 10-Q and 8-K filings as Item-level Markdown, plus reported XBRL financials. Look up companies by ticker or CIK. No SEC API key needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
mia.cx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Get a company's risk factors or management discussion without making your agent read the whole annual report. Send tickers or CIKs for SEC 10-K, 10-Q and 8-K Items as Markdown, or reported XBRL financials. Each filing or financial period costs $0.0022, plus $0.00005 per run start at default memory.
Try it
Get risk factors and management discussion from Apple's latest available annual filing:
{"companies": ["AAPL"],"forms": ["10-K"],"sections": ["1A", "7"],"latest": 1}
An empty input {} requests Apple's latest filing across 10-K, 10-Q and 8-K, with all applicable Items.
Data comes from official SEC endpoints. No SEC API key is needed.
Use from an agent
Add https://mcp.apify.com?tools=miacx/sec-edgar-filings-financials to your MCP client and sign in to Apify.
Call the dedicated Actor tool with the input above, then use get-dataset-items to read the completed run's dataset.
Or set APIFY_TOKEN to your Apify API token and call the API, which returns JSON rows:
curl --fail-with-body 'https://api.apify.com/v2/actors/miacx~sec-edgar-filings-financials/run-sync-get-dataset-items' \-H "Authorization: Bearer $APIFY_TOKEN" -H 'Content-Type: application/json' \-d '{"companies":["AAPL"],"forms":["10-K"],"sections":["1A","7"],"latest":1}'
What you get
The dataset contains one row per filing or reported financial period.
Read status first. Requested Items can be null even on ok; use their matching Reason fields.
Ticker and CIK aliases for the same company share work and results within the run.
Every row includes status, input, source, fetchedAt, kind and reason.
Selected fields from the recorded annual-filing fixture are below. The Item text is shortened.
{"status": "ok","input": "AAPL","kind": "filing","company": "Apple Inc.","cik": "0000320193","form": "10-K","filedAt": "2025-10-31","periodOfReport": "2025-09-27","accessionNumber": "0000320193-25-000079","item1A": "## Item 1A\n\nThe following summarizes factors that could have a material adverse effect...","item1AReason": null,"item7": "## Item 7\n\nThe following discussion should be read in conjunction with the consolidated financial statements...","item7Reason": null}
Filing rows also include the ticker, filing index URL and document URL.
Requested Items that cannot be located are null, with a matching Reason field. Unrequested Item fields are absent.
sections: [] returns filing metadata without Item text.
Financial rows contain periodStart, periodOfReport, revenue, net income, EPS, assets, liabilities, cash and shares.
Each metric has companion Unit, Concept and FiledAt fields, such as revenueUnit and revenueConcept.
Missing metrics are null. Read the units before comparing values.
Quarterly, annual and year-to-date durations remain separate reported periods. The Actor does not derive quarters by subtraction or convert currencies. Metrics use the most recently filed matching observation; their filing dates can differ from the period's anchor filing.
Input
| Field | Default | Behavior |
|---|---|---|
companies | ["AAPL"] | Up to five SEC tickers or CIKs. An empty list returns no_results. |
mode | "filings" | filings, financials or both. Financials use reported US GAAP facts. |
forms | ["10-K", "10-Q", "8-K"] | Filter filings by these forms. Financials use 10-K and 10-Q facts independently. |
sections | ["all"] | Return all applicable Items, specific Item IDs, or [] for metadata only. Applies to filings. |
dateFrom | "" | Inclusive lower date bound, YYYY-MM-DD. Empty means no lower bound. |
dateTo | "" | Inclusive upper date bound, YYYY-MM-DD. Empty means no upper bound. |
latest | 1 | Up to 1–5 results per company, per mode. Filings share this cap across all selected forms. |
Dates filter filing dates in filings mode and period-end dates in financials mode.
Annual Item 1A becomes item1A; quarterly part2.1A becomes itempart2_1A; current-report 2.02 becomes item2_02.
Use the Part prefix for quarterly Items, because Part I and Part II can share Item numbers.
To get two reported financial periods:
{"companies": ["AAPL"],"mode": "financials","latest": 2}
Pricing
| Event | Price | Counted unit |
|---|---|---|
| Filing | $0.0022 | One successful filing row, including requested Items when available. Metadata-only rows also count. |
| Financial period | $0.0022 | One returned reported period with its available XBRL metrics. |
| Actor start | $0.00005 | Automatic startup event at the default 256 MB memory setting. |
One thousand filings or financial periods cost $2.20, plus $0.00005 per run start at default memory.
With one company, mode: "both" and latest: 2, up to four result events cost $0.0088.
The startup event adds $0.00005 at default memory.
Missing Items do not make a successful filing free. Error and no-result rows incur no result events. Duplicate company aliases incur no additional result events within a run. Cached results still incur result events. The $0.00005 run start applies even with no billable results at default memory.
Limits and data freshness
This Actor handles 10-K, 10-Q and 8-K filings. It does not retrieve other filing forms. Item extraction uses document headings. Ambiguous headings and image-only content produce null Items with reasons; no OCR runs. Tables become Markdown rows. Original layout and styling are not preserved.
Primary filing HTML is streamed with a 64 MiB transfer ceiling; JSON endpoints have an 8 MiB ceiling. Only requested Items are retained, with limits of 1 Mi-character per Item and 2 Mi-characters per filing. An Item exceeding these output limits is null with a reason. Filing parsing is serialized to bound memory at the Actor's 256 MB setting.
Date-bounded filing requests inspect at most three matching historical submission files per company.
A wider request returns range_too_broad. Some sparse histories can return fewer filings than latest requests.
The ticker directory is cached for 24 hours across Actor runs in the named Apify key-value store. Cached submissions can be reused for five minutes, financial facts for six hours and extracted filing Items for seven days. The original filing HTML is discarded rather than persisted.
fetchedAt marks output production time, including cached output; it does not prove a fresh SEC fetch.
The named store sec-filings-cache-v1 keeps cache records until overwritten or deleted.
If a row fails
| Status | Next step |
|---|---|
invalid_company | Check the ticker or CIK. |
no_results | Check company coverage, forms and dates. Non-US-GAAP financials are unsupported. |
range_too_broad | Narrow the date range. |
upstream_403 | SEC denied the request. The Actor does not bypass access restrictions. |
rate_limited, upstream_429 | Retry later with less concurrent work. |
response_too_large | Read the reason; the source response exceeds the size cap. |
budget_exhausted | Raise the run budget or request fewer results. Further emission stops. |
Read each row's status. A batch can contain successful and failed rows together.
In both mode, financials can succeed even when filing retrieval fails.