SEC EDGAR Filings & XBRL Financials API avatar

SEC EDGAR Filings & XBRL Financials API

Pricing

from $0.30 / 1,000 filings

Go to Apify Store
SEC EDGAR Filings & XBRL Financials API

SEC EDGAR Filings & XBRL Financials API

Official SEC EDGAR data as clean JSON for analysts and AI agents: every filing (10-K, 10-Q, 8-K, Form 4, S-1...) with document links, and XBRL financials (revenue, net income, EPS, assets...) as one value per period. By ticker or CIK, no API key.

Pricing

from $0.30 / 1,000 filings

Rating

0.0

(0)

Developer

Andrew Van De Poel

Andrew Van De Poel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

Get any US public company's SEC filings and reported financials as clean JSON, CSV or Excel: every 10-K, 10-Q, 8-K, Form 4, S-1 and proxy filing with direct document links, plus XBRL numbers like revenue, net income, EPS, assets and cash as a clean time series. Look companies up by ticker or CIK. No API key, no SEC rate-limit handling, no parsing of SEC's columnar JSON. A typical company takes about a second.

Built for analysts, quant and fintech developers, investor-relations and compliance teams, and AI agents that need filings or fundamentals on demand or on a schedule.

What you get

DataWhat it contains
FilingsForm type, filing and report dates, acceptance time, accession number, 8-K item numbers, links to the main document and the filing index, XBRL flags. Newest first, back to 1994
FinancialsXBRL facts from 10-K and 10-Q reports (us-gaap, ifrs-full and dei taxonomies): concept, label, value, unit, period start and end, fiscal year and period, the filing it came from, and SEC's calendar frame (CY2025, CY2025Q2)

Filters:

  • Form types: e.g. 10-K, 10-Q, 8-K, 4, S-1, DEF 14A, 13F-HR
  • Dates: filings filed between two dates; facts whose period ends between them
  • Concepts: any XBRL concept, or leave empty for the headline set (revenue, operating and net income, EPS, assets, liabilities, equity, cash, operating cash flow, shares outstanding)
  • Periods: annual, quarterly, point in time (balance sheet), or other

By default, financials come back as one value per period: the latest figure SEC assigns to that calendar year or quarter, so restatements and prior-year comparatives don't show up as duplicates. Turn on Every reported value to get each figure as reported in every filing.

How to use it

  1. Add tickers (AAPL, BRK.B) or CIK numbers (320193), one per line.
  2. Pick Filings, Financials or both, and optionally form types, dates and concepts.
  3. Click Start. Download results from the Output tab as JSON, CSV, Excel or HTML, or fetch them through the API. The Output tab has separate views for filings and financials.

Input example

{
"companies": ["AAPL", "MSFT", "1067983"],
"dataTypes": ["filings", "financials"],
"formTypes": ["10-K", "10-Q", "8-K"],
"maxFilingsPerCompany": 20,
"concepts": ["RevenueFromContractWithCustomerExcludingAssessedTax", "NetIncomeLoss"],
"factPeriods": ["annual", "quarterly"],
"dateFrom": "2020-01-01"
}

Output

Real output for Apple's latest 10-K and its fiscal 2025 revenue:

[
{
"dataType": "filing",
"cik": "0000320193",
"ticker": "AAPL",
"companyName": "Apple Inc.",
"form": "10-K",
"filingDate": "2025-10-31",
"reportDate": "2025-09-27",
"acceptanceDateTime": "2025-10-31T10:01:26.000Z",
"accessionNumber": "0000320193-25-000079",
"description": "10-K",
"items": [],
"primaryDocument": "aapl-20250927.htm",
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm",
"documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"fileNumber": "001-36743",
"sizeBytes": 9392337,
"isXBRL": true,
"isInlineXBRL": true,
"sourceUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm",
"scrapedAt": "2026-10-25T15:13:50.471Z"
},
{
"dataType": "fact",
"cik": "0000320193",
"ticker": "AAPL",
"companyName": "Apple Inc.",
"taxonomy": "us-gaap",
"concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
"label": "Revenue from Contract with Customer, Excluding Assessed Tax",
"unit": "USD",
"value": 416161000000,
"periodStart": "2024-09-29",
"periodEnd": "2025-09-27",
"periodType": "annual",
"frame": "CY2025",
"fiscalYear": 2025,
"fiscalPeriod": "FY",
"form": "10-K",
"filed": "2025-10-31",
"accessionNumber": "0000320193-25-000079",
"sourceUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000320193",
"scrapedAt": "2026-10-25T15:13:50.471Z"
}
]

A run summary (companies succeeded and failed, the reasons, warnings and charged events) is saved as OUTPUT in the run's key-value store.

Pricing

You pay per filing and per financial fact delivered.

Apify planPer filingPer financial fact1,000 filings1,000 facts
Free$0.001$0.0003$1.00$0.30
Starter (Bronze)$0.0004$0.0001$0.40$0.10
Scale and above$0.0003$0.00008$0.30$0.08
  • Every annual headline number Apple has reported in XBRL (fiscal 2007 onward) is 106 facts, about $0.01 on Starter.
  • No charge for companies that fail or that have nothing matching your filters.
  • No start fee beyond Apify's standard $0.00005 per run.
  • Platform usage is included.
  • Set Max cost per run in the run options, and the Actor stops cleanly when it gets there, delivering exactly what fits.

Why use this instead of…

  • SEC's own API: you get rows instead of columnar arrays, tickers instead of zero-padded CIKs, document links built for you, filings older than the last 1,000 fetched automatically, and duplicate facts removed. Rate limits and SEC's User-Agent rules are handled.
  • Paid fundamentals APIs: the numbers come straight from the companies' own XBRL filings at SEC, with the accession number of the filing each value came from, for a fraction of the price.
  • Your own script: a live test runs against SEC every day, so if SEC changes something, it's caught early.

Use with AI agents (MCP)

This Actor works as a tool through the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can call it directly. Every input field has a plain-English description the agent can read. Typical agent calls:

{ "companies": ["NVDA"], "formTypes": ["8-K"], "maxFilingsPerCompany": 5 }
{ "companies": ["MSFT", "GOOGL"], "dataTypes": ["financials"], "concepts": ["NetIncomeLoss"], "factPeriods": ["annual"], "dateFrom": "2020-01-01" }

Rows are flat and small, and default filters keep results to what was asked, so they fit comfortably in an agent's context. The documentUrl of a filing can be handed to a browsing or document tool to read the filing itself.

You can also call it from code with the Apify API or the apify-client package for JavaScript and Python.

FAQ

Which concept holds revenue? It depends on the company and year. Since 2018 most companies use RevenueFromContractWithCustomerExcludingAssessedTax; others, and older filings, use Revenues. Both are in the default set. Banks and insurers use their own concepts (e.g. InterestAndDividendIncomeOperating); use * once to see everything a company reports.

What is the frame field? SEC aligns each value to a calendar period: CY2025 for a year, CY2025Q2 for a quarter, CY2025Q2I for a point in time. Values that a later filing superseded have no frame and are only returned with Every reported value on.

Why does a fiscal year show a different calendar frame? SEC maps fiscal periods to the closest calendar period. Apple's fiscal year ending September 2025 is CY2025. Use fiscalYear and fiscalPeriod for the company's own labels, and periodStart/periodEnd for exact dates.

Why does a ticker return only recent filings? A ticker points to the entity that's listed today. After a reorganization into a new holding company, the old entity's history stays under its old CIK. For example, XOM now resolves to ExxonMobil Holdings Corp, whose first filing at SEC is from July 2026, while Exxon Mobil Corp's filings back to 1994 are under CIK 34088. A company's EDGAR page lists its former names.

Do foreign companies work? Companies that file with SEC do, including those reporting in IFRS (ifrs-full taxonomy). Companies that only file on paper, and most funds and trusts, have no XBRL financials; their filings still work.

Can I search the full text of filings? Not yet. Open an issue if you need it.

Is this allowed? The data comes from SEC's official public API, which SEC provides for this purpose. The Actor follows SEC's fair-access rules (at most 8 requests per second and a declared User-Agent). You can put your own email in Contact email so SEC can reach you about your usage.

Does the Actor send anything back to the developer? At the end of each run it sends us a small usage record: how many of each billable event the run was charged, the prices it was charged at, your pricing tier, whether your plan is paid, and a one-way hash of your user ID. That's how we see which Actors are worth maintaining, because Apify doesn't share this with developers. Your input, your results and your account details are never sent.

Something broke or looks wrong? Open an issue on the Issues tab. Issues get a response within 48 hours.