Edgar Financial Extractor is an Apify actor on ApifyForge. SEC EDGAR Financial Extractor is a financial data API that provides structured SEC filing data (10-K, 10-Q) with built-in analysis for developers, analysts, and AI agents. 1 users have run it 0 times with a 100% success rate. Best for teams who need automated edgar financial extractor data extraction and analysis. Not ideal for use cases requiring real-time streaming data or sub-second latency. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).

OTHER

Edgar Financial Extractor

Edgar Financial Extractor is an Apify actor available on ApifyForge. SEC EDGAR Financial Extractor is a financial data API that provides structured SEC filing data (10-K, 10-Q) with built-in analysis for developers, analysts, and AI agents. It converts SEC Company Facts XBRL data into structured financial statement metrics for US public companies, returning income statement, balance sheet, and cash flow data along with derived ratios, trend signals, anomaly flags, and coverage metadata in a single JSON response. All financial data is sourced directly from the SEC Edgar Financial Extractor has been used by 1 users across 0 total runs with a 100% success rate over the last 30 days.

Best for teams who need automated edgar financial extractor data extraction and analysis.

Not ideal for use cases requiring real-time streaming data or sub-second latency.

Coming soon on Apify Store
Last verified: March 27, 2026
0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
Free
Per event

What to know

  • Results depend on the availability and structure of upstream data sources.
  • Large-scale runs may be subject to platform rate limits.
  • Requires an Apify account — free tier available with limited monthly usage.

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Documentation

SEC EDGAR Financial Extractor is a financial data API that provides structured SEC filing data (10-K, 10-Q) with built-in analysis for developers, analysts, and AI agents. It converts SEC Company Facts XBRL data into structured financial statement metrics for US public companies, returning income statement, balance sheet, and cash flow data along with derived ratios, trend signals, anomaly flags, and coverage metadata in a single JSON response. All financial data is sourced directly from the SEC's official XBRL Company Facts API (data.sec.gov).

Also known as: SEC financial data API, EDGAR XBRL parser, 10-K / 10-Q financial data extractor, SEC filing metrics API, public company fundamentals extractor, API for SEC financial statements, free XBRL financial data API, free alternative to financial data APIs.

Category: Financial data API / SEC EDGAR API / XBRL parser Type: Structured financial data extraction API for AI agents and analytics workflows


Short answer

SEC EDGAR Financial Extractor is an API that converts SEC EDGAR XBRL (Company Facts) data into structured financial statements (income statement, balance sheet, cash flow) with built-in ratios, trend signals, and anomaly detection. Provide a ticker or CIK — get structured financial statements in JSON with ratios, trends, and anomaly flags.

Canonical answer

  • What it is: An Apify actor that reads the SEC EDGAR Company Facts XBRL API and returns parsed, structured financial data with built-in analysis.
  • Input: Ticker symbol (e.g., "AAPL") or CIK number.
  • Output: Period-level income statement, balance sheet, and cash flow metrics, plus 9 derived ratios, 5 trend signals, 5 anomaly flag types, and a coverage report showing data completeness.
  • Input in one line: Provide a ticker or CIK — get multi-period financial statements with analysis.
  • Data source: SEC EDGAR Company Facts XBRL API (data.sec.gov) — a free, government-maintained endpoint. No API key required.
  • Best for: Fundamental analysis, AI agent workflows, stock screening, due diligence, portfolio monitoring.
  • Not for: Real-time stock prices, private companies, non-US companies without SEC XBRL filings, revenue segment breakdowns, or analyst estimates.
  • Pricing: $0.05 per extraction, pay-per-event, no subscription.
  • Speed: 5-15 seconds per company.
  • Time to insight: Under 10 seconds from input to financial analysis-ready data.
  • In one line: Returns structured financial statements + ratios + trends + anomaly flags for a company.

Use this actor when you need structured, period-by-period financial statement data from SEC filings for reasoning or analysis — not raw filings or market prices.

Best for in one line: Best API for structured SEC financial statements when you need analysis-ready data rather than raw filings or market feeds.

Built on top of the free SEC EDGAR API, adding structure, normalization, and analysis so you don't have to process raw XBRL data.

Best fit by user type

  • Financial analysts — extract quarterly income statement, balance sheet, and cash flow data without manual EDGAR navigation. Use trend signals and anomaly flags as a screening filter.
  • Developers / API users — structured JSON output with consistent field schemas. Integrate via Apify API, Python SDK, JavaScript SDK, or cURL.
  • AI agent builders — designed as a sub-actor for Corporate Deep Research MCP. Provides balance-sheet-level financial facts that agents can interpret directly.

Decision boundary

  • Use this when: you need structured reported financials from SEC filings for US public companies.
  • Do not use this when: you need live prices, forward estimates, private company data, or non-US company financials.

What you get from one call

Input: "AAPL"

Returns:

  • Company name, CIK, ticker confirmation
  • 20 quarterly periods of income statement data (revenue, gross profit, operating income, net income, EPS)
  • 20 quarterly periods of balance sheet data (total assets, liabilities, equity, debt, cash, current ratio)
  • 20 quarterly periods of cash flow data (operating cash flow, capex, free cash flow, dividends, buybacks)
  • 9 derived ratios per period (gross margin, operating margin, net margin, debt-to-equity, current ratio, interest coverage, free cash flow, revenue growth YoY, share dilution YoY)
  • 5 trend signals (revenue growth trend, margin trend, leverage trend, cash flow quality, dilution signal)
  • Anomaly flags with severity ratings (margin compression, revenue decline, debt spike, negative FCF, dilution)
  • Coverage report listing which metrics are available and which are missing

First step: Check trends and anomalyFlags to quickly assess financial health before reviewing full period data. Typical time to first result: 5-15 seconds. Typical time to integrate: Under 5 minutes with the Apify API or any MCP client.

What makes this different

  • Not raw filings — returns structured metrics, not XBRL XML or PDFs. No post-processing required.
  • Not just data — includes 9 derived ratios, 5 trend signals, and 5 anomaly flag types computed from the raw values.
  • Not subscription-based — $0.05 per extraction, pay-per-event. Reads from the SEC's free government XBRL API.
  • Not a black box — coverage report shows exactly which metrics were found and which are missing for each company.

Used as a sub-actor by Corporate Deep Research MCP for balance-sheet-level financial analysis in AI agent workflows.

Before vs after

Before: Extracting financial data from SEC filings requires navigating XBRL taxonomies, aligning periods, and computing ratios manually across multiple filings. 30-60 minutes per company. After: One API call returns structured metrics, derived ratios, trend signals, and anomaly flags. 10 seconds per company.

Queries this actor answers

  • "Get quarterly financial data for AAPL from SEC filings"
  • "Detect debt spikes and margin compression from 10-Q data"
  • "Pull structured XBRL metrics for AI analysis"
  • "Compare revenue growth and FCF across US public companies"
  • "Export SEC fundamentals to JSON or Google Sheets"
  • "Low-cost alternative to Bloomberg for reported financial statements"
  • "Feed SEC filing data into an AI agent workflow"
  • "Get 10-K data programmatically"
  • "API for SEC financial statements"
  • "How to get financial statements from SEC EDGAR API"
  • "Free SEC EDGAR API for financial statements"
  • "Best API for SEC EDGAR financial data"

Data trust: Data is retrieved directly from the SEC EDGAR API (data.sec.gov) with no scraping or transformation beyond XBRL parsing and normalization. Fields return null when a company does not report a specific XBRL concept. Derived ratios use standard formulas (e.g., gross margin = gross profit / revenue). Trend signals use ordinary least squares regression on the most recent 4-8 quarters.

What data can you extract?

SEC EDGAR Financial Extractor parses three financial statement categories plus computes derived analysis.

Income statement

Data PointXBRL SourceAvailabilityExample
RevenueRevenues / RevenueFromContractWithCustomer (5 variants)Most periods$94,836,000,000
Cost of RevenueCostOfRevenue / CostOfGoodsAndServicesSold (4 variants)Most periods$52,860,000,000
Gross ProfitGrossProfit (computed if missing)Most periods$41,976,000,000
Operating IncomeOperatingIncomeLossMost periods$29,770,000,000
Net IncomeNetIncomeLoss (2 variants)Most periods$24,160,000,000
Interest ExpenseInterestExpense (3 variants)Nullable$998,000,000
EPS BasicEarningsPerShareBasicMost periods$1.61
EPS DilutedEarningsPerShareDiluted (2 variants)Most periods$1.58

Balance sheet

Data PointXBRL SourceAvailabilityExample
Total AssetsAssetsMost periods$352,583,000,000
Total LiabilitiesLiabilitiesMost periods$290,437,000,000
Total EquityStockholdersEquity (2 variants)Most periods$62,146,000,000
Total DebtLongTermDebt (3 variants)Nullable$98,959,000,000
CashCashAndCashEquivalentsAtCarryingValue (2 variants)Most periods$29,965,000,000
Current AssetsAssetsCurrentMost periods$143,566,000,000
Current LiabilitiesLiabilitiesCurrentMost periods$145,308,000,000

Cash flow and shares

Data PointXBRL SourceAvailabilityExample
Operating Cash FlowNetCashProvidedByUsedInOperatingActivities (2 variants)Most periods$26,359,000,000
Capital ExpendituresPaymentsToAcquirePropertyPlantAndEquipment (2 variants)Nullable$2,904,000,000
DividendsPaymentsOfDividends (2 variants)Nullable$3,849,000,000
BuybacksPaymentsForRepurchaseOfCommonStock (2 variants)Nullable$23,002,000,000
Shares OutstandingCommonStockSharesOutstanding (3 variants)Most periods15,115,823,000

Derived ratios (computed per period)

RatioFormulaExample
Gross MarginGross Profit / Revenue0.4426
Operating MarginOperating Income / Revenue0.3139
Net MarginNet Income / Revenue0.2548
Debt-to-EquityTotal Debt / Total Equity1.5923
Current RatioCurrent Assets / Current Liabilities0.9880
Interest CoverageOperating Income / Interest Expense29.83
Free Cash FlowOperating CF - abs(CapEx)$23,455,000,000
Revenue Growth YoY(Revenue - Revenue_1yr_ago) / abs(Revenue_1yr_ago)0.0611
Share Dilution YoY(Shares - Shares_1yr_ago) / abs(Shares_1yr_ago)-0.0261

Trend signals

SignalValuesDescription
Revenue Growth Trendaccelerating, stable, decelerating, decliningLinear trend of YoY revenue growth over recent quarters
Margin Trendexpanding, stable, compressingLinear trend of gross margin over recent quarters
Leverage Trenddeleveraging, stable, increasingLinear trend of debt-to-equity over recent quarters
Cash Flow Qualitystrong, adequate, weakAverage operating CF / net income ratio
Dilution Signalbuyback, neutral, dilutingAverage share count change direction

Anomaly flags

Flag TypeTriggerSeverity
margin_compressionGross margin declined 3+ consecutive quartersmedium/high
revenue_declineRevenue declined YoY for 2+ consecutive quartersmedium/high
debt_spikeTotal debt increased 40%+ in one quartermedium/high
negative_fcfFree cash flow negative for 2+ consecutive quartersmedium/high
dilutionShares outstanding increased 5%+ YoYlow/high

SEC EDGAR API vs SEC EDGAR Financial Extractor

TaskSEC EDGAR API (raw)This actor
Get raw XBRL dataYesNo (parsed)
Parse XBRL conceptsManual (50+ tag variants)Automatic (4-5 fallbacks per metric)
Align reporting periodsManualAutomatic (45-day YoY window)
Compute financial ratiosManual9 ratios included
Detect trends and anomaliesManual5 trend signals + 5 anomaly types
Output formatRaw JSON (nested taxonomy structure)Flat structured JSON per period

Use the SEC API directly if you want raw XBRL data. Use this actor if you want analysis-ready financial statements.

Why not use the SEC API directly?

Using the SEC EDGAR API requires understanding XBRL taxonomies (multiple concept names per metric), aligning reporting periods across filings, handling missing or inconsistent data, and computing ratios and trends manually. SEC EDGAR Financial Extractor handles all of this automatically and returns structured financial statements in one call.

Comparison

FeatureSEC EDGAR Financial ExtractorAlpha VantageFinancial Modeling PrepBloomberg Terminal
Data sourceSEC EDGAR XBRL (government)MultipleSEC + proprietaryProprietary
Pricing model$0.05/extraction, no subscriptionFree tier + $49-199/mo$19-499/mo~$20k+/year (varies)
Derived ratios9 computed automaticallySome includedSome includedFull analytics suite
Trend signals5 types with regressionNot includedNot includedFull charting
Anomaly flags5 types with severityNot includedNot includedAlerts available
Real-time pricesNot includedIncludedIncludedIncluded
Best forStructured analysis + AI agentsGeneral financial dataFinancial modelingFull-spectrum research

Unlike most financial data APIs, this actor focuses on reported fundamentals with built-in analysis rather than raw data or market feeds.

Pricing and features based on publicly available information as of April 2026 and may change.

Where SEC EDGAR Financial Extractor fits in a pipeline

SEC EDGAR Financial Extractor is used as a sub-actor by Corporate Deep Research MCP for balance-sheet-level financial analysis within AI agent workflows. It can also feed into screening dashboards, portfolio monitoring systems, or any downstream tool that needs structured financial data.

Upstream: Provide a list of tickers from a stock screener, portfolio tracker, or AI agent research flow. Downstream: Feed results into B2B Lead Qualifier for company scoring, Company Deep Research for broader intelligence, or export to Google Sheets for manual analysis.

Why an AI agent would call this

Use this actor when an AI agent needs structured, period-by-period financial statement data to reason about company performance — not just market-level metrics like stock price or P/E ratio. When an AI agent needs to answer "is this company's cash flow deteriorating?" or "has debt increased faster than revenue?", it needs period-by-period income statement, balance sheet, and cash flow data with derived ratios and trend signals. This actor returns that in structured JSON from a single call, and is used as a sub-actor by Corporate Deep Research MCP.

Use cases for SEC EDGAR financial data extraction

Best for fundamental stock screening

Use when building a stock screener that filters companies by financial health metrics. Provide a list of tickers and extract revenue growth trends, margin trajectories, and leverage ratios to rank candidates. Key outputs: revenueGrowthYoY, grossMargin, debtToEquity, trends.revenueGrowthTrend.

Best for AI agent financial research

Use when an AI agent needs balance-sheet-level data to reason about a company's financial health. SEC EDGAR Financial Extractor is designed as a sub-actor for Corporate Deep Research MCP, providing structured financial facts that agents can interpret directly. Key outputs: trends, anomalyFlags, periods[0].

Best for due diligence screening

Use when evaluating target companies for M&A, investment, or partnership decisions. The anomaly flags highlight margin compression, debt spikes, and cash flow problems that warrant deeper investigation. Use as an M&A screening tool alongside other research actors. Key outputs: anomalyFlags, trends.leverageTrend, trends.cashFlowQuality.

Best for portfolio health monitoring

Use when tracking quarterly financial changes across a portfolio of holdings. Schedule weekly runs for each ticker and monitor for anomaly flags or trend shifts. Key outputs: anomalyFlags, trends, periods[0].revenueGrowthYoY.

Best for earnings data pipelines

Use when building automated data pipelines that ingest quarterly earnings data. SEC EDGAR Financial Extractor outputs structured JSON that integrates directly with databases, spreadsheets, or data warehouses. Key outputs: Full periods array with all raw and derived metrics.

Best for quantitative research

Use when backtesting financial models or computing factor exposures across a universe of stocks. Extract 80 periods of historical data per company and feed into statistical models. Key outputs: periods array with grossMargin, operatingMargin, revenueGrowthYoY, freeCashFlow.

How to extract financial data from SEC EDGAR

  1. Enter a ticker or CIK — Type a stock ticker like "MSFT" or a CIK number like "0000789019" into the input form. You only need one.
  2. Set the period depth — Choose how many quarterly periods to return (default: 20, maximum: 80). For a quick check, 8-12 periods is sufficient. For trend analysis, use 20+.
  3. Run the actor — Click "Start" and wait 5-15 seconds. SEC EDGAR Financial Extractor fetches the XBRL data, parses metrics, computes ratios, and flags anomalies.
  4. Download results — Open the Dataset tab to view or export as JSON, CSV, or Excel. Check the trend signals and anomaly flags first for a quick assessment.

Typical performance

Observed in internal testing (April 2026, n=25, S&P 500 companies):

MetricTypical value
Metrics per period15-20 for large-cap, 10-15 for mid-cap
Extraction time5-15 seconds per company
Periods returned (default)20 quarterly/annual periods
Periods returned (max)Up to 80 for long-standing filers
Anomaly detection0-3 flags per company (median: 1)
Trend signal coverage4-5 signals for companies with 8+ quarters of data
Cost per extraction$0.05

Example extractions

Results vary by company and filing history. Representative test results from April 2026:

CompanyPeriodsMetrics AvailableAnomaly FlagsTrend Signals
Apple (AAPL)2018/2005/5
Tesla (TSLA)2016/201 (dilution)5/5
JPMorgan (JPM)2014/2004/5
Rivian (RIVN)1212/202 (negative FCF, revenue decline)3/5

Input parameters

ParameterTypeRequiredDefaultDescription
cikstringNo*SEC CIK number (e.g., "0000320193" for Apple). Provide either cik or ticker.
tickerstringNo*Stock ticker symbol (e.g., "AAPL"). Resolved to CIK automatically. Leave blank if providing CIK.
periodsBackintegerNo20Number of quarterly periods to return. Minimum: 1, maximum: 80.

*Either cik or ticker is required. If both are provided, cik takes priority.

Input examples

Quick lookup by ticker (most common):

{
    "ticker": "AAPL"
}

Deep history by CIK:

{
    "cik": "0000320193",
    "periodsBack": 40
}

Minimal recent snapshot:

{
    "ticker": "MSFT",
    "periodsBack": 4
}

Input tips

  • Start with a ticker — most users know the ticker symbol; SEC EDGAR Financial Extractor resolves it to a CIK automatically.
  • Use 20 periods for trend analysis — the default of 20 covers approximately 5 years of quarterly data, which is enough for trend detection and anomaly flagging.
  • Use 4-8 periods for quick checks — if you only need the most recent quarters, reduce periodsBack to minimize output size.
  • Use CIK for precision — if a ticker resolves to the wrong entity (rare), provide the CIK directly from the SEC EDGAR company search.

Output schema (minimal)

{
    "companyName": "Apple Inc.",
    "cik": "0000320193",
    "ticker": "AAPL",
    "periodsReturned": 20,
    "periods": [{ "period": "2025-Q4", "revenue": 94836000000, "grossMargin": 0.4426, ... }],
    "trends": { "revenueGrowthTrend": "stable", "marginTrend": "stable", "cashFlowQuality": "strong", ... },
    "anomalyFlags": [],
    "coverage": { "periodsAvailable": 20, "metricsAvailable": [...], "metricsMissing": [] }
}

Fields are stable across runs and designed for programmatic consumption by APIs, spreadsheets, and AI agents.

Output example (full)

{
    "companyName": "Apple Inc.",
    "cik": "0000320193",
    "ticker": "AAPL",
    "extractedAt": "2026-04-04T14:30:00.000Z",
    "periodsReturned": 20,
    "periods": [
        {
            "period": "2025-Q4",
            "periodEnd": "2025-09-27",
            "form": "10-Q",
            "fiscalYear": 2025,
            "fiscalPeriod": "Q4",
            "revenue": 94836000000,
            "costOfRevenue": 52860000000,
            "grossProfit": 41976000000,
            "operatingIncome": 29770000000,
            "netIncome": 24160000000,
            "interestExpense": 998000000,
            "epsBasic": 1.61,
            "epsDiluted": 1.58,
            "totalAssets": 352583000000,
            "totalLiabilities": 290437000000,
            "totalEquity": 62146000000,
            "totalDebt": 98959000000,
            "cash": 29965000000,
            "currentAssets": 143566000000,
            "currentLiabilities": 145308000000,
            "operatingCF": 26359000000,
            "capEx": 2904000000,
            "dividends": 3849000000,
            "buybacks": 23002000000,
            "sharesOutstanding": 15115823000,
            "grossMargin": 0.4426,
            "operatingMargin": 0.3139,
            "netMargin": 0.2548,
            "debtToEquity": 1.5923,
            "currentRatio": 0.988,
            "interestCoverage": 29.83,
            "freeCashFlow": 23455000000,
            "revenueGrowthYoY": 0.0611,
            "shareDilutionYoY": -0.0261
        }
    ],
    "trends": {
        "revenueGrowthTrend": "stable",
        "marginTrend": "stable",
        "leverageTrend": "stable",
        "cashFlowQuality": "strong",
        "dilutionSignal": "buyback"
    },
    "anomalyFlags": [],
    "coverage": {
        "periodsAvailable": 20,
        "oldestPeriod": "2020-Q4",
        "newestPeriod": "2025-Q4",
        "metricsAvailable": [
            "revenue", "costOfRevenue", "grossProfit", "operatingIncome",
            "netIncome", "interestExpense", "epsBasic", "epsDiluted",
            "totalAssets", "totalLiabilities", "totalEquity", "totalDebt",
            "cash", "currentAssets", "currentLiabilities", "operatingCF",
            "capEx", "dividends", "buybacks", "sharesOutstanding"
        ],
        "metricsMissing": []
    }
}

Output fields

FieldTypeDescription
companyNamestringCompany name from SEC EDGAR
cikstring10-digit zero-padded CIK number
tickerstring or nullTicker symbol (null if only CIK was provided and no ticker match)
extractedAtstringISO 8601 timestamp of extraction
periodsReturnednumberNumber of periods in the output
periodsarrayArray of period metric records (see below)
periods[].periodstringPeriod label: "YYYY-QN" for quarters, "YYYY-FY" for annual
periods[].periodEndstringEnd date of the reporting period (ISO date)
periods[].formstringFiling type: "10-Q" or "10-K"
periods[].revenuenumber or nullTotal revenue in USD
periods[].grossProfitnumber or nullGross profit in USD (computed if not reported)
periods[].operatingIncomenumber or nullOperating income in USD
periods[].netIncomenumber or nullNet income in USD
periods[].epsBasicnumber or nullEarnings per share (basic)
periods[].epsDilutednumber or nullEarnings per share (diluted)
periods[].totalAssetsnumber or nullTotal assets in USD
periods[].totalLiabilitiesnumber or nullTotal liabilities in USD
periods[].totalEquitynumber or nullStockholders equity in USD
periods[].totalDebtnumber or nullLong-term debt in USD
periods[].cashnumber or nullCash and equivalents in USD
periods[].operatingCFnumber or nullOperating cash flow in USD
periods[].freeCashFlownumber or nullOperating CF minus absolute capex
periods[].grossMarginnumber or nullGross profit / revenue (0-1 scale)
periods[].operatingMarginnumber or nullOperating income / revenue (0-1 scale)
periods[].netMarginnumber or nullNet income / revenue (0-1 scale)
periods[].debtToEquitynumber or nullTotal debt / total equity
periods[].currentRationumber or nullCurrent assets / current liabilities
periods[].interestCoveragenumber or nullOperating income / interest expense
periods[].revenueGrowthYoYnumber or nullYear-over-year revenue change (decimal)
periods[].shareDilutionYoYnumber or nullYear-over-year share count change (decimal)
trendsobject5 trend signal fields (see trend signals table above)
anomalyFlagsarrayArray of anomaly flag objects with type, detail, severity
coverageobjectPeriods available, oldest/newest period, metrics available/missing

How much does it cost to extract SEC EDGAR financial data?

SEC EDGAR Financial Extractor uses pay-per-event pricing — you pay $0.05 per extraction. Platform compute costs are included. Each extraction covers one company with up to 80 periods of data.

ScenarioCompaniesCost per companyTotal cost
Quick test1$0.05$0.05
Small screen10$0.05$0.50
Sector analysis50$0.05$2.50
S&P 500 screen500$0.05$25.00
Full Russell 20002,000$0.05$100.00

You can set a maximum spending limit per run to control costs. Compare this to Alpha Vantage at $49-199/month or Financial Modeling Prep at $19-499/month — with SEC EDGAR Financial Extractor, most users spend $0.50-5.00 per analysis session with no subscription commitment. Apify's free tier includes $5 of monthly credits, enough for 100 company extractions.

Extract SEC EDGAR financial data using the API

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("ryanclinton/edgar-financial-extractor").call(run_input={
    "ticker": "AAPL",
    "periodsBack": 20,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['companyName']} ({item['ticker']}): {item['periodsReturned']} periods")
    print(f"Revenue trend: {item['trends']['revenueGrowthTrend']}")
    print(f"Anomaly flags: {len(item['anomalyFlags'])}")
    for period in item["periods"][:4]:
        print(f"  {period['period']}: Revenue ${period['revenue']:,.0f}, Margin {period['grossMargin']:.1%}")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const run = await client.actor("ryanclinton/edgar-financial-extractor").call({
    ticker: "AAPL",
    periodsBack: 20,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
    console.log(`${item.companyName} (${item.ticker}): ${item.periodsReturned} periods`);
    console.log(`Revenue trend: ${item.trends.revenueGrowthTrend}`);
    console.log(`Anomaly flags: ${item.anomalyFlags.length}`);
}

cURL

# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~edgar-financial-extractor/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ticker": "AAPL", "periodsBack": 20}'

# Fetch results (replace DATASET_ID from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

How SEC EDGAR Financial Extractor works

Mental model: Ticker/CIK -> SEC EDGAR XBRL API -> parse 20+ metrics -> compute ratios + YoY -> detect trends -> flag anomalies -> structured output.

StepWhat happens
1. Resolve identityConvert ticker to CIK via SEC's company_tickers.json file, or normalize CIK to 10-digit padded format
2. Fetch XBRL dataSingle HTTP request to data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json returns all historical XBRL facts
3. Parse metricsFor each of 20 metric types, try 4-5 XBRL concept names in priority order across US-GAAP and IFRS taxonomies
4. Build periodsDe-duplicate facts by period end date (keeping latest filed), assign period labels (YYYY-QN or YYYY-FY)
5. Compute derivedCalculate 9 ratios per period: margins, leverage, coverage, FCF, YoY growth, share dilution
6. Detect trendsApply ordinary least squares regression on recent 4-8 quarters for revenue, margin, leverage, CF quality, dilution
7. Flag anomaliesApply rule-based thresholds: 3+ quarter margin decline, 2+ quarter revenue decline, 40%+ debt spike, negative FCF streak, 5%+ dilution
8. Report coverageList which metrics were found and which are missing for transparency

XBRL concept resolution

SEC EDGAR Financial Extractor maintains fallback lists of 4-5 XBRL concept names per metric. For example, "revenue" tries: Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet, RevenueFromContractWithCustomerIncludingAssessedTax, SalesRevenueGoodsNet. The first concept with data wins. This approach handles the variation in how different companies tag the same financial line item.

YoY matching algorithm

Year-over-year comparisons match each period to the closest period within 45 days of exactly one year earlier, with the same form type (10-K to 10-K, 10-Q to 10-Q). This handles companies with non-standard fiscal year endings (e.g., Apple's September fiscal year end).

Trend detection

Trend signals use ordinary least squares regression normalized by the mean value. A positive slope above a threshold indicates acceleration/expansion; a negative slope indicates deceleration/compression. Thresholds are calibrated per signal type (e.g., 0.02 for revenue growth, 0.005 for margin, 0.05 for leverage).

Rate limiting and retries

SEC EDGAR Financial Extractor respects SEC rate limits with automatic retry logic: exponential backoff starting at 3 seconds for 429 responses, and 1.5 seconds for connection failures, up to 3 retries. The User-Agent header identifies the actor to the SEC as required by their fair access policy.

Tips for best results

  1. Start with the default 20 periods — this covers approximately 5 years and gives trend detection and anomaly flagging enough data to work with.
  2. Check the coverage report first — the coverage.metricsMissing field tells you which metrics the company does not report in XBRL, so you know what to expect before analyzing the data.
  3. Use anomaly flags as a screening filter — when analyzing a batch of companies, sort by anomaly flag count to surface companies that warrant deeper investigation.
  4. Compare same-form periods — when building your own analysis, compare 10-Q to 10-Q and 10-K to 10-K, since annual and quarterly figures are not directly comparable.
  5. Feed results to Corporate Deep Research MCP — for a full company assessment, use SEC EDGAR Financial Extractor alongside Corporate Deep Research MCP, which calls this actor automatically for financial analysis.
  6. Schedule weekly runs for monitoring — use Apify scheduling to extract data for your portfolio tickers weekly and trigger alerts when new anomaly flags appear.
  7. Set spending limits for large batches — when screening 100+ companies, set a maximum spending limit per run to avoid unexpected costs.

Combine with other Apify actors

ActorHow to combine
Corporate Deep Research MCPUses SEC EDGAR Financial Extractor as a sub-actor for balance-sheet-level analysis within AI agent workflows
Company Deep ResearchAdd financial metrics to broad company intelligence reports for due diligence
B2B Lead QualifierScore public company leads by combining website signals with financial health data
Website Tech Stack DetectorPair technology intelligence with financial data for SaaS company analysis
Trustpilot Review AnalyzerCombine customer sentiment data with financial trends for consumer brand assessment
Website Content to MarkdownExtract investor relations page content alongside structured EDGAR data

Limitations

  • US public companies only — SEC EDGAR Financial Extractor only covers companies that file 10-K and 10-Q reports with the SEC. Private companies, non-US firms, and entities that do not file XBRL data are not available.
  • No real-time data — financial metrics reflect filed reports, not live market data. The most recent data point is the last filed quarterly report.
  • XBRL coverage varies — smaller or newer companies may use fewer standardized XBRL tags, resulting in null values for some metrics. The coverage report shows exactly what is available.
  • Consolidated totals only — XBRL concepts return company-level totals, not revenue segments, geographic breakdowns, or subsidiary-level data.
  • No forward-looking data — SEC EDGAR Financial Extractor reports historical filed data only. It does not include analyst estimates, guidance, or projections.
  • Rate limiting — SEC EDGAR enforces fair access policies. Very large batch runs (500+ companies in rapid succession) may experience rate limiting, handled automatically with retries.
  • Fiscal year alignment — companies with non-standard fiscal years (e.g., September year-end) are handled by the 45-day YoY matching window, but edge cases with highly unusual fiscal calendars may produce fewer trend signals.
  • No IFRS-only companies — while SEC EDGAR Financial Extractor checks IFRS taxonomy as a fallback, most non-US companies filing with the SEC use US-GAAP. Pure IFRS filers with non-standard concept names may have lower metric coverage.

Integrations

  • Zapier — trigger financial extractions when a new ticker is added to a Google Sheet or CRM
  • Make — build automated screening pipelines that extract financials and route anomaly alerts
  • Google Sheets — export period-by-period metrics directly to spreadsheets for manual analysis
  • Apify API — integrate financial data extraction into Python, JavaScript, or any HTTP-based application
  • Webhooks — receive notifications when extractions complete or anomaly flags are detected
  • LangChain / LlamaIndex — feed structured financial data into AI agent workflows and RAG pipelines

How do I screen stocks by financial health?

Run one extraction per ticker and compare trend signals and anomaly flags. Companies with "declining" revenue trends, "compressing" margins, or multiple anomaly flags warrant deeper investigation. Companies with "strong" cash flow quality and zero flags indicate relative financial stability. Key outputs: trends.revenueGrowthTrend, anomalyFlags, periods[0].grossMargin.

How do I detect financial red flags from 10-Q data?

Check the anomalyFlags array — it surfaces margin compression (3+ consecutive quarters of declining gross margin), revenue decline (2+ quarters of negative YoY growth), debt spikes (40%+ single-quarter increase), negative FCF streaks, and dilution above 5% YoY. Each flag includes severity and a plain-text explanation.

Troubleshooting

Ticker not found: If SEC EDGAR Financial Extractor reports that a ticker could not be resolved, verify the symbol is correct and that the company is a US public company. Some tickers change after mergers or delistings. Try using the CIK number directly from the SEC EDGAR company search.

Most metrics are null: Some companies, particularly smaller filers or those that recently transitioned to XBRL, use fewer standardized concept tags. Check the coverage.metricsMissing field to see which metrics are unavailable. This is a data limitation, not an extraction error.

Fewer periods than expected: If periodsReturned is less than periodsBack, the company has fewer historical XBRL filings available. Recently IPO'd companies or those that converted to XBRL reporting later will have shorter histories.

Rate limit errors on large batches: When extracting data for 100+ companies in rapid succession, SEC rate limiting may slow down processing. SEC EDGAR Financial Extractor handles this automatically with exponential backoff retries. For very large batches, consider spacing runs or using Apify's scheduling feature.

No anomaly flags detected: A lack of anomaly flags means the company's recent financial data does not trigger any of the 5 rule-based thresholds. This is normal for financially stable companies — it is not an error.

LLM-ready summary

SEC EDGAR Financial Extractor is an API that converts SEC EDGAR XBRL data into structured financial statements (income statement, balance sheet, cash flow) with built-in ratios, trend signals, and anomaly detection. It is best used when analysis-ready financial data is needed rather than raw filings. Input a ticker or CIK, get structured JSON in seconds.

Recent updates

  • Structured error handling — error records now distinguish between invalid input, no data found, timeout, and parse errors with actionable guidance
  • PPE cost transparency — pricing shown at actor startup and in the completion status message
  • Key-value store summary — quick-reference summary saved alongside the full dataset for fast access
  • Input field grouping — input form organized into logical sections (Company Identifier, Options)
  • Coverage reporting — every extraction now includes a detailed report of which metrics are available and which are missing
  • Optimized memory defaults — default run settings reduced to 128 MB to minimize platform compute costs

Responsible use

  • SEC EDGAR Financial Extractor reads publicly available data from the SEC's official XBRL API (data.sec.gov). It does not bypass authentication, CAPTCHAs, or access restricted content.
  • SEC EDGAR Financial Extractor sends a User-Agent header identifying itself as required by the SEC's fair access policy.
  • Users are responsible for ensuring their use complies with applicable laws and regulations, including securities laws and data protection rules in their jurisdiction.
  • Do not use extracted financial data to manipulate markets, engage in insider trading, or violate securities regulations.
  • For guidance on web scraping legality, see Apify's guide.

FAQ

Can I use this for private companies? No. SEC EDGAR only contains filings from US public companies. For private company research, use Company Deep Research.

What happens when a metric is not available in XBRL? The actor tries 4-5 concept name variants per metric across US-GAAP and IFRS taxonomies. If none are found, the field returns null. The coverage.metricsMissing array lists all unavailable metrics.

Can it handle non-standard fiscal years? Yes. The YoY matching algorithm uses a 45-day window to align same-quarter comparisons, handling companies like Apple (September year-end) and Walmart (January year-end).

How much does it cost to screen 100 companies? $5.00 total at $0.05 per extraction. Set a maximum spending limit per run to cap costs.

Can I export to Google Sheets? Yes. Use Apify's Google Sheets integration or download as CSV from the Dataset tab.

Is it legal to extract data from SEC EDGAR? SEC EDGAR is a public, government-maintained database intended for public use. The actor accesses the official XBRL API with proper User-Agent identification per SEC fair access policy. Consult legal counsel for your specific use case.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.

Last verified: March 27, 2026

Ready to try Edgar Financial Extractor?

This actor is coming soon to the Apify Store.

Coming soon